Commit Graph

500 Commits

Author SHA1 Message Date
Philip Kuryloski 15a79466b1 Use the new xref2 macro from rules_erlang
That adopts the modern erlang.mk xref behaviour
2022-06-09 23:18:28 +02:00
Philip Kuryloski 327f075d57 Make rabbitmq-server work with rules_erlang 3
Also rework elixir dependency handling, so we no longer rely on mix to
fetch the rabbitmq_cli deps

Also:

- Specify ra version with a commit rather than a branch
- Fixup compilation options for erlang 23
- Add missing ra reference in MODULE.bazel
- Add missing flag in oci.yaml
- Reduce bazel rbe jobs to try to save memory
- Use bazel built erlang for erlang git master tests
- Use the same cache for all the workflows but windows
- Avoid using `mix local.hex --force` in elixir rules
  - Fetching seems blocked in CI, and this should reduce hex api usage in
    all builds, which is always nice
- Remove xref and dialyze tags since rules_erlang 3 includes them in
  the defaults
2022-06-08 14:04:53 +02:00
Loïc Hoguin dc70cbf281
Update Erlang.mk and switch to new xref code 2022-05-31 13:51:12 +02:00
Luke Bakken dba25f6462
Replace files with symlinks
This prevents duplicated and out-of-date instructions.
2022-04-15 06:04:29 -07:00
Philip Kuryloski 2dd9bde891 Bring over PROJECT_APP_EXTRA_KEYS values from make to bazel 2022-04-07 17:39:33 +02:00
Michael Klishin c38a3d697d
Bump (c) year 2022-03-21 01:21:56 +04:00
Philip Kuryloski 226e00fcd2 Tighten up dialyzer usage
now that rules_erlang no longer cascades up dialyzer warnings from deps
2022-02-24 11:18:41 +01:00
Philip Kuryloski d8201726ae Ignore dialyzer warnings for most apps 2022-02-21 09:19:56 +01:00
Philip Kuryloski efcd881658 Use rules_erlang v2
bazel-erlang has been renamed rules_erlang. v2 is a substantial
refactor that brings Windows support. While this alone isn't enough to
run all rabbitmq-server suites on windows, one can at least now start
the broker (bazel run broker) and run the tests that do not start a
background broker process
2022-01-18 13:43:46 +01:00
Michael Klishin 72c2e152ef
Merge pull request #3499 from rabbitmq/cla-url
Update CLA URL
2021-10-01 00:16:03 +03:00
Arnaud Cogoluègnes b758edc642
Handle no-context delivery in web stomp
To support messages from streams, which do not have a
context (for credit flow).

References rabbitmq/rabbitmq-stomp#138

Fixes #3508
2021-09-27 09:52:48 +02:00
Michal Kuratczyk 1a2126676d Update CLA URL 2021-09-23 14:29:36 +02:00
Philip Kuryloski 8f9de08de7 Also assert no missing suites for all other deps 2021-07-12 18:05:55 +02:00
Philip Kuryloski 8c7e7e0656 Revert "Default all `rabbitmq_integration_suite` to flaky in bazel"
This reverts commit 70cb8147b2.
2021-06-23 20:53:14 +02:00
Philip Kuryloski 70cb8147b2 Default all `rabbitmq_integration_suite` to flaky in bazel
Most tests that can start rabbitmq nodes have some chance of
flaking. Rather than chase individual flakes for now, this commit
changes the default (though it can still be overriden, as is the case
for config_scheme_SUITE in many places, since I have yet to see that
particular suite flake).
2021-06-21 16:10:38 +02:00
Philip Kuryloski 30f9a95b9f Add dialyze for remaning tier-1 plugins 2021-06-01 10:19:10 +02:00
Philip Kuryloski a6f70b8dda Add xref for remaining tier-1 plugins 2021-05-25 11:39:03 +02:00
Philip Kuryloski e6df6615e1 Futher bazel file refactoring and deduplication 2021-05-11 16:15:33 +02:00
Philip Kuryloski f543a37c04 Add rabbitmq_web_stomp to bazel 2021-05-07 16:48:23 +02:00
Carl Hörberg 681cb78b0d Test that proxy dest address is picked up in all plugins 2021-03-31 11:28:40 +02:00
Philip Kuryloski a63f169fcb Remove duplicate rabbitmq-components.mk and erlang.mk files
Also adjust the references in rabbitmq-components.mk to account for
post monorepo locations
2021-03-22 15:40:19 +01:00
Michael Klishin 5e0d7041cd
Merge pull request #2910 from rabbitmq/configure-num-conns-sup
Make ranch parameter `num_conns_sups` configurable
2021-03-19 21:59:30 +03:00
dcorbacho a41ece3950 Make ranch parameter `num_conns_sups` configurable
Defaults to 1
rabbit - num_conns_sup
rabbitmq_mqtt - num_conns_sup
rabbitmq_stomp - num_conns_sup
2021-03-18 21:38:13 +01:00
kjnilsson 52f745dcde Update rabbitmq-components.mk
use v1.x branch of ra
2021-03-18 15:14:40 +00:00
Loïc Hoguin d5e3bdd623
Add ADDITIONAL_PLUGINS variable
This allows including additional applications or third party
plugins when creating a release, running the broker locally,
or just building from the top-level Makefile.

To include Looking Glass in a release, for example:

$ make package-generic-unix ADDITIONAL_PLUGINS="looking_glass"

A Docker image can then be built using this release and will
contain Looking Glass:

$ make docker-image

Beware macOS users! Applications such as Looking Glass include
NIFs. NIFs must be compiled in the right environment. If you
are building a Docker image then make sure to build the NIF
on Linux! In the two steps above, this corresponds to Step 1.

To run the broker with Looking Glass available:

$ make run-broker ADDITIONAL_PLUGINS="looking_glass"

This commit also moves Looking Glass dependency information
into rabbitmq-components.mk so it is available at all times.
2021-03-12 12:29:28 +01:00
Michael Klishin 97ff62d3b2
Drop trailing newlines from logged messages where possible
Lager strips trailing newline characters but OTP logger with the default
formatter adds a newline at the end. To avoid unintentional multi-line log
messages we have to revisit most messages logged.

Some log entries are intentionally multiline, others
are printed to stdout directly: newlines are required there
for sensible formatting.
2021-03-11 15:17:37 +01:00
Jean-Sébastien Pédron cdcf602749
Switch from Lager to the new Erlang Logger API for logging
The configuration remains the same for the end-user. The only exception
is the log root directory: it is now set through the `log_root`
application env. variable in `rabbit`. People using the Cuttlefish-based
configuration file are not affected by this exception.

The main change is how the logging facility is configured. It now
happens in `rabbit_prelaunch_logging`. The `rabbit_lager` module is
removed.

The supported outputs remain the same: the console, text files, the
`amq.rabbitmq.log` exchange and syslog.

The message text format slightly changed: the timestamp is more precise
(now to the microsecond) and the level can be abbreviated to always be
4-character long to align all messages and improve readability. Here is
an example:

    2021-03-03 10:22:30.377392+01:00 [dbug] <0.229.0> == Prelaunch DONE ==
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>  Starting RabbitMQ 3.8.10+115.g071f3fb on Erlang 23.2.5
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>  Licensed under the MPL 2.0. Website: https://rabbitmq.com

The example above also shows that multiline messages are supported and
each line is prepended with the same prefix (the timestamp, the level
and the Erlang process PID).

JSON is also supported as a message format and now for any outputs.
Indeed, it is possible to use it with e.g. syslog or the exchange. Here
is an example of a JSON-formatted message sent to syslog:

    Mar  3 11:23:06 localhost rabbitmq-server[27908] <0.229.0> - {"time":"2021-03-03T11:23:06.998466+01:00","level":"notice","msg":"Logging: configured log handlers are now ACTIVE","meta":{"domain":"rabbitmq.prelaunch","file":"src/rabbit_prelaunch_logging.erl","gl":"<0.228.0>","line":311,"mfa":["rabbit_prelaunch_logging","configure_logger",1],"pid":"<0.229.0>"}}

For quick testing, the values accepted by the `$RABBITMQ_LOGS`
environment variables were extended:
  * `-` still means stdout
  * `-stderr` means stderr
  * `syslog:` means syslog on localhost
  * `exchange:` means logging to `amq.rabbitmq.log`

`$RABBITMQ_LOG` was also extended. It now accepts a `+json` modifier (in
addition to the existing `+color` one). With that modifier, messages are
formatted as JSON intead of plain text.

The `rabbitmqctl rotate_logs` command is deprecated. The reason is
Logger does not expose a function to force log rotation. However, it
will detect when a file was rotated by an external tool.

From a developer point of view, the old `rabbit_log*` API remains
supported, though it is now deprecated. It is implemented as regular
modules: there is no `parse_transform` involved anymore.

In the code, it is recommended to use the new Logger macros. For
instance, `?LOG_INFO(Format, Args)`. If possible, messages should be
augmented with some metadata. For instance (note the map after the
message):

    ?LOG_NOTICE("Logging: switching to configured handler(s); following "
                "messages may not be visible in this log output",
                #{domain => ?RMQLOG_DOMAIN_PRELAUNCH}),

Domains in Erlang Logger parlance are the way to categorize messages.
Some predefined domains, matching previous categories, are currently
defined in `rabbit_common/include/logging.hrl` or headers in the
relevant plugins for plugin-specific categories.

At this point, very few messages have been converted from the old
`rabbit_log*` API to the new macros. It can be done gradually when
working on a particular module or logging.

The Erlang builtin console/file handler, `logger_std_h`, has been forked
because it lacks date-based file rotation. The configuration of
date-based rotation is identical to Lager. Once the dust has settled for
this feature, the goal is to submit it upstream for inclusion in Erlang.
The forked module is calld `rabbit_logger_std_h` and is based
`logger_std_h` in Erlang 23.0.
2021-03-11 15:17:36 +01:00
dcorbacho d1c68ca8b9 Delete unused var 2021-03-09 16:49:33 +01:00
dcorbacho 61f7b2a723 Update to ranch 2.0 2021-03-08 23:11:05 +01:00
Michael Klishin b6c4831e75
Bump Lager to 3.9.1 2021-03-04 04:36:39 +03:00
Loïc Hoguin 66ac1bf5e9
Bump observer_cli to 1.6.1
More responsive when the system is overloaded with file calls.
2021-03-01 21:55:27 +03:00
Michael Klishin 8fe3df9343
Upgrade Lager to 3.9.0 for OTP 24 compatibility
`lager_util:expand_path/1` use changes are
due to erlang-lager/lager#540
2021-02-26 00:52:15 +03:00
Michael Klishin f73e851f9c
Bump observer_cli to 1.6.0 2021-02-24 12:53:55 +03:00
Michael Klishin a5098b28a7
Bump Lager to 3.8.2 for OTP 24 compatibility 2021-02-24 12:53:30 +03:00
Arnaud Cogoluègnes b921ac11a8
Merge pull request #2712 from rabbitmq/rabbitmq-stream-prometheus
Add stream prometheus plugin
2021-01-27 16:46:37 +01:00
Michael Klishin 52479099ec
Bump (c) year 2021-01-22 09:00:14 +03:00
Arnaud Cogoluègnes bf72683eb2
Add stream prometheus plugin 2021-01-11 16:49:56 +01:00
Arnaud Cogoluègnes 23d7e8114c
Introduce stream management plugin 2020-11-19 14:48:25 +01:00
Arnaud Cogoluègnes 78c47adff6 Update rabbitmq-components.mk 2020-11-03 14:27:53 +01:00
Michael Klishin f117021cb2 Update rabbitmq-components.mk 2020-10-21 12:55:49 +03:00
Luke Bakken 699e8076db Update rabbitmq-components.mk 2020-08-04 08:41:51 -07:00
Jean-Sébastien Pédron ea44f8b3cd Update rabbitmq-components.mk 2020-07-30 12:06:59 +02:00
Luke Bakken c319ce5591 Update rabbitmq-components.mk 2020-07-29 10:02:07 -07:00
dcorbacho 499007090f Update erlang.mk 2020-07-21 14:34:20 +01:00
Michael Klishin cfb732ccc9 Update rabbitmq-components.mk 2020-07-21 13:12:58 +03:00
Michael Klishin afc94b27f7 Update rabbitmq-components.mk 2020-07-21 03:43:28 +03:00
dcorbacho 83b4a373da Revert drop of Exhibit B on MPL 2.0 2020-07-20 17:05:36 +01:00
Michael Klishin 11dcd17476 Update MPL2 license file, drop Exhibit B
and add a VMware copyright notice.

We did not mean to make this code Incompatible with Secondary Licenses
as defined in [1].

1. https://www.mozilla.org/en-US/MPL/2.0/FAQ/
2020-07-17 14:53:08 +03:00
Michael Klishin 8cb3b30033 Switch to MPL2 2020-07-15 03:19:24 +03:00
Michael Klishin b8565fe555 Extract rabbit_networking:stop_ranch_listener_of_protocol/1
Part of rabbitmq/rabbitmq-server#2321
2020-07-09 22:02:08 +03:00
Michael Klishin 73b02e6845 Close Web STOMP client connections when the node enters maintenance mode
Part of rabbitmq/rabbitmq-server#2321
2020-07-09 16:32:19 +03:00
Michael Klishin 13eb64d80a Unify Ranch ref construction for all listeners
This makes the refs predictable and easy to compute
from a listener record. Then suspending all listeners
becomes a lot simpler.

While at it, make protocol applications clean up
their listeners when they stop. This way tests
and other callers that have to stop the app
would not need to know anything about
its listeners.

Part of rabbitmq/rabbitmq-server#2321
2020-06-24 04:27:34 +03:00
Jean-Sébastien Pédron 97eb451fa7 Update erlang.mk 2020-06-23 17:16:02 +02:00
Luke Bakken 48285b19ca Ensure that framing error is logged
Follow-up to #121 and #122
2020-06-17 06:29:35 -07:00
Luke Bakken 9cd55be9dd Use the new-style return value. 2020-06-12 08:43:53 -07:00
Luke Bakken 43c91d3c09 Use correct close code and provide error information 2020-06-12 08:11:41 -07:00
Michael Klishin 262698fa3a Squash a compiler warning 2020-06-12 07:59:27 +03:00
Luke Bakken 2c73b871ab Stop on errors
Rather than crashing with `case_clause`, errors returned in the data
handlers should result in the orderly shutdown of the STOMP connection.

Fixes #121
2020-06-11 14:17:31 -07:00
Michael Klishin 461299c113 Bump Recon to 2.5.1
for Erlang 23 compatibility of 'rabbitmq-diagnostics observer'

References zhongwencool/observer_cli#68.
2020-06-09 08:22:14 +03:00
Michael Klishin 35aeffb886 Expose use_http_auth in new style config schema
as web_stomp.use_http_auth.

Closes #119
2020-05-27 17:59:21 +03:00
Jean-Sébastien Pédron da1a774348 Update copyright (year 2020) 2020-03-10 17:02:18 +01:00
Gerhard Lazu 60ebb0a6b8 Update rabbitmq-components.mk 2020-03-06 09:19:22 +00:00
Gerhard Lazu 7911382560 Update erlang.mk 2020-03-06 09:18:48 +00:00
Jean-Sébastien Pédron e7e91527c9 Travis CI: Update config from rabbitmq-common 2020-03-04 14:24:33 +01:00
Jean-Sébastien Pédron 352f8f75b2 Travis CI: Update config from rabbitmq-common 2020-03-04 11:17:20 +01:00
Jean-Sébastien Pédron 91e5d2627c Travis CI: Update config from rabbitmq-common 2020-03-03 14:53:43 +01:00
Gerhard Lazu 91b7ad691c Update rabbitmq-components.mk 2020-02-11 15:31:51 +00:00
Michael Klishin 09acbb66d7 (c) bump 2019-12-29 05:50:38 +03:00
Jean-Sébastien Pédron 5a0b42c9fd Git: Ignore copied CLI 2019-12-12 15:14:47 +01:00
Jean-Sébastien Pédron 6d7564cfa2 Update rabbitmq-components.mk 2019-12-12 13:15:00 +01:00
Michael Klishin ab8eb667d1 Naming 2019-12-02 07:02:55 +03:00
Luke Bakken 6e90e5a042 Add support for client certificate authentication
Fixes #116

Ensure your config has `{ssl_cert_login, true}` in the `rabbitmq_web_stomp` section.
2019-11-27 12:19:50 -08:00
Michael Klishin 525dd258f1 Refactor to use ranch:start_listener/5
and avoid a warning from Ranch.

Closes #115.

References rabbitmq/rabbitmq-server#2069, rabbitmq/rabbitmq-web-mqtt#59.
2019-10-31 15:42:30 +03:00
kjnilsson 8578589247 Update rabbitmq-components.mk 2019-09-13 10:24:39 +01:00
kjnilsson 2938fbf314 Update rabbitmq-components.mk 2019-09-04 10:31:16 +01:00
Jean-Sébastien Pédron 78c207850c Update erlang.mk 2019-08-29 20:46:16 +02:00
Michael Klishin 6da11fffa2 Update rabbitmq-components.mk 2019-08-12 16:15:06 +10:00
Jean-Sébastien Pédron d9590636ed Update erlang.mk 2019-08-02 09:55:08 +02:00
Michael Klishin b50acc0841 Update rabbitmq-components.mk 2019-08-01 17:13:35 +03:00
Michael Klishin 8c78fcd189 RabbitMQ 3.6.x has long been out of support 2019-07-09 20:00:36 +03:00
Michael Klishin efaa42336c README edits 2019-07-09 19:59:40 +03:00
Michael Klishin d1fc4207d8 Update README.md 2019-07-09 17:21:45 +03:00
Michael Klishin 3bfc82662d Update README.md 2019-07-09 17:19:21 +03:00
Arnaud Cogoluègnes 12757d6a25 Update rabbitmq-components.mk 2019-07-09 16:06:17 +02:00
Jean-Sébastien Pédron d3b3fa93b2 Update rabbitmq-components.mk 2019-06-28 16:05:46 +02:00
Jean-Sébastien Pédron afc1ad789e Update erlang.mk 2019-06-28 16:03:16 +02:00
Michael Klishin 0c2c660f4f Configure Ranch to use max_connections value of 'infinity' by default
Also make the value configurable via web_stomp.max_connections.

While at it, reduce module naming delta with the Web MQTT plugin.
We mean to do this every time we have to touch this codebase, so
let's finally do the renaming.

Closes #113.
References rabbitmq/rabbitmq-web-mqtt#28, rabbitmq/rabbitmq-web-mqtt#55.
2019-06-07 13:10:03 +03:00
Gerhard Lazu b44429e06e Update rabbitmq-components.mk 2019-06-03 02:23:52 +01:00
Jean-Sébastien Pédron 40727f945d Update rabbitmq-components.mk 2019-05-17 15:22:19 +02:00
Michael Klishin 630c8c5030 Update rabbitmq-components.mk 2019-05-17 08:37:33 +03:00
Michael Klishin 1e07cd74e4 Update rabbitmq-components.mk 2019-05-14 11:51:15 +03:00
Michael Klishin 17d9d5bfbe Update rabbitmq-components.mk 2019-05-13 16:40:54 +03:00
Gerhard Lazu fd5a3793bb Update rabbitmq-components.mk 2019-05-01 13:18:31 +01:00
Luke Bakken 30372d93df Update rabbitmq-components.mk 2019-04-30 16:21:07 -07:00
Jean-Sébastien Pédron ea91f1476b Update rabbitmq-components.mk 2019-04-30 14:47:44 +02:00
Gerhard Lazu 1545a74858 Update rabbitmq-components.mk 2019-04-22 22:11:18 +01:00
Michael Klishin dc1214a507 Tests for #110 2019-04-22 18:11:06 +03:00
Nick Goossens f4edc66e62 Allow fallback to default_login when using a CONNECT frame 2019-03-28 09:00:41 +02:00
Spring Operator 0869d31e40 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
   ([https](https://blog.listincomprehension.com/search/label/procket) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/TOML) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/subproc) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
   ([https](https://e2project.org) result AnnotatedConnectException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
   ([https](https://nitrogenproject.com/) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
   ([https](https://proper.softlab.ntua.gr) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
   ([https](https://yaws.hyber.org) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
   ([https](https://choven.ca) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
  https://fixtrading.org ([https](https://fixprotocol.org/) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloudi.org/ with 27 occurrences migrated to:
  https://cloudi.org/ ([https](https://cloudi.org/) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
  https://erlware.org/ ([https](https://erlware.org/) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
  https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
  https://ninenines.eu ([https](https://ninenines.eu) result 200).
* http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
  https://www.actordb.com/ ([https](https://www.actordb.com/) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
  https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html) result 200).
* http://www.rabbitmq.com/community-plugins.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/community-plugins.html ([https](https://www.rabbitmq.com/community-plugins.html) result 200).
* http://www.rabbitmq.com/plugin-development.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/plugin-development.html ([https](https://www.rabbitmq.com/plugin-development.html) result 200).
* http://www.rabbitmq.com/plugins.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/plugins.html ([https](https://www.rabbitmq.com/plugins.html) result 200).
* http://www.rabbitmq.com/web-stomp.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/web-stomp.html ([https](https://www.rabbitmq.com/web-stomp.html) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
  https://www.rebar3.org ([https](https://www.rebar3.org) result 200).
* http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
  https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
  https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
  https://lasp-lang.org/ ([https](https://lasp-lang.org/) result 301).
* http://rabbitmq.com/stomp.html with 1 occurrences migrated to:
  https://rabbitmq.com/stomp.html ([https](https://rabbitmq.com/stomp.html) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://www.mozilla.org/MPL/ with 16 occurrences migrated to:
  https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
  https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli) result 301).
2019-03-20 03:25:46 -05:00
Michael Klishin 38886d6adf Travis: use Erlang 21.3, Elixir 1.8.1 2019-03-20 10:33:23 +03:00