Commit Graph

35 Commits

Author SHA1 Message Date
Michael Klishin 36674f1129
Bump erlang.mk with 'gmake erlang-mk' 2025-08-29 12:44:38 -04:00
Michal Kuratczyk 5ea53632f5
Bump erlang.mk to fix x509 0.9.0 compilation 2025-06-27 12:42:56 +02:00
Loïc Hoguin b34a7227b3
Update Erlang.mk 2025-03-20 15:24:05 +01:00
Loïc Hoguin c5d150a7ef
Use Erlang.mk's native Elixir support for CLI
This avoids using Mix while compiling which simplifies
a number of things and let us do further build improvements
later on.

Elixir is only enabled from within rabbitmq_cli currently.

Eunit is disabled since there are only Elixir tests.

Dialyzer will force-enable Elixir in order to process
Elixir-compiled beam files.

This commit also includes a few changes that are
related:

 * The Erlang distribution will now be started for parallel-ct

 * Many unnecessary PROJECT_MOD lines have been removed

 * `eunit_formatters` has been removed, it provides little value

 * The new `maybe_flock` Erlang.mk function is used where possible

 * Build test deps when testing rabbitmq_cli (Mix won't do it anymore)

 * rabbitmq_ct_helpers now use the early plugins to have Dialyzer
   properly set up
2025-03-18 10:02:49 +01:00
Michael Davis 2f3422c495
erlang.mk: Update repository URL for proper dep
Proper was moved under the `proper-testing` org.
2025-01-31 09:12:21 -05:00
Michael Klishin af67afe090 Bump Cuttlefish to 3.3.0 2024-08-05 22:32:21 -04:00
Loïc Hoguin 88f3a0f8e0
make: Experimental erlang.mk test rebuild fix
Before, changing a file in src/ resulted in all tests being
rebuilt. We typically do not want that. Now only the relevant
files will get rebuilt. This has a huge impact on workflow:

  make -C deps/rabbit test-build  22,06s user 3,24s system 119% cpu 21,169 total
  make -C deps/rabbit test-build  3,56s user 1,01s system 153% cpu 2,966 total
2024-06-29 17:15:32 +02:00
Loïc Hoguin 13025a3ba2
make: Experimental erlang.mk implementing beam cache
The beam cache allows switching between app and test
builds without having to rebuild everything. Since
the files keep their mtime and other attributes,
rebuilding continues from where it was left off
before, and only the relevant files get rebuilt
if anything changed.
2024-06-29 17:15:32 +02:00
Loïc Hoguin 4c17eacf45
Update Erlang.mk 2024-06-21 15:46:13 +02:00
Loïc Hoguin 706ebde6f7
Update Erlang.mk to experimental version
Performance was improved by avoiding calling 'find'
and instead using Make's wildcard function. Changes:

  make -C deps/rabbit nope  0,02s user 0,01s system 99% cpu 0,033 total
  make -C deps/rabbit nope  0,02s user 0,00s system 97% cpu 0,020 total
2024-06-10 09:42:33 +02:00
Loïc Hoguin ecd6fd27dc
Update Erlang.mk 2023-07-17 11:12:25 +02:00
David Ansari 79c12b60bc Use maybe expression instead of messy patterns
This commit is pure refactoring making the code base more maintainable.

Replace rabbit_misc:pipeline/3 with the new OTP 25 experimental maybe
expression because
"Frequent ways in which people work with sequences of failable
operations include folds over lists of functions, and abusing list
comprehensions. Both patterns have heavy weaknesses that makes them less
than ideal."
https://www.erlang.org/eeps/eep-0049#obsoleting-messy-patterns

Additionally, this commit is more restrictive in the type spec of
rabbit_mqtt_processor state fields.
Specifically, many fields were defined to be `undefined | T` where
`undefined` was only temporarily until the first CONNECT packet was
processed by the processor.
It's better to initialise the MQTT processor upon first CONNECT packet
because there is no point in having a processor without having received
any packet.
This allows many type specs in the processor to change from `undefined |
T` to just `T`.
Additionally, memory is saved by removing the `received_connect_packet`
field from the `rabbit_mqtt_reader` and `rabbit_web_mqtt_handler`.
2023-02-07 16:36:08 +01:00
David Ansari 57b2968094 Bump erlang.mk
by running
```
make erlang-mk
```

to include 6423c1c057
which provides test coverage for individual suites.
2022-11-10 15:04:31 +01:00
Loïc Hoguin b705ce6e43
Update Erlang.mk to get latest Xref fixes 2022-05-31 14:47:42 +02:00
Loïc Hoguin dc70cbf281
Update Erlang.mk and switch to new xref code 2022-05-31 13:51:12 +02:00
Michael Klishin 310e1dd157
Drop -Wrace_conditions from Dialyzer opts
For Erlang 25 compatibility.

Since ninenines/erlang.mk#947 has been merged, no reason
not to do it in RabbitMQ's temporary fork.
2022-04-30 01:19:54 +04:00
Philip Kuryloski 3129d049dc Upgrade erlang.mk 2022-03-15 14:04:16 +01:00
Philip Kuryloski 135128e929 Limit the version of rebar3_hex to v6
v7 introduces changes that break pipelines -
https://github.com/rabbitmq/hexpm-cli/issues/3

It would be better to drop hexpm-cli and use the hex publishing
support present in newer versions of erlang.mk
2022-01-05 11:08:18 +01:00
Ilya Khaprov a206519a9c
Add rebar3_hex plugin reference to rebar3.config generated by erlang.mk 2021-07-29 12:43:12 +02:00
Jean-Sébastien Pédron 80845dec41
erlang.mk: Update to add support for Rebar lock file version 1.2.0 2021-03-29 11:56:59 +02:00
dcorbacho 098a06a1fd Update erlang.mk 2020-07-21 14:33:34 +01:00
Jean-Sébastien Pédron 92e09023fe
Update erlang.mk 2020-06-23 17:15:13 +02:00
Gerhard Lazu c461ccab0a
Update erlang.mk 2020-03-06 09:18:22 +00:00
Jean-Sébastien Pédron b5e9671596
Update erlang.mk 2019-08-29 20:45:52 +02:00
Jean-Sébastien Pédron c5b56b5fff
Update erlang.mk 2019-08-02 09:54:41 +02:00
Jean-Sébastien Pédron df036bf5e8
Update erlang.mk 2019-06-28 16:02:50 +02:00
Spring Operator 19b22db1f4 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://httpredir.debian.org/debian (302) with 1 occurrences could not be migrated:
   ([https](https://httpredir.debian.org/debian) 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://nsis.sourceforge.net/Setting_Environment_Variables (301) with 1 occurrences migrated to:
  https://nsis.sourceforge.io/Setting_Environment_Variables ([https](https://nsis.sourceforge.net/Setting_Environment_Variables) result AnnotatedConnectException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).
* http://www.rabbitmq.com/releases/rabbitmq-server/v (404) with 1 occurrences migrated to:
  https://www.rabbitmq.com/releases/rabbitmq-server/v ([https](https://www.rabbitmq.com/releases/rabbitmq-server/v) result 404).
* http://www.rabbitmq.com/releases/rabbitmq-server/v% (404) with 1 occurrences migrated to:
  https://www.rabbitmq.com/releases/rabbitmq-server/v% ([https](https://www.rabbitmq.com/releases/rabbitmq-server/v%) result 404).

## 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.debian.org/doc/debian-policy/ with 2 occurrences migrated to:
  https://www.debian.org/doc/debian-policy/ ([https](https://www.debian.org/doc/debian-policy/) result 200).
* http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ with 1 occurrences migrated to:
  https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ([https](https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/) result 200).
* http://www.rabbitmq.com/ with 2 occurrences migrated to:
  https://www.rabbitmq.com/ ([https](https://www.rabbitmq.com/) result 200).
* http://www.rabbitmq.com/debian/ with 3 occurrences migrated to:
  https://www.rabbitmq.com/debian/ ([https](https://www.rabbitmq.com/debian/) result 200).
* http://www.rabbitmq.com/monitoring.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/monitoring.html ([https](https://www.rabbitmq.com/monitoring.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://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://www.debian-administration.org/articles/286 with 1 occurrences migrated to:
  https://www.debian-administration.org/articles/286 ([https](https://www.debian-administration.org/articles/286) result 301).
* http://www.erlang.org/download.html with 1 occurrences migrated to:
  https://www.erlang.org/download.html ([https](https://www.erlang.org/download.html) result 301).
* http://www.mozilla.org/MPL/ with 5 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:22:38 -05:00
Jean-Sébastien Pédron a26bfb44d5
Update erlang.mk 2018-04-11 10:54:14 +02:00
Jean-Sébastien Pédron a3f7665f07
Update erlang.mk 2018-03-02 19:09:19 +01:00
Daniil Fedotov ce0d906c3e Update erlang.mk 2017-08-30 19:41:38 +01:00
Jean-Sébastien Pédron 122123aedd
Update erlang.mk 2017-05-16 17:37:25 +02:00
Jean-Sébastien Pédron c1f989902f
Update erlang.mk 2017-04-19 12:04:37 +02:00
Gerhard Lazu afd1d17f7a Update erlang.mk 2016-11-22 16:20:08 +00:00
Jean-Sébastien Pédron c4ea6fa8e0 Update erlang.mk 2016-09-22 18:01:10 +02:00
Jean-Sébastien Pédron db7f0a0f38
Initial commit of RabbitMQ release handling bits
Everything comes from the rabbitmq-server repository. The goals of this
move are:
    1. separate unrelated files: the broker sources and release
       handling comprising plugins;
    2. resolve an important dependency cycle: plugins depend on the
       broker to run, but the broker depends on plugins to build a
       release.

[#130659985]
2016-09-20 18:19:24 +02:00