Commit Graph

19 Commits

Author SHA1 Message Date
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
David Ansari e5a67ac336 Upgrade eetcd to v0.5.0
eetcd v0.5.0 is compatible with OTP 27 and depends on gun 2.1.0
2024-12-23 16:52:16 +01:00
David Ansari 658d9c7c62 Upgrade eetcd and gun
## Why?

To introduce AMQP over WebSocket, we will add gun to the Erlang AMQP
1.0 client. We want to add the latest version of gun for this new
feature. Since rabbitmq_peer_discovery_etcd depends on the outdated
eetcd 0.3.6 which in turn depends on the outdated gun 1.3.3, this commit
first upgrades eetcd and gun.

 ## How?
See https://github.com/zhongwencool/eetcd?tab=readme-ov-file#migration-from-eetcd-03x-to-04x

 ## Breaking Changes

This commit causes the following breaking change:
`rabbitmq.conf` settings
* `cluster_formation.etcd.ssl_options.fail_if_no_peer_cert`
* `cluster_formation.etcd.ssl_options.dh`
* `cluster_formation.etcd.ssl_options.dhfile`

are unsupported because they are not valid `ssl:tls_client_option()`.

See https://github.com/erlang/otp/issues/7497#issuecomment-1636012198
2024-12-19 13:20:28 +00:00
Michael Klishin dd5864909b
Bump eetcd to 0.3.6
See https://github.com/zhongwencool/eetcd/releases/tag/v0.3.6 for
details
2022-08-09 14:45:27 +04:00
Loïc Hoguin dc70cbf281
Update Erlang.mk and switch to new xref code 2022-05-31 13:51:12 +02:00
Michael Klishin aa026a71a0
Upgrade eetcd to 0.3.5 2022-04-10 08:10:03 +04: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
Luke Bakken afc8456f9d Update gun and eetcd deps
Gun 1.3.3 has been released and we are waiting on a new eetcd release.

Depends on https://github.com/zhongwencool/eetcd/pull/33
2020-08-26 09:04:49 -07:00
Michael Klishin 8f541a0675 Use eetcd 0.3.2 from Hex.pm 2020-04-08 11:43:13 +03:00
Michael Klishin 2d0e97f74b Bump zhongwencool/eetcd to 337c07ebf86 2020-04-07 05:07:03 +03:00
Michael Klishin bb52bf0dc7 Bump eetcd dependency ref 2020-04-03 11:47:55 +03:00
Michael Klishin 3f80ac81be Switch eetcd dependency back to mainline 2020-04-01 12:58:26 +03:00
Michael Klishin 136502c101 Reimplement lock and unlock ops in rabbit_peer_discovery_etcd 2020-04-01 01:41:55 +03:00
Michael Klishin 0421f01b8c Switch to michaelklishin/eetcd@a1f8cccc12
until it is merged upstream.
2020-03-31 20:47:21 +03:00
Michael Klishin 4de48c2751 Bump eetcd 2020-03-24 17:15:51 +03:00
Michael Klishin 852730cd92 Initial steps towards switching to v3 API
* A new dependency on eetcd (ASL2-licensed)
 * Connection management
 * Lease acquisition for node key
 * Initial registration function implementation

With assistance from @kjnilsson.

Part of #22.
2020-03-18 12:24:39 +03:00
Jean-Sébastien Pédron 5fa9ff72c7 Makefile: Load Erlang.mk early plugins
In particular, if tests are skipped in CI, we are not aware if that.

While here, remove duplicate or useless code.
2018-03-14 18:21:27 +01:00
Daniil Fedotov e386b7381f Add meck to test deps 2017-08-31 12:56:13 +01:00
Michael Klishin 15e793abf4 Initial commit 2017-06-09 03:24:16 +03:00