summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2022-01-19 19:54:51 +0100
committermergify-bot <noreply@mergify.com>2022-01-21 12:58:07 +0000
commit9f8e525d83e40ec91cb97c20fe0eff1e99bcaac0 (patch)
treed50ce455f879924e8ec14476197a4b08c69305c6
parent8530f92cb5341905b1d9720cf72ecc13bc4888ee (diff)
downloadrabbitmq-server-git-mergify/bp/v3.8.x/pr-4017.tar.gz
Merge pull request #4009 from rabbitmq/use-rules_erlang-2mergify/bp/v3.8.x/pr-4017
Use rules_erlang 2 (cherry picked from commit eaaad2494d63758c626bda2be326f7046e603f0c) (cherry picked from commit 302a4fc17e66a295fc6eae8d6bbfcd75620b4d5c) # Conflicts: # WORKSPACE.bazel # deps/amqp10_client/BUILD.bazel # deps/amqp_client/BUILD.bazel # deps/rabbit/BUILD.bazel # deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel # deps/rabbitmq_aws/BUILD.bazel # deps/rabbitmq_cli/BUILD.bazel # deps/rabbitmq_cli/rabbitmqctl.bzl # deps/rabbitmq_cli/rabbitmqctl_test.bzl # deps/rabbitmq_federation/BUILD.bazel # deps/rabbitmq_federation_management/BUILD.bazel # deps/rabbitmq_management_agent/BUILD.bazel # deps/rabbitmq_mqtt/BUILD.bazel # deps/rabbitmq_prometheus/BUILD.bazel # deps/rabbitmq_random_exchange/BUILD.bazel # deps/rabbitmq_recent_history_exchange/BUILD.bazel # deps/rabbitmq_sharding/BUILD.bazel # deps/rabbitmq_shovel/BUILD.bazel # deps/rabbitmq_shovel_management/BUILD.bazel # deps/rabbitmq_stomp/BUILD.bazel # deps/rabbitmq_stream/BUILD.bazel # deps/rabbitmq_stream_common/BUILD.bazel # deps/rabbitmq_stream_management/BUILD.bazel # deps/rabbitmq_top/BUILD.bazel # deps/rabbitmq_tracing/BUILD.bazel # deps/rabbitmq_trust_store/BUILD.bazel # deps/rabbitmq_web_mqtt/BUILD.bazel # deps/rabbitmq_web_stomp/BUILD.bazel # mk/bazel.mk # rabbitmq.bzl # workspace_helpers.bzl
-rw-r--r--.bazelrc6
-rw-r--r--.github/workflows/test-erlang-git.yaml4
-rw-r--r--.github/workflows/test-mixed-versions.yaml4
-rw-r--r--.github/workflows/test.yaml4
-rw-r--r--BUILD.bazel23
-rw-r--r--BUILD.inet_tcp_proxy4
-rw-r--r--BUILD.osiris33
-rw-r--r--BUILD.ranch10
-rw-r--r--BUILD.trust_store_http8
-rw-r--r--WORKSPACE.bazel13
-rw-r--r--deps/amqp10_client/BUILD.bazel18
-rw-r--r--deps/amqp10_common/BUILD.bazel21
-rw-r--r--deps/amqp_client/BUILD.bazel22
-rw-r--r--deps/rabbit/BUILD.bazel175
-rw-r--r--deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel23
-rw-r--r--deps/rabbit/test/feature_flags_SUITE_data/my_plugin/BUILD.bazel8
-rw-r--r--deps/rabbit_common/BUILD.bazel35
-rw-r--r--deps/rabbitmq_amqp1_0/BUILD.bazel22
-rw-r--r--deps/rabbitmq_auth_backend_cache/BUILD.bazel14
-rw-r--r--deps/rabbitmq_auth_backend_http/BUILD.bazel18
-rw-r--r--deps/rabbitmq_auth_backend_ldap/BUILD.bazel12
-rw-r--r--deps/rabbitmq_auth_backend_oauth2/BUILD.bazel24
-rw-r--r--deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel12
-rw-r--r--deps/rabbitmq_aws/BUILD.bazel26
-rw-r--r--deps/rabbitmq_cli/BUILD.bazel37
-rw-r--r--deps/rabbitmq_cli/elixir.bzl59
-rw-r--r--deps/rabbitmq_cli/rabbitmqctl.bzl112
-rw-r--r--deps/rabbitmq_cli/rabbitmqctl_test.bzl264
-rw-r--r--deps/rabbitmq_consistent_hash_exchange/BUILD.bazel12
-rw-r--r--deps/rabbitmq_ct_client_helpers/BUILD.bazel10
-rw-r--r--deps/rabbitmq_ct_helpers/BUILD.bazel8
-rw-r--r--deps/rabbitmq_event_exchange/BUILD.bazel14
-rw-r--r--deps/rabbitmq_federation/BUILD.bazel26
-rw-r--r--deps/rabbitmq_federation_management/BUILD.bazel22
-rw-r--r--deps/rabbitmq_jms_topic_exchange/BUILD.bazel16
-rw-r--r--deps/rabbitmq_management/BUILD.bazel48
-rw-r--r--deps/rabbitmq_management_agent/BUILD.bazel19
-rw-r--r--deps/rabbitmq_mqtt/BUILD.bazel38
-rw-r--r--deps/rabbitmq_peer_discovery_aws/BUILD.bazel20
-rw-r--r--deps/rabbitmq_peer_discovery_common/BUILD.bazel12
-rw-r--r--deps/rabbitmq_peer_discovery_consul/BUILD.bazel16
-rw-r--r--deps/rabbitmq_peer_discovery_etcd/BUILD.bazel18
-rw-r--r--deps/rabbitmq_peer_discovery_k8s/BUILD.bazel16
-rw-r--r--deps/rabbitmq_prometheus/BUILD.bazel24
-rw-r--r--deps/rabbitmq_random_exchange/BUILD.bazel14
-rw-r--r--deps/rabbitmq_recent_history_exchange/BUILD.bazel14
-rw-r--r--deps/rabbitmq_sharding/BUILD.bazel15
-rw-r--r--deps/rabbitmq_shovel/BUILD.bazel31
-rw-r--r--deps/rabbitmq_shovel_management/BUILD.bazel27
-rw-r--r--deps/rabbitmq_stomp/BUILD.bazel30
-rw-r--r--deps/rabbitmq_stream/BUILD.bazel101
-rw-r--r--deps/rabbitmq_stream_common/BUILD.bazel37
-rw-r--r--deps/rabbitmq_stream_management/BUILD.bazel73
-rw-r--r--deps/rabbitmq_top/BUILD.bazel18
-rw-r--r--deps/rabbitmq_tracing/BUILD.bazel19
-rw-r--r--deps/rabbitmq_trust_store/BUILD.bazel26
-rw-r--r--deps/rabbitmq_web_dispatch/BUILD.bazel18
-rw-r--r--deps/rabbitmq_web_mqtt/BUILD.bazel23
-rw-r--r--deps/rabbitmq_web_mqtt_examples/BUILD.bazel16
-rw-r--r--deps/rabbitmq_web_stomp/BUILD.bazel22
-rw-r--r--deps/rabbitmq_web_stomp_examples/BUILD.bazel16
-rw-r--r--dist.bzl42
-rw-r--r--mk/bazel.mk42
-rw-r--r--rabbitmq.bzl98
-rw-r--r--rabbitmq_home.bzl58
-rw-r--r--rabbitmq_run.bzl110
-rw-r--r--rabbitmqctl.bzl4
-rw-r--r--scripts/bazel/rabbitmq-run.bat156
-rw-r--r--user-template.bazelrc4
-rw-r--r--workspace_helpers.bzl128
70 files changed, 1732 insertions, 740 deletions
diff --git a/.bazelrc b/.bazelrc
index 816e431ba0..59fae974d6 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -18,7 +18,7 @@ build:rbe --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
build:rbe --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
-build:rbe --@bazel-erlang//:erlang_home=/usr/lib/erlang
+build:rbe --@rules_erlang//:erlang_home=/usr/lib/erlang
build:rbe --//:elixir_home=/usr/local
build:rbe --spawn_strategy=remote
@@ -37,7 +37,7 @@ build:rbe-23 --host_platform=@rbe_23//config:platform
build:rbe-23 --platforms=@rbe_23//config:platform
build:rbe-23 --extra_execution_platforms=@rbe_23//config:platform
-build:rbe-23 --@bazel-erlang//:erlang_version=23
+build:rbe-23 --@rules_erlang//:erlang_version=23
build:rbe-24 --config=rbe
build:rbe-24 --host_javabase=@rbe_24//java:jdk
@@ -49,7 +49,7 @@ build:rbe-24 --host_platform=@rbe_24//config:platform
build:rbe-24 --platforms=@rbe_24//config:platform
build:rbe-24 --extra_execution_platforms=@rbe_24//config:platform
-build:rbe-24 --@bazel-erlang//:erlang_version=24
+build:rbe-24 --@rules_erlang//:erlang_version=24
# Try importing a user specific .bazelrc
# You can create your own by copying and editing the template-user.bazelrc template:
diff --git a/.github/workflows/test-erlang-git.yaml b/.github/workflows/test-erlang-git.yaml
index 185f8c7e27..2816a84780 100644
--- a/.github/workflows/test-erlang-git.yaml
+++ b/.github/workflows/test-erlang-git.yaml
@@ -51,8 +51,8 @@ jobs:
build:rbe-git --host_platform=//:erlang_git_platform
build:rbe-git --platforms=//:erlang_git_platform
build:rbe-git --extra_execution_platforms=//:erlang_git_platform
- build:rbe-git --@bazel-erlang//:erlang_home=/usr/local/lib/erlang
- build:rbe-git --@bazel-erlang//:erlang_version=25
+ build:rbe-git --@rules_erlang//:erlang_home=/usr/local/lib/erlang
+ build:rbe-git --@rules_erlang//:erlang_version=25
EOF
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
diff --git a/.github/workflows/test-mixed-versions.yaml b/.github/workflows/test-mixed-versions.yaml
index 4af7f943ac..fa23e68c45 100644
--- a/.github/workflows/test-mixed-versions.yaml
+++ b/.github/workflows/test-mixed-versions.yaml
@@ -92,8 +92,8 @@ jobs:
build:buildbuddy --color=yes
build:buildbuddy --disk_cache=
- build --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
- build --@bazel-erlang//:erlang_home=${ERLANG_HOME}
+ build --@rules_erlang//:erlang_version=${{ matrix.erlang_version }}
+ build --@rules_erlang//:erlang_home=${ERLANG_HOME}
build --//:elixir_home=${ELIXIR_HOME}
EOF
#! - name: Setup tmate session
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 3801b53afc..bdd63a9c52 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -90,8 +90,8 @@ jobs:
build:buildbuddy --color=yes
build:buildbuddy --disk_cache=
- build --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
- build --@bazel-erlang//:erlang_home=${ERLANG_HOME}
+ build --@rules_erlang//:erlang_version=${{ matrix.erlang_version }}
+ build --@rules_erlang//:erlang_home=${ERLANG_HOME}
build --//:elixir_home=${ELIXIR_HOME}
EOF
#! - name: Setup tmate session
diff --git a/BUILD.bazel b/BUILD.bazel
index 6f5966f7dd..2b7ba5d5ef 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,6 +1,6 @@
load("@rules_pkg//:pkg.bzl", "pkg_tar")
-load("@bazel-erlang//:dialyze.bzl", "plt")
-load("@bazel-erlang//:shell.bzl", "shell")
+load("@rules_erlang//:dialyze.bzl", "plt")
+load("@rules_erlang//:shell.bzl", "shell")
load("elixir_home.bzl", "elixir_home")
load(":rabbitmq_home.bzl", "rabbitmq_home")
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
@@ -10,6 +10,7 @@ load(":dist.bzl", "collect_licenses", "versioned_rabbitmq_home")
exports_files([
"scripts/bazel/rabbitmq-run.sh",
+ "scripts/bazel/rabbitmq-run.bat",
])
# This allows us to
@@ -77,30 +78,12 @@ rabbitmq_home(
],
)
-rabbitmq_home(
- name = "broker-for-cli-tests-home",
- testonly = True,
- plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_federation:bazel_erlang_lib",
- "//deps/rabbitmq_stomp:bazel_erlang_lib",
- "//deps/amqp_client:bazel_erlang_lib",
- ],
-)
-
rabbitmq_run(
name = "rabbitmq-run",
home = ":broker-home",
visibility = ["//visibility:public"],
)
-rabbitmq_run(
- name = "rabbitmq-for-cli-tests-run",
- testonly = True,
- home = ":broker-for-cli-tests-home",
- visibility = ["//visibility:public"],
-)
-
# Allow us to `bazel run broker`
# for the equivalent of `make run-broker`
# (though it as of yet includes no plugins)
diff --git a/BUILD.inet_tcp_proxy b/BUILD.inet_tcp_proxy
index 303e530984..f7470869c8 100644
--- a/BUILD.inet_tcp_proxy
+++ b/BUILD.inet_tcp_proxy
@@ -1,6 +1,6 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
-erlang_lib(
+erlang_app(
app_name = "inet_tcp_proxy_dist",
app_version = "0.1.0",
app_description = "Erlang distribution proxy to simulate network failures",
diff --git a/BUILD.osiris b/BUILD.osiris
new file mode 100644
index 0000000000..7779335548
--- /dev/null
+++ b/BUILD.osiris
@@ -0,0 +1,33 @@
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
+
+NAME = "osiris"
+
+VERSION = "0.1.0"
+
+APP_ENV = """[
+ {data_dir, "/tmp/osiris"},
+ {port_range, {6000, 6500}},
+ {max_segment_size_chunks, 256000}
+]"""
+
+EXTRA_APPS = [
+ "sasl",
+ "crypto",
+]
+
+DEPS = [
+ "@gen_batch_server//:erlang_app",
+]
+
+RUNTIME_DEPS = [
+ "@seshat//:erlang_app",
+]
+
+erlang_app(
+ app_env = APP_ENV,
+ app_name = NAME,
+ app_version = VERSION,
+ extra_apps = EXTRA_APPS,
+ runtime_deps = RUNTIME_DEPS,
+ deps = DEPS,
+)
diff --git a/BUILD.ranch b/BUILD.ranch
index 7a89e08841..6df380862b 100644
--- a/BUILD.ranch
+++ b/BUILD.ranch
@@ -1,5 +1,7 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "app_file", "bazel_erlang_lib", "erlc",
-"DEFAULT_ERLC_OPTS")
+load("@rules_erlang//:app_file.bzl", "app_file")
+load("@rules_erlang//:erlang_app_info.bzl", "erlang_app_info")
+load("@rules_erlang//:erlang_app.bzl", "DEFAULT_ERLC_OPTS")
+load("@rules_erlang//:erlc.bzl", "erlc")
FIRST_SRCS = [
"src/ranch_transport.erl",
@@ -36,8 +38,8 @@ app_file(
modules = [":first_beam_files", ":beam_files"],
)
-bazel_erlang_lib(
- name = "bazel_erlang_lib",
+erlang_app_info(
+ name = "erlang_app",
app_name = "ranch",
app = ":app_file",
hdrs = glob(["include/**/*.hrl"]),
diff --git a/BUILD.trust_store_http b/BUILD.trust_store_http
index 9fceaaff5c..efe4f97add 100644
--- a/BUILD.trust_store_http
+++ b/BUILD.trust_store_http
@@ -1,6 +1,6 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
-erlang_lib(
+erlang_app(
app_name = "trust_store_http",
app_description = "Trust store HTTP server",
app_module = "trust_store_http_app",
@@ -9,7 +9,7 @@ erlang_lib(
"ssl",
],
deps = [
- "@cowboy//:bazel_erlang_lib",
- "@jsx//:bazel_erlang_lib",
+ "@cowboy//:erlang_app",
+ "@jsx//:erlang_app",
],
)
diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel
index 5dc3169c75..6ac1208513 100644
--- a/WORKSPACE.bazel
+++ b/WORKSPACE.bazel
@@ -58,15 +58,22 @@ load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
http_archive(
+<<<<<<< HEAD
name = "bazel-erlang",
sha256 = "2ba878df673020ac714c050c0aaf3c66cac2f9cca0aa4259e3c74603c59e0cd0",
strip_prefix = "rules_erlang-1.4.0",
urls = ["https://github.com/rabbitmq/bazel-erlang/archive/refs/tags/1.4.0.zip"],
+=======
+ name = "rules_erlang",
+ sha256 = "7fd0564918537eb72294d17f5f8dc663907b16d712773b1c006e83194746a1c0",
+ strip_prefix = "rules_erlang-2.0.0",
+ urls = ["https://github.com/rabbitmq/rules_erlang/archive/refs/tags/2.0.0.zip"],
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
)
-load("@bazel-erlang//:bazel_erlang.bzl", "bazel_erlang_deps")
+load("@rules_erlang//:rules_erlang.bzl", "rules_erlang_dependencies")
-bazel_erlang_deps()
+rules_erlang_dependencies()
load("//:workspace_helpers.bzl", "rabbitmq_external_deps")
@@ -85,7 +92,7 @@ pkg_zip(
name = "inet_tcp_proxy_ez",
package_dir = "inet_tcp_proxy/ebin",
srcs = [
- "@inet_tcp_proxy//:bazel_erlang_lib",
+ "@inet_tcp_proxy//:erlang_app",
],
package_file_name = "inet_tcp_proxy.ez",
visibility = ["//visibility:public"],
diff --git a/deps/amqp10_client/BUILD.bazel b/deps/amqp10_client/BUILD.bazel
index 5a96181b32..358cad46b8 100644
--- a/deps/amqp10_client/BUILD.bazel
+++ b/deps/amqp10_client/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
"//:rabbitmq.bzl",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -23,15 +23,19 @@ EXTRA_APPS = [
]
BUILD_DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
DEPS = [
- "//deps/amqp10_common:bazel_erlang_lib",
+ "//deps/amqp10_common:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -56,8 +60,8 @@ dialyze(
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_amqp1_0:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_amqp1_0:erlang_app",
],
)
diff --git a/deps/amqp10_common/BUILD.bazel b/deps/amqp10_common/BUILD.bazel
index 898d76a9ff..ca02b786ba 100644
--- a/deps/amqp10_common/BUILD.bazel
+++ b/deps/amqp10_common/BUILD.bazel
@@ -1,11 +1,8 @@
-load(
- "@bazel-erlang//:bazel_erlang_lib.bzl",
- "app_file",
- "bazel_erlang_lib",
- "erlc",
-)
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:app_file.bzl", "app_file")
+load("@rules_erlang//:erlang_app_info.bzl", "erlang_app_info")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"APP_VERSION",
@@ -72,8 +69,8 @@ erlc(
deps = BUILD_DEPS,
)
-bazel_erlang_lib(
- name = "bazel_erlang_lib",
+erlang_app_info(
+ name = "erlang_app",
hdrs = ["include/amqp10_framing.hrl"] + glob(["include/*.hrl"]),
app = ":app_file",
app_name = APP_NAME,
@@ -90,8 +87,8 @@ erlc(
deps = BUILD_DEPS,
)
-bazel_erlang_lib(
- name = "test_bazel_erlang_lib",
+erlang_app_info(
+ name = "test_erlang_app",
testonly = True,
hdrs = ["include/amqp10_framing.hrl"] + glob(["include/*.hrl"]),
app = ":app_file",
diff --git a/deps/amqp_client/BUILD.bazel b/deps/amqp_client/BUILD.bazel
index 21db2adc7e..07584ead3a 100644
--- a/deps/amqp_client/BUILD.bazel
+++ b/deps/amqp_client/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
"//:rabbitmq.bzl",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -21,11 +21,15 @@ EXTRA_APPS = [
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = "RabbitMQ AMQP Client",
app_env = APP_ENV,
app_module = "amqp_client",
@@ -43,7 +47,7 @@ rabbitmq_lib(
xref(
additional_libs = [
- "@ranch//:bazel_erlang_lib",
+ "@ranch//:erlang_app",
],
tags = ["xref"],
)
@@ -62,7 +66,7 @@ dialyze(
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
],
)
@@ -77,17 +81,17 @@ suites = [
name = "system_SUITE",
size = "large",
runtime_deps = [
- "@meck//:bazel_erlang_lib",
+ "@meck//:erlang_app",
],
),
rabbitmq_suite(
name = "unit_SUITE",
size = "small",
runtime_deps = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
]
diff --git a/deps/rabbit/BUILD.bazel b/deps/rabbit/BUILD.bazel
index 39ede7ea26..3ad6cf6cc2 100644
--- a/deps/rabbit/BUILD.bazel
+++ b/deps/rabbit/BUILD.bazel
@@ -1,6 +1,6 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
@@ -9,20 +9,27 @@ load(
"RABBITMQ_ERLC_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
load(":bats.bzl", "bats")
exports_files([
"scripts/rabbitmq-defaults",
+ "scripts/rabbitmq-defaults.bat",
"scripts/rabbitmq-diagnostics",
+ "scripts/rabbitmq-diagnostics.bat",
"scripts/rabbitmq-env",
+ "scripts/rabbitmq-env.bat",
"scripts/rabbitmq-plugins",
+ "scripts/rabbitmq-plugins.bat",
"scripts/rabbitmq-queues",
+ "scripts/rabbitmq-queues.bat",
"scripts/rabbitmq-server",
+ "scripts/rabbitmq-server.bat",
"scripts/rabbitmqctl",
+ "scripts/rabbitmqctl.bat",
"INSTALL",
])
@@ -146,6 +153,7 @@ BUILD_DEPS = [
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
"@ra//:bazel_erlang_lib",
@@ -159,6 +167,26 @@ RUNTIME_DEPS = [
"@observer_cli//:bazel_erlang_lib",
"@recon//:bazel_erlang_lib",
"@sysmon_handler//:bazel_erlang_lib",
+=======
+ "//deps/amqp10_common:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "@ra//:erlang_app",
+ "@ranch//:erlang_app",
+ "@stdout_formatter//:erlang_app",
+ "@syslog//:erlang_app",
+]
+
+RUNTIME_DEPS = [
+ "//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app",
+ "@cuttlefish//:erlang_app",
+ "@observer_cli//:erlang_app",
+ "@osiris//:erlang_app",
+ "@recon//:erlang_app",
+ "@redbug//:erlang_app",
+ "@seshat//:erlang_app",
+ "@sysmon_handler//:erlang_app",
+ "@systemd//:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
APP_MODULE = "rabbit"
@@ -191,11 +219,15 @@ FIRST_SRCS = [
"src/rabbit_queue_master_locator.erl",
]
+<<<<<<< HEAD
EXTRA_ERLC_OPTS = [
"-DINSTR_MOD=gm",
]
rabbitmq_lib(
+=======
+rabbitmq_app(
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
app_description = "RabbitMQ",
app_env = _APP_ENV,
app_module = APP_MODULE,
@@ -232,16 +264,17 @@ bats(
["scripts/*"],
exclude = ["scripts/*.bat"],
),
+ tags = ["bats"],
)
rabbitmq_home(
name = "broker-for-tests-home",
testonly = True,
plugins = [
- ":test_bazel_erlang_lib",
- "//deps/rabbitmq_ct_client_helpers:bazel_erlang_lib",
- "@inet_tcp_proxy//:bazel_erlang_lib",
- "@meck//:bazel_erlang_lib",
+ ":test_erlang_app",
+ "//deps/rabbitmq_ct_client_helpers:erlang_app",
+ "@inet_tcp_proxy//:erlang_app",
+ "@meck//:erlang_app",
],
)
@@ -273,9 +306,14 @@ erlc(
dest = "test",
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
deps = [
+<<<<<<< HEAD
"//deps/amqp_client:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
@@ -288,9 +326,14 @@ erlc(
dest = "test",
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
deps = [
+<<<<<<< HEAD
"//deps/amqp_client:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
@@ -409,7 +452,7 @@ suites = [
shard_count = 20,
sharding_method = "case",
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -420,7 +463,7 @@ suites = [
":quorum_queue_utils",
],
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -442,7 +485,7 @@ suites = [
flaky = True,
shard_count = 5,
runtime_deps = [
- "//deps/rabbit/test/feature_flags_SUITE_data/my_plugin:bazel_erlang_lib",
+ "//deps/rabbit/test/feature_flags_SUITE_data/my_plugin:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -458,7 +501,7 @@ suites = [
# This probably doesn't work because we are root in the remote docker image.
tags = ["exclusive"],
runtime_deps = [
- "//deps/rabbit/test/feature_flags_SUITE_data/my_plugin:bazel_erlang_lib",
+ "//deps/rabbit/test/feature_flags_SUITE_data/my_plugin:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -478,6 +521,16 @@ suites = [
),
rabbitmq_integration_suite(
PACKAGE,
+<<<<<<< HEAD
+=======
+ name = "logging_SUITE",
+ runtime_deps = [
+ "@syslog//:erlang_app",
+ ],
+ ),
+ rabbitmq_integration_suite(
+ PACKAGE,
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
name = "maintenance_mode_SUITE",
size = "medium",
additional_beam = [
@@ -503,7 +556,7 @@ suites = [
name = "metrics_SUITE",
size = "medium",
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_suite(
@@ -513,14 +566,14 @@ suites = [
"test/mirrored_supervisor_SUITE_gs.erl",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_suite(
name = "msg_store_SUITE",
size = "small",
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -638,6 +691,16 @@ suites = [
flaky = True,
shard_count = 6,
),
+<<<<<<< HEAD
+=======
+ rabbitmq_suite(
+ name = "rabbit_confirms_SUITE",
+ size = "small",
+ deps = [
+ "//deps/rabbit_common:erlang_app",
+ ],
+ ),
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
rabbitmq_integration_suite(
PACKAGE,
name = "rabbit_core_metrics_gc_SUITE",
@@ -647,13 +710,13 @@ suites = [
name = "rabbit_fifo_int_SUITE",
size = "small",
runtime_deps = [
- "@aten//:bazel_erlang_lib",
- "@gen_batch_server//:bazel_erlang_lib",
- "@meck//:bazel_erlang_lib",
- "@ra//:bazel_erlang_lib",
+ "@aten//:erlang_app",
+ "@gen_batch_server//:erlang_app",
+ "@meck//:erlang_app",
+ "@ra//:erlang_app",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_suite(
@@ -669,11 +732,11 @@ suites = [
"-I deps/rabbit", # allow rabbit_fifo.hrl to be included at src/rabbit_fifo.hrl
],
runtime_deps = [
- "@ra//:bazel_erlang_lib",
+ "@ra//:erlang_app",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "@proper//:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "@proper//:erlang_app",
],
),
rabbitmq_suite(
@@ -690,11 +753,11 @@ suites = [
"-I deps/rabbit", # allow rabbit_fifo.hrl to be included at src/rabbit_fifo.hrl
],
runtime_deps = [
- "@meck//:bazel_erlang_lib",
- "@ra//:bazel_erlang_lib",
+ "@meck//:erlang_app",
+ "@ra//:erlang_app",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_suite(
@@ -710,13 +773,43 @@ suites = [
"-I deps/rabbit", # allow rabbit_fifo.hrl to be included at src/rabbit_fifo.hrl
],
runtime_deps = [
- "@meck//:bazel_erlang_lib",
- "@ra//:bazel_erlang_lib",
+ "@meck//:erlang_app",
+ "@ra//:erlang_app",
+ ],
+ deps = [
+ "//deps/rabbit_common:erlang_app",
+ ],
+ ),
+<<<<<<< HEAD
+=======
+ rabbitmq_suite(
+ name = "rabbit_msg_record_SUITE",
+ size = "medium",
+ deps = [
+ "//deps/amqp10_common:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ ],
+ ),
+ rabbitmq_suite(
+ name = "rabbit_stream_coordinator_SUITE",
+ deps = [
+ "//deps/rabbit_common:erlang_app",
],
+ ),
+ rabbitmq_integration_suite(
+ PACKAGE,
+ name = "rabbit_stream_queue_SUITE",
+ size = "large",
+ additional_beam = [
+ ":quorum_queue_utils",
+ ],
+ flaky = True,
+ shard_count = 12,
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
rabbitmq_integration_suite(
PACKAGE,
name = "rabbitmq_queues_cli_integration_SUITE",
@@ -768,7 +861,7 @@ suites = [
PACKAGE,
name = "term_to_binary_compat_prop_SUITE",
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -790,7 +883,7 @@ suites = [
name = "unit_access_control_credential_validation_SUITE",
size = "medium",
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -805,7 +898,7 @@ suites = [
name = "unit_amqp091_content_framing_SUITE",
size = "small",
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -822,23 +915,23 @@ suites = [
name = "unit_cluster_formation_locking_mocks_SUITE",
size = "small",
runtime_deps = [
- "@meck//:bazel_erlang_lib",
+ "@meck//:erlang_app",
],
),
rabbitmq_suite(
name = "unit_collections_SUITE",
size = "small",
runtime_deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_suite(
name = "unit_config_value_encryption_SUITE",
size = "medium",
runtime_deps = [
- "//deps/rabbit/apps/rabbitmq_prelaunch:test_bazel_erlang_lib",
- "//deps/rabbit_common:test_bazel_erlang_lib",
- "@credentials_obfuscation//:bazel_erlang_lib",
+ "//deps/rabbit/apps/rabbitmq_prelaunch:test_erlang_app",
+ "//deps/rabbit_common:test_erlang_app",
+ "@credentials_obfuscation//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -875,8 +968,8 @@ suites = [
name = "unit_gm_SUITE",
size = "small",
runtime_deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
- "@meck//:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
+ "@meck//:erlang_app",
],
),
rabbitmq_suite(
@@ -895,7 +988,7 @@ suites = [
name = "unit_operator_policy_SUITE",
size = "small",
deps = [
- "//deps/rabbit_common:test_bazel_erlang_lib",
+ "//deps/rabbit_common:test_erlang_app",
],
),
rabbitmq_suite(
@@ -906,7 +999,7 @@ suites = [
name = "unit_plugin_directories_SUITE",
size = "small",
deps = [
- "//deps/rabbit_common:test_bazel_erlang_lib",
+ "//deps/rabbit_common:test_erlang_app",
],
),
rabbitmq_integration_suite(
diff --git a/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel b/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel
index 1f44638793..aac3238760 100644
--- a/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel
+++ b/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel
@@ -1,6 +1,12 @@
+<<<<<<< HEAD
load("@bazel-erlang//:xref.bzl", "xref")
load("@bazel-erlang//:dialyze.bzl", "dialyze")
load("//:rabbitmq.bzl", "APP_VERSION", "rabbitmq_lib")
+=======
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
+load("//:rabbitmq.bzl", "APP_VERSION", "rabbitmq_app", "rabbitmq_suite")
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
APP_NAME = "rabbitmq_prelaunch"
@@ -10,12 +16,22 @@ APP_DESCRIPTION = "RabbitMQ prelaunch setup"
APP_MODULE = "rabbit_prelaunch_app"
+<<<<<<< HEAD
DEPS = [
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+RUNTIME_DEPS = [
+ "@cuttlefish//:erlang_app",
+ "@jsx//:erlang_app",
]
-rabbitmq_lib(
+DEPS = [
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
+]
+
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -25,8 +41,13 @@ rabbitmq_lib(
xref(
additional_libs = [
+<<<<<<< HEAD
"@cuttlefish//:bazel_erlang_lib",
"@ranch//:bazel_erlang_lib",
+=======
+ "@ranch//:erlang_app",
+ "@systemd//:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
tags = ["xref"],
)
diff --git a/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/BUILD.bazel b/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/BUILD.bazel
index 60e3e86cbc..1d8dfe544a 100644
--- a/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/BUILD.bazel
+++ b/deps/rabbit/test/feature_flags_SUITE_data/my_plugin/BUILD.bazel
@@ -1,11 +1,11 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
]
-erlang_lib(
+erlang_app(
app_description = "Plugin to test feature flags",
app_name = "my_plugin",
app_version = "1.0.0",
diff --git a/deps/rabbit_common/BUILD.bazel b/deps/rabbit_common/BUILD.bazel
index e49912846f..ec07a29b29 100644
--- a/deps/rabbit_common/BUILD.bazel
+++ b/deps/rabbit_common/BUILD.bazel
@@ -1,11 +1,8 @@
-load(
- "@bazel-erlang//:bazel_erlang_lib.bzl",
- "app_file",
- "bazel_erlang_lib",
- "erlc",
-)
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:app_file.bzl", "app_file")
+load("@rules_erlang//:erlang_app_info.bzl", "erlang_app_info")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"APP_VERSION",
@@ -64,9 +61,9 @@ DEPS = [
]
RUNTIME_DEPS = [
- "@jsx//:bazel_erlang_lib",
- "@recon//:bazel_erlang_lib",
- "@credentials_obfuscation//:bazel_erlang_lib",
+ "@jsx//:erlang_app",
+ "@recon//:erlang_app",
+ "@credentials_obfuscation//:erlang_app",
]
APP_NAME = "rabbit_common"
@@ -126,8 +123,8 @@ erlc(
deps = DEPS,
)
-bazel_erlang_lib(
- name = "bazel_erlang_lib",
+erlang_app_info(
+ name = "erlang_app",
hdrs = HDRS,
app = ":app_file",
app_name = APP_NAME,
@@ -166,8 +163,8 @@ erlc(
deps = DEPS,
)
-bazel_erlang_lib(
- name = "test_bazel_erlang_lib",
+erlang_app_info(
+ name = "test_erlang_app",
testonly = True,
hdrs = HDRS,
app = ":app_file",
@@ -182,7 +179,7 @@ bazel_erlang_lib(
xref(
additional_libs = [
- "@ranch//:bazel_erlang_lib",
+ "@ranch//:erlang_app",
],
tags = ["xref"],
)
@@ -207,7 +204,7 @@ suites = [
name = "rabbit_env_SUITE",
size = "small",
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_suite(
@@ -225,8 +222,8 @@ suites = [
"test/gen_server2_test_server.erl",
],
deps = [
- "@credentials_obfuscation//:bazel_erlang_lib",
- "@proper//:bazel_erlang_lib",
+ "@credentials_obfuscation//:erlang_app",
+ "@proper//:erlang_app",
],
),
rabbitmq_suite(
diff --git a/deps/rabbitmq_amqp1_0/BUILD.bazel b/deps/rabbitmq_amqp1_0/BUILD.bazel
index 08e48ade74..7116755897 100644
--- a/deps/rabbitmq_amqp1_0/BUILD.bazel
+++ b/deps/rabbitmq_amqp1_0/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -26,16 +26,16 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/amqp10_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/amqp_client:erlang_app",
+ "//deps/amqp10_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_name = APP_NAME,
@@ -66,7 +66,7 @@ suites = [
name = "amqp10_client_SUITE",
size = "small",
runtime_deps = [
- "//deps/amqp10_client:bazel_erlang_lib",
+ "//deps/amqp10_client:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -74,7 +74,7 @@ suites = [
name = "command_SUITE",
size = "medium",
deps = [
- "//deps/amqp10_common:bazel_erlang_lib",
+ "//deps/amqp10_common:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -97,7 +97,7 @@ suites = [
name = "unit_SUITE",
size = "small",
deps = [
- "//deps/amqp10_common:bazel_erlang_lib",
+ "//deps/amqp10_common:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_auth_backend_cache/BUILD.bazel b/deps/rabbitmq_auth_backend_cache/BUILD.bazel
index 50fc4bcfbe..9ca98843b5 100644
--- a/deps/rabbitmq_auth_backend_cache/BUILD.bazel
+++ b/deps/rabbitmq_auth_backend_cache/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -29,18 +29,18 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
FIRST_SRCS = [
"src/rabbit_auth_cache.erl",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -75,7 +75,7 @@ suites = [
rabbitmq_suite(
name = "rabbit_auth_cache_SUITE",
runtime_deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_auth_backend_http/BUILD.bazel b/deps/rabbitmq_auth_backend_http/BUILD.bazel
index b64d3fe6a0..b11a49f077 100644
--- a/deps/rabbitmq_auth_backend_http/BUILD.bazel
+++ b/deps/rabbitmq_auth_backend_http/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -33,15 +33,15 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/amqp_client:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/amqp_client:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -78,10 +78,10 @@ suites = [
"test/auth_http_mock.erl",
],
runtime_deps = [
- "@cowboy//:bazel_erlang_lib",
+ "@cowboy//:erlang_app",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
diff --git a/deps/rabbitmq_auth_backend_ldap/BUILD.bazel b/deps/rabbitmq_auth_backend_ldap/BUILD.bazel
index 10e5faef6c..eb16751b92 100644
--- a/deps/rabbitmq_auth_backend_ldap/BUILD.bazel
+++ b/deps/rabbitmq_auth_backend_ldap/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -49,14 +49,14 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel b/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel
index 34c4d8041b..7ffe8fa97e 100644
--- a/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel
+++ b/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -17,22 +17,22 @@ APP_NAME = "rabbitmq_auth_backend_oauth2"
APP_DESCRIPTION = "OAuth 2 and JWT-based AuthN and AuthZ backend"
BUILD_DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
"//deps/rabbitmq_cli:rabbitmqctl",
"@lager//:bazel_erlang_lib",
]
DEPS = [
- "@jose//:bazel_erlang_lib",
+ "@jose//:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "@base64url//:bazel_erlang_lib",
- "@cowlib//:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "@base64url//:erlang_app",
+ "@cowlib//:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
build_deps = BUILD_DEPS,
@@ -89,14 +89,14 @@ suites = [
"test/jwks_http_sup.erl",
],
runtime_deps = [
- "@cowboy//:bazel_erlang_lib",
+ "@cowboy//:erlang_app",
],
),
rabbitmq_suite(
name = "scope_SUITE",
size = "small",
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
diff --git a/deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel b/deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel
index 6c0f8d4cad..a012556aba 100644
--- a/deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel
+++ b/deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel
@@ -1,9 +1,9 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
- "rabbitmq_lib",
+ "rabbitmq_app",
)
APP_NAME = "rabbitmq_auth_mechanism_ssl"
@@ -21,14 +21,14 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/deps/rabbitmq_aws/BUILD.bazel b/deps/rabbitmq_aws/BUILD.bazel
index c3d5194d71..0799fbdfb4 100644
--- a/deps/rabbitmq_aws/BUILD.bazel
+++ b/deps/rabbitmq_aws/BUILD.bazel
@@ -1,7 +1,7 @@
-load("@bazel-erlang//:eunit.bzl", "eunit")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
-load("//:rabbitmq.bzl", "RABBITMQ_TEST_ERLC_OPTS", "rabbitmq_lib")
+load("@rules_erlang//:eunit.bzl", "eunit")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
+load("//:rabbitmq.bzl", "RABBITMQ_TEST_ERLC_OPTS", "rabbitmq_app")
APP_NAME = "rabbitmq_aws"
@@ -21,11 +21,15 @@ EXTRA_APPS = [
]
BUILD_DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -36,12 +40,20 @@ rabbitmq_lib(
xref(
additional_libs = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@credentials_obfuscation//:bazel_erlang_lib",
"@jsx//:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
"@ranch//:bazel_erlang_lib",
"@recon//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+ "@credentials_obfuscation//:erlang_app",
+ "@jsx//:erlang_app",
+ "@ranch//:erlang_app",
+ "@recon//:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
tags = ["xref"],
)
@@ -62,8 +74,8 @@ eunit(
"-I deps/rabbitmq_aws",
],
runtime_deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "@meck//:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "@meck//:erlang_app",
],
deps = [
"@lager//:bazel_erlang_lib",
diff --git a/deps/rabbitmq_cli/BUILD.bazel b/deps/rabbitmq_cli/BUILD.bazel
index 9373fc82d9..a31e853379 100644
--- a/deps/rabbitmq_cli/BUILD.bazel
+++ b/deps/rabbitmq_cli/BUILD.bazel
@@ -1,10 +1,13 @@
load(":rabbitmqctl.bzl", "rabbitmqctl")
load(":rabbitmqctl_test.bzl", "rabbitmqctl_test")
load(":elixir.bzl", "elixir")
+load("//:rabbitmq_home.bzl", "rabbitmq_home")
+load("//:rabbitmq_run.bzl", "rabbitmq_run")
+load("//:rabbitmq.bzl", "STARTS_BACKGROUND_BROKER_TAG")
# This rule simply exposes elixir as a runtime lib for tests in erlang
elixir(
- name = "elixir_as_bazel_erlang_lib",
+ name = "elixir_app",
visibility = ["//visibility:public"],
)
@@ -18,12 +21,34 @@ rabbitmqctl(
]),
visibility = ["//visibility:public"],
deps = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@goldrush//:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
+rabbitmq_home(
+ name = "broker-for-cli-tests-home",
+ testonly = True,
+ plugins = [
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_federation:erlang_app",
+ "//deps/rabbitmq_stomp:erlang_app",
+ "//deps/amqp_client:erlang_app",
+ ],
+)
+
+rabbitmq_run(
+ name = "rabbitmq-for-cli-tests-run",
+ testonly = True,
+ home = ":broker-for-cli-tests-home",
+ visibility = ["//visibility:public"],
+)
+
rabbitmqctl_test(
name = "rabbitmqctl_tests",
size = "large",
@@ -34,6 +59,7 @@ rabbitmqctl_test(
"test/**/*.exs",
]),
data = glob(["test/fixtures/**/*"]),
+<<<<<<< HEAD
rabbitmq_run = "//:rabbitmq-for-cli-tests-run",
deps = [
"//deps/amqp_client:bazel_erlang_lib",
@@ -41,5 +67,14 @@ rabbitmqctl_test(
"//deps/rabbit_common:bazel_erlang_lib",
"@goldrush//:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ flaky = True,
+ rabbitmq_run = ":rabbitmq-for-cli-tests-run",
+ tags = [STARTS_BACKGROUND_BROKER_TAG],
+ deps = [
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
diff --git a/deps/rabbitmq_cli/elixir.bzl b/deps/rabbitmq_cli/elixir.bzl
index e9d738ef5f..4ea13f7c5b 100644
--- a/deps/rabbitmq_cli/elixir.bzl
+++ b/deps/rabbitmq_cli/elixir.bzl
@@ -1,5 +1,6 @@
-load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "ErlangLibInfo", "path_join")
+load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
+load("@rules_erlang//:erlang_app_info.bzl", "ErlangAppInfo")
+load("@rules_erlang//:util.bzl", "path_join", "windows_path")
load("//:elixir_home.bzl", "ElixirHomeProvider")
def _impl(ctx):
@@ -9,24 +10,36 @@ def _impl(ctx):
ebin = ctx.actions.declare_directory(path_join(ctx.attr.name, "ebin"))
- ctx.actions.run(
- inputs = [],
- outputs = [ebin],
- executable = "cp",
- arguments = [
- "-R",
- "{}/lib/elixir/ebin".format(elixir_home),
- ebin.dirname,
- ],
- )
+ if not ctx.attr.is_windows:
+ ctx.actions.run(
+ inputs = [],
+ outputs = [ebin],
+ executable = "cp",
+ arguments = [
+ "-R",
+ "{}/lib/elixir/ebin".format(elixir_home),
+ ebin.dirname,
+ ],
+ )
+ else:
+ # robocopy exits non-zero when new files are copied, so we can't
+ # just ctx.actions.run robocopy
+ ctx.actions.run_shell(
+ inputs = [],
+ outputs = [ebin],
+ command = "cp -R \"{elixir_home}\"/lib/elixir/ebin {ebin}".format(
+ elixir_home = elixir_home,
+ ebin = ebin.dirname,
+ ),
+ )
return [
DefaultInfo(
files = depset([ebin]),
runfiles = ctx.runfiles([ebin]),
),
- ErlangLibInfo(
- lib_name = ctx.attr.name,
+ ErlangAppInfo(
+ app_name = ctx.attr.name,
erlang_version = erlang_version,
include = [],
beam = [ebin],
@@ -35,11 +48,21 @@ def _impl(ctx):
),
]
-elixir = rule(
+elixir_private = rule(
implementation = _impl,
attrs = {
- "_erlang_version": attr.label(default = "@bazel-erlang//:erlang_version"),
- "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"),
- "_elixir_home": attr.label(default = "//:elixir_home"),
+ "is_windows": attr.bool(mandatory = True),
+ "_erlang_version": attr.label(default = Label("@rules_erlang//:erlang_version")),
+ "_erlang_home": attr.label(default = Label("@rules_erlang//:erlang_home")),
+ "_elixir_home": attr.label(default = Label("//:elixir_home")),
},
)
+
+def elixir(**kwargs):
+ elixir_private(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
diff --git a/deps/rabbitmq_cli/rabbitmqctl.bzl b/deps/rabbitmq_cli/rabbitmqctl.bzl
index 8da75a0729..aabab623a2 100644
--- a/deps/rabbitmq_cli/rabbitmqctl.bzl
+++ b/deps/rabbitmq_cli/rabbitmqctl.bzl
@@ -1,15 +1,18 @@
-load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
+load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
load(
- "@bazel-erlang//:bazel_erlang_lib.bzl",
+ "@rules_erlang//:erlang_app_info.bzl",
+ "ErlangAppInfo",
+ "flat_deps",
+)
+load(
+ "@rules_erlang//:util.bzl",
"BEGINS_WITH_FUN",
- "ErlangLibInfo",
"QUERY_ERL_VERSION",
- "flat_deps",
"path_join",
)
load("//:elixir_home.bzl", "ElixirHomeProvider")
-MIX_DEPS_DIR = "mix_deps"
+MIX_DEPS_DIR = "deps"
def _impl(ctx):
erlang_version = ctx.attr._erlang_version[ErlangVersionProvider].version
@@ -22,11 +25,11 @@ def _impl(ctx):
copy_compiled_deps_commands = []
copy_compiled_deps_commands.append("mkdir ${{MIX_INVOCATION_DIR}}/{}".format(MIX_DEPS_DIR))
for dep in ctx.attr.deps:
- lib_info = dep[ErlangLibInfo]
+ lib_info = dep[ErlangAppInfo]
if lib_info.erlang_version != erlang_version:
fail("Mismatched erlang versions", erlang_version, lib_info.erlang_version)
- dest_dir = path_join("${MIX_INVOCATION_DIR}", MIX_DEPS_DIR, lib_info.lib_name)
+ dest_dir = path_join("${MIX_INVOCATION_DIR}", MIX_DEPS_DIR, lib_info.app_name)
copy_compiled_deps_commands.append(
"mkdir {}".format(dest_dir),
)
@@ -57,48 +60,55 @@ def _impl(ctx):
if ctx.label.workspace_root != "":
package_dir = path_join(ctx.label.workspace_root, package_dir)
- script = """
- set -euo pipefail
+ script = """set -euo pipefail
- export LANG="en_US.UTF-8"
- export LC_ALL="en_US.UTF-8"
+export LANG="en_US.UTF-8"
+export LC_ALL="en_US.UTF-8"
- export PATH={elixir_home}/bin:{erlang_home}/bin:${{PATH}}
+export PATH="{elixir_home}"/bin:"{erlang_home}"/bin:${{PATH}}
- MIX_INVOCATION_DIR="{mix_invocation_dir}"
+MIX_INVOCATION_DIR="{mix_invocation_dir}"
- cp -R ${{PWD}}/{package_dir}/config ${{MIX_INVOCATION_DIR}}/config
- # cp -R ${{PWD}}/{package_dir}/include ${{MIX_INVOCATION_DIR}}/include # rabbitmq_cli's include directory is empty
- cp -R ${{PWD}}/{package_dir}/lib ${{MIX_INVOCATION_DIR}}/lib
- cp ${{PWD}}/{package_dir}/mix.exs ${{MIX_INVOCATION_DIR}}/mix.exs
+cp -R ${{PWD}}/{package_dir}/config ${{MIX_INVOCATION_DIR}}/config
+# cp -R ${{PWD}}/{package_dir}/include ${{MIX_INVOCATION_DIR}}/include # rabbitmq_cli's include directory is empty
+cp -R ${{PWD}}/{package_dir}/lib ${{MIX_INVOCATION_DIR}}/lib
+cp ${{PWD}}/{package_dir}/mix.exs ${{MIX_INVOCATION_DIR}}/mix.exs
- {copy_compiled_deps_command}
+{copy_compiled_deps_command}
- cd ${{MIX_INVOCATION_DIR}}
- export HOME=${{PWD}}
+cd ${{MIX_INVOCATION_DIR}}
+export HOME=${{PWD}}
- {begins_with_fun}
- V=$({query_erlang_version})
- if ! beginswith "{erlang_version}" "$V"; then
- echo "Erlang version mismatch (Expected {erlang_version}, found $V)"
- exit 1
- fi
+{begins_with_fun}
+V=$("{erlang_home}"/bin/{query_erlang_version})
+if ! beginswith "{erlang_version}" "$V"; then
+ echo "Erlang version mismatch (Expected {erlang_version}, found $V)"
+ exit 1
+fi
+<<<<<<< HEAD
export DEPS_DIR={mix_deps_dir}
mix local.hex --force
mix local.rebar --force
mix make_all
-
- cd ${{OLDPWD}}
- cp ${{MIX_INVOCATION_DIR}}/escript/rabbitmqctl {escript_path}
-
- mkdir -p {ebin_dir}
- mv ${{MIX_INVOCATION_DIR}}/_build/dev/lib/rabbitmqctl/ebin/* {ebin_dir}
- mv ${{MIX_INVOCATION_DIR}}/_build/dev/lib/rabbitmqctl/consolidated/* {ebin_dir}
-
- rm -dR ${{MIX_INVOCATION_DIR}}
- mkdir ${{MIX_INVOCATION_DIR}}
- touch ${{MIX_INVOCATION_DIR}}/placeholder
+=======
+export DEPS_DIR={mix_deps_dir}
+export ERL_COMPILER_OPTIONS=deterministic
+"{elixir_home}"/bin/mix local.hex --force
+"{elixir_home}"/bin/mix local.rebar --force
+"{elixir_home}"/bin/mix make_all_in_src_archive
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
+
+cd ${{OLDPWD}}
+cp ${{MIX_INVOCATION_DIR}}/escript/rabbitmqctl {escript_path}
+
+mkdir -p {ebin_dir}
+mv ${{MIX_INVOCATION_DIR}}/_build/dev/lib/rabbitmqctl/ebin/* {ebin_dir}
+mv ${{MIX_INVOCATION_DIR}}/_build/dev/lib/rabbitmqctl/consolidated/* {ebin_dir}
+
+rm -dR ${{MIX_INVOCATION_DIR}}
+mkdir ${{MIX_INVOCATION_DIR}}
+touch ${{MIX_INVOCATION_DIR}}/placeholder
""".format(
begins_with_fun = BEGINS_WITH_FUN,
query_erlang_version = QUERY_ERL_VERSION,
@@ -107,7 +117,7 @@ def _impl(ctx):
elixir_home = elixir_home,
mix_invocation_dir = mix_invocation_dir.path,
package_dir = package_dir,
- copy_compiled_deps_command = " && ".join(copy_compiled_deps_commands),
+ copy_compiled_deps_command = "\n".join(copy_compiled_deps_commands),
mix_deps_dir = MIX_DEPS_DIR,
escript_path = escript.path,
ebin_dir = ebin.path,
@@ -116,7 +126,7 @@ def _impl(ctx):
inputs = []
inputs.extend(ctx.files.srcs)
for dep in ctx.attr.deps:
- lib_info = dep[ErlangLibInfo]
+ lib_info = dep[ErlangAppInfo]
inputs.extend(lib_info.include)
inputs.extend(lib_info.beam)
@@ -139,8 +149,8 @@ def _impl(ctx):
files = depset([ebin]),
runfiles = runfiles,
),
- ErlangLibInfo(
- lib_name = ctx.attr.name,
+ ErlangAppInfo(
+ app_name = ctx.attr.name,
erlang_version = erlang_version,
include = [],
beam = [ebin],
@@ -149,14 +159,24 @@ def _impl(ctx):
),
]
-rabbitmqctl = rule(
+rabbitmqctl_private = rule(
implementation = _impl,
attrs = {
+ "is_windows": attr.bool(mandatory = True),
"srcs": attr.label_list(allow_files = True),
- "deps": attr.label_list(providers = [ErlangLibInfo]),
- "_erlang_version": attr.label(default = "@bazel-erlang//:erlang_version"),
- "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"),
- "_elixir_home": attr.label(default = "//:elixir_home"),
+ "deps": attr.label_list(providers = [ErlangAppInfo]),
+ "_erlang_version": attr.label(default = Label("@rules_erlang//:erlang_version")),
+ "_erlang_home": attr.label(default = Label("@rules_erlang//:erlang_home")),
+ "_elixir_home": attr.label(default = Label("//:elixir_home")),
},
executable = True,
)
+
+def rabbitmqctl(**kwargs):
+ rabbitmqctl_private(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
diff --git a/deps/rabbitmq_cli/rabbitmqctl_test.bzl b/deps/rabbitmq_cli/rabbitmqctl_test.bzl
index 50ce275c05..f23d340261 100644
--- a/deps/rabbitmq_cli/rabbitmqctl_test.bzl
+++ b/deps/rabbitmq_cli/rabbitmqctl_test.bzl
@@ -1,150 +1,202 @@
-load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "BEGINS_WITH_FUN", "ErlangLibInfo", "QUERY_ERL_VERSION", "path_join")
-load("@bazel-erlang//:ct.bzl", "code_paths")
+load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
+load(
+ "@rules_erlang//:erlang_app_info.bzl",
+ "ErlangAppInfo",
+)
+load(
+ "@rules_erlang//:util.bzl",
+ "BEGINS_WITH_FUN",
+ "QUERY_ERL_VERSION",
+ "path_join",
+ "windows_path",
+)
+load(
+ "@rules_erlang//private:ct.bzl",
+ "ERL_LIBS_DIR",
+ "code_paths",
+ "erl_libs_contents",
+)
load("//:elixir_home.bzl", "ElixirHomeProvider")
-load(":rabbitmqctl.bzl", "MIX_DEPS_DIR")
-
-def _lib_dirs(dep):
- return [path_join(p, "..") for p in code_paths(dep)]
def _impl(ctx):
erlang_version = ctx.attr._erlang_version[ErlangVersionProvider].version
erlang_home = ctx.attr._erlang_home[ErlangHomeProvider].path
elixir_home = ctx.attr._elixir_home[ElixirHomeProvider].path
- copy_compiled_deps_commands = []
- copy_compiled_deps_commands.append("mkdir ${{TEST_UNDECLARED_OUTPUTS_DIR}}/{}".format(MIX_DEPS_DIR))
- for dep in ctx.attr.deps:
- lib_info = dep[ErlangLibInfo]
- if lib_info.erlang_version != erlang_version:
- fail("Mismatched erlang versions", erlang_version, lib_info.erlang_version)
+ erl_libs_files = erl_libs_contents(ctx, headers = True)
- dest_dir = path_join("${TEST_UNDECLARED_OUTPUTS_DIR}", MIX_DEPS_DIR, lib_info.lib_name)
- copy_compiled_deps_commands.append(
- "mkdir {}".format(dest_dir),
- )
- copy_compiled_deps_commands.append(
- "mkdir {}".format(path_join(dest_dir, "include")),
- )
- copy_compiled_deps_commands.append(
- "mkdir {}".format(path_join(dest_dir, "ebin")),
- )
- for hdr in lib_info.include:
- copy_compiled_deps_commands.append(
- "cp ${{PWD}}/{source} {target}".format(
- source = hdr.short_path,
- target = path_join(dest_dir, "include", hdr.basename),
- ),
- )
- for beam in lib_info.beam:
- copy_compiled_deps_commands.append(
- "cp ${{PWD}}/{source} {target}".format(
- source = beam.short_path,
- target = path_join(dest_dir, "ebin", beam.basename),
- ),
- )
-
- erl_libs = ":".join(
- [path_join("${TEST_SRCDIR}/${TEST_WORKSPACE}", d) for dep in ctx.attr.deps for d in _lib_dirs(dep)],
- )
+ package_dir = path_join(ctx.label.workspace_root, ctx.label.package)
- script = """
- set -euo pipefail
+ erl_libs_path = path_join(package_dir, ERL_LIBS_DIR)
- export LANG="en_US.UTF-8"
- export LC_ALL="en_US.UTF-8"
+ if not ctx.attr.is_windows:
+ output = ctx.actions.declare_file(ctx.label.name)
+ script = """set -euo pipefail
- export PATH={elixir_home}/bin:{erlang_home}/bin:${{PATH}}
+export LANG="en_US.UTF-8"
+export LC_ALL="en_US.UTF-8"
- INITIAL_DIR=${{PWD}}
+export PATH="{elixir_home}"/bin:"{erlang_home}"/bin:${{PATH}}
- ln -s ${{PWD}}/{package_dir}/config ${{TEST_UNDECLARED_OUTPUTS_DIR}}
- # ln -s ${{PWD}}/{package_dir}/include ${{TEST_UNDECLARED_OUTPUTS_DIR}}
- ln -s ${{PWD}}/{package_dir}/lib ${{TEST_UNDECLARED_OUTPUTS_DIR}}
- ln -s ${{PWD}}/{package_dir}/test ${{TEST_UNDECLARED_OUTPUTS_DIR}}
- ln -s ${{PWD}}/{package_dir}/mix.exs ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+INITIAL_DIR=${{PWD}}
- {copy_compiled_deps_command}
+ln -s ${{PWD}}/{package_dir}/config ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+# ln -s ${{PWD}}/{package_dir}/include ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+ln -s ${{PWD}}/{package_dir}/lib ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+ln -s ${{PWD}}/{package_dir}/test ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+ln -s ${{PWD}}/{package_dir}/mix.exs ${{TEST_UNDECLARED_OUTPUTS_DIR}}
- cd ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+cd ${{TEST_UNDECLARED_OUTPUTS_DIR}}
- export HOME=${{PWD}}
+export HOME=${{PWD}}
- {begins_with_fun}
- V=$({query_erlang_version})
- if ! beginswith "{erlang_version}" "$V"; then
- echo "Erlang version mismatch (Expected {erlang_version}, found $V)"
- exit 1
- fi
+{begins_with_fun}
+V=$("{erlang_home}"/bin/{query_erlang_version})
+if ! beginswith "{erlang_version}" "$V"; then
+ echo "Erlang version mismatch (Expected {erlang_version}, found $V)"
+ exit 1
+fi
+export DEPS_DIR=$TEST_SRCDIR/$TEST_WORKSPACE/{erl_libs_path}
+export ERL_COMPILER_OPTIONS=deterministic
+export MIX_ENV=test mix dialyzer
+"{elixir_home}"/bin/mix local.hex --force
+"{elixir_home}"/bin/mix local.rebar --force
+"{elixir_home}"/bin/mix make_all
+
+<<<<<<< HEAD
export DEPS_DIR={mix_deps_dir}
mix local.hex --force
mix local.rebar --force
mix make_deps
-
- # due to https://github.com/elixir-lang/elixir/issues/7699 we
- # "run" the tests, but skip them all, in order to trigger
- # compilation of all *_test.exs files before we actually run them
- mix test --exclude test
-
- export TEST_TMPDIR=${{TEST_UNDECLARED_OUTPUTS_DIR}}
-
- # we need a running broker with certain plugins for this to pass
- trap 'catch $?' EXIT
- catch() {{
- pid=$(cat ${{TEST_TMPDIR}}/*/*.pid)
- kill -TERM "${{pid}}"
- }}
- cd ${{INITIAL_DIR}}
- ./{rabbitmq_run_cmd} start-background-broker
- cd ${{TEST_UNDECLARED_OUTPUTS_DIR}}
-
- # The test cases will need to be able to load code from the deps
- # directly, so we set ERL_LIBS
- export ERL_LIBS={erl_libs}
-
- # run the actual tests
- mix test --trace --max-failures 1
+=======
+# due to https://github.com/elixir-lang/elixir/issues/7699 we
+# "run" the tests, but skip them all, in order to trigger
+# compilation of all *_test.exs files before we actually run them
+"{elixir_home}"/bin/mix test --exclude test
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
+
+export TEST_TMPDIR=${{TEST_UNDECLARED_OUTPUTS_DIR}}
+
+# we need a running broker with certain plugins for this to pass
+trap 'catch $?' EXIT
+catch() {{
+ pid=$(cat ${{TEST_TMPDIR}}/*/*.pid)
+ kill -TERM "${{pid}}"
+}}
+cd ${{INITIAL_DIR}}
+./{rabbitmq_run_cmd} start-background-broker
+cd ${{TEST_UNDECLARED_OUTPUTS_DIR}}
+
+# The test cases will need to be able to load code from the deps
+# directly, so we set ERL_LIBS
+export ERL_LIBS=$DEPS_DIR
+
+# run the actual tests
+"{elixir_home}"/bin/mix test --trace --max-failures 1
""".format(
- begins_with_fun = BEGINS_WITH_FUN,
- query_erlang_version = QUERY_ERL_VERSION,
- erlang_version = erlang_version,
- erlang_home = erlang_home,
- elixir_home = elixir_home,
- package_dir = ctx.label.package,
- copy_compiled_deps_command = " && ".join(copy_compiled_deps_commands),
- mix_deps_dir = MIX_DEPS_DIR,
- erl_libs = erl_libs,
- rabbitmq_run_cmd = ctx.attr.rabbitmq_run[DefaultInfo].files_to_run.executable.short_path,
- )
+ begins_with_fun = BEGINS_WITH_FUN,
+ query_erlang_version = QUERY_ERL_VERSION,
+ erlang_version = erlang_version,
+ erlang_home = erlang_home,
+ elixir_home = elixir_home,
+ package_dir = package_dir,
+ erl_libs_path = erl_libs_path,
+ rabbitmq_run_cmd = ctx.attr.rabbitmq_run[DefaultInfo].files_to_run.executable.short_path,
+ )
+ else:
+ output = ctx.actions.declare_file(ctx.label.name + ".bat")
+ script = """@echo off
+echo Erlang Version: {erlang_version}
+
+:: set LANG="en_US.UTF-8"
+:: set LC_ALL="en_US.UTF-8"
+
+set PATH="{elixir_home}\\bin";"{erlang_home}\\bin";%PATH%
+
+set OUTPUTS_DIR=%TEST_UNDECLARED_OUTPUTS_DIR:/=\\%
+
+:: robocopy exits non-zero when files are copied successfully
+:: https://social.msdn.microsoft.com/Forums/en-US/d599833c-dcea-46f5-85e9-b1f028a0fefe/robocopy-exits-with-error-code-1?forum=tfsbuild
+robocopy {package_dir}\\config %OUTPUTS_DIR%\\config /E /NFL /NDL /NJH /NJS /nc /ns /np
+robocopy {package_dir}\\lib %OUTPUTS_DIR%\\lib /E /NFL /NDL /NJH /NJS /nc /ns /np
+robocopy {package_dir}\\test %OUTPUTS_DIR%\\test /E /NFL /NDL /NJH /NJS /nc /ns /np
+copy {package_dir}\\mix.exs %OUTPUTS_DIR%\\mix.exs || goto :error
+
+cd %OUTPUTS_DIR% || goto :error
+
+set DEPS_DIR=%TEST_SRCDIR%/%TEST_WORKSPACE%/{erl_libs_path}
+set DEPS_DIR=%DEPS_DIR:/=\\%
+set ERL_COMPILER_OPTIONS=deterministic
+set MIX_ENV=test mix dialyzer
+echo y | "{elixir_home}\\bin\\mix" local.hex --force || goto :error
+echo y | "{elixir_home}\\bin\\mix" local.rebar --force || goto :error
+echo y | "{elixir_home}\\bin\\mix" make_all || goto :error
+
+REM need to start the background broker here
+set TEST_TEMPDIR=%OUTPUTS_DIR%
+
+set ERL_LIBS=%DEPS_DIR%
+
+"{elixir_home}\\bin\\mix" test --trace --max-failures 1 || goto :error
+goto :EOF
+:error
+exit /b 1
+""".format(
+ erlang_version = erlang_version,
+ erlang_home = windows_path(ctx.attr._erlang_home[ErlangHomeProvider].path),
+ elixir_home = windows_path(elixir_home),
+ package_dir = windows_path(ctx.label.package),
+ erl_libs_path = erl_libs_path,
+ rabbitmq_run_cmd = ctx.attr.rabbitmq_run[DefaultInfo].files_to_run.executable.short_path,
+ test_env = "",
+ filter_tests_args = "",
+ dir = "",
+ package = "",
+ )
ctx.actions.write(
- output = ctx.outputs.executable,
+ output = output,
content = script,
)
- runfiles = ctx.runfiles(ctx.files.srcs)
- runfiles = runfiles.merge(ctx.runfiles(ctx.files.data))
+ runfiles = ctx.runfiles(
+ files = ctx.files.srcs + ctx.files.data,
+ transitive_files = depset(erl_libs_files),
+ )
for dep in ctx.attr.deps:
- lib_info = dep[ErlangLibInfo]
+ lib_info = dep[ErlangAppInfo]
runfiles = runfiles.merge(ctx.runfiles(lib_info.include + lib_info.beam))
runfiles = runfiles.merge(ctx.attr.rabbitmq_run[DefaultInfo].default_runfiles)
- return [DefaultInfo(runfiles = runfiles)]
+ return [DefaultInfo(
+ runfiles = runfiles,
+ executable = output,
+ )]
-rabbitmqctl_test = rule(
+rabbitmqctl_private_test = rule(
implementation = _impl,
attrs = {
+ "is_windows": attr.bool(mandatory = True),
"srcs": attr.label_list(allow_files = [".ex", ".exs"]),
"data": attr.label_list(allow_files = True),
- "deps": attr.label_list(providers = [ErlangLibInfo]),
+ "deps": attr.label_list(providers = [ErlangAppInfo]),
"rabbitmq_run": attr.label(
executable = True,
cfg = "target",
),
- "_erlang_version": attr.label(default = "@bazel-erlang//:erlang_version"),
- "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"),
- "_elixir_home": attr.label(default = "//:elixir_home"),
+ "_erlang_version": attr.label(default = Label("@rules_erlang//:erlang_version")),
+ "_erlang_home": attr.label(default = Label("@rules_erlang//:erlang_home")),
+ "_elixir_home": attr.label(default = Label("//:elixir_home")),
},
test = True,
)
+
+def rabbitmqctl_test(**kwargs):
+ rabbitmqctl_private_test(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
diff --git a/deps/rabbitmq_consistent_hash_exchange/BUILD.bazel b/deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
index d15d4048bf..981367a79f 100644
--- a/deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
+++ b/deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_consistent_hash_exchange"
@@ -19,14 +19,14 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
build_deps = BUILD_DEPS,
diff --git a/deps/rabbitmq_ct_client_helpers/BUILD.bazel b/deps/rabbitmq_ct_client_helpers/BUILD.bazel
index 785214e407..1cd7cb6d34 100644
--- a/deps/rabbitmq_ct_client_helpers/BUILD.bazel
+++ b/deps/rabbitmq_ct_client_helpers/BUILD.bazel
@@ -1,11 +1,11 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
-erlang_lib(
+erlang_app(
app_name = "rabbitmq_ct_client_helpers",
app_version = "master",
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
)
diff --git a/deps/rabbitmq_ct_helpers/BUILD.bazel b/deps/rabbitmq_ct_helpers/BUILD.bazel
index 994b7ac438..6aaa7d1369 100644
--- a/deps/rabbitmq_ct_helpers/BUILD.bazel
+++ b/deps/rabbitmq_ct_helpers/BUILD.bazel
@@ -1,6 +1,6 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
-erlang_lib(
+erlang_app(
app_name = "rabbitmq_ct_helpers",
app_version = "master",
extra_priv = [
@@ -8,7 +8,7 @@ erlang_lib(
"tools/tls-certs/openssl.cnf.in",
],
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "@proper//:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "@proper//:erlang_app",
],
)
diff --git a/deps/rabbitmq_event_exchange/BUILD.bazel b/deps/rabbitmq_event_exchange/BUILD.bazel
index 1d0b886ef3..00b4db120b 100644
--- a/deps/rabbitmq_event_exchange/BUILD.bazel
+++ b/deps/rabbitmq_event_exchange/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -19,11 +19,11 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
build_deps = BUILD_DEPS,
@@ -54,7 +54,7 @@ suites = [
rabbitmq_suite(
name = "unit_SUITE",
runtime_deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_federation/BUILD.bazel b/deps/rabbitmq_federation/BUILD.bazel
index c70a4c4298..f7bab2241d 100644
--- a/deps/rabbitmq_federation/BUILD.bazel
+++ b/deps/rabbitmq_federation/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -29,12 +29,12 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -66,10 +66,16 @@ erlc(
dest = "test",
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
deps = [
+<<<<<<< HEAD
":test_bazel_erlang_lib",
"//deps/amqp_client:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ ":test_erlang_app",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
@@ -125,8 +131,8 @@ suites = [
rabbitmq_suite(
name = "unit_SUITE",
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_federation_management/BUILD.bazel b/deps/rabbitmq_federation_management/BUILD.bazel
index dbb274762e..ca70515511 100644
--- a/deps/rabbitmq_federation_management/BUILD.bazel
+++ b/deps/rabbitmq_federation_management/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_federation_management"
@@ -16,22 +16,26 @@ APP_DESCRIPTION = "RabbitMQ Federation Management"
APP_MODULE = "rabbit_federation_app"
BUILD_DEPS = [
+<<<<<<< HEAD
"//deps/rabbitmq_management_agent:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbitmq_management_agent:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
DEPS = [
- "//deps/rabbitmq_management:bazel_erlang_lib",
+ "//deps/rabbitmq_management:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_federation:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_federation:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
diff --git a/deps/rabbitmq_jms_topic_exchange/BUILD.bazel b/deps/rabbitmq_jms_topic_exchange/BUILD.bazel
index 0ebc003869..2b0c7405ac 100644
--- a/deps/rabbitmq_jms_topic_exchange/BUILD.bazel
+++ b/deps/rabbitmq_jms_topic_exchange/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -21,14 +21,14 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -58,8 +58,8 @@ suites = [
name = "rjms_topic_selector_unit_SUITE",
size = "small",
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_suite(
diff --git a/deps/rabbitmq_management/BUILD.bazel b/deps/rabbitmq_management/BUILD.bazel
index dea077692e..136bc48465 100644
--- a/deps/rabbitmq_management/BUILD.bazel
+++ b/deps/rabbitmq_management/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"APP_VERSION",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -47,16 +47,16 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_management_agent:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
- "@cowboy//:bazel_erlang_lib",
- "@cowlib//:bazel_erlang_lib",
+ "//deps/rabbitmq_web_dispatch:erlang_app",
+ "@cowboy//:erlang_app",
+ "@cowlib//:erlang_app",
]
genrule(
@@ -69,7 +69,7 @@ sed 's/%%VSN%%/{}/' $< > $@
""".format(APP_VERSION),
)
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -100,7 +100,7 @@ erlc(
],
dest = "test",
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
)
@@ -111,10 +111,10 @@ suites = [
name = "cache_SUITE",
size = "small",
runtime_deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -122,8 +122,8 @@ suites = [
name = "clustering_prop_SUITE",
size = "large",
deps = [
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
- "@proper//:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:erlang_app",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -131,7 +131,7 @@ suites = [
name = "clustering_SUITE",
flaky = True,
deps = [
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -174,18 +174,18 @@ suites = [
name = "rabbit_mgmt_stats_SUITE",
size = "small",
runtime_deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
deps = [
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
- "@proper//:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:erlang_app",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
PACKAGE,
name = "rabbit_mgmt_test_db_SUITE",
deps = [
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:erlang_app",
],
),
rabbitmq_suite(
@@ -196,8 +196,8 @@ suites = [
name = "stats_SUITE",
size = "small",
deps = [
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
- "@proper//:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:erlang_app",
+ "@proper//:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_management_agent/BUILD.bazel b/deps/rabbitmq_management_agent/BUILD.bazel
index f326d98b6b..5ee28ae6fe 100644
--- a/deps/rabbitmq_management_agent/BUILD.bazel
+++ b/deps/rabbitmq_management_agent/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -39,12 +39,17 @@ BUILD_DEPS = [
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"//deps/rabbit:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -81,7 +86,7 @@ suites = [
name = "exometer_slide_SUITE",
size = "small",
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -98,10 +103,10 @@ suites = [
name = "rabbit_mgmt_slide_SUITE",
size = "small",
runtime_deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
deps = [
- "@proper//:bazel_erlang_lib",
+ "@proper//:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_mqtt/BUILD.bazel b/deps/rabbitmq_mqtt/BUILD.bazel
index ae2ebbd7e8..2ef0755301 100644
--- a/deps/rabbitmq_mqtt/BUILD.bazel
+++ b/deps/rabbitmq_mqtt/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -51,17 +51,17 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "@ra//:bazel_erlang_lib",
- "@ranch//:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "@ra//:erlang_app",
+ "@ranch//:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -91,8 +91,12 @@ erlc(
dest = "test",
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
deps = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
@@ -106,7 +110,7 @@ suites = [
":rabbit_auth_backend_mqtt_mock",
],
runtime_deps = [
- "@emqttc//:bazel_erlang_lib",
+ "@emqttc//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -115,14 +119,14 @@ suites = [
size = "large",
flaky = True,
runtime_deps = [
- "@emqttc//:bazel_erlang_lib",
+ "@emqttc//:erlang_app",
],
),
rabbitmq_integration_suite(
PACKAGE,
name = "command_SUITE",
runtime_deps = [
- "@emqttc//:bazel_erlang_lib",
+ "@emqttc//:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -142,8 +146,8 @@ suites = [
name = "processor_SUITE",
size = "small",
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -154,14 +158,14 @@ suites = [
PACKAGE,
name = "reader_SUITE",
runtime_deps = [
- "@emqttc//:bazel_erlang_lib",
+ "@emqttc//:erlang_app",
],
),
rabbitmq_integration_suite(
PACKAGE,
name = "retainer_SUITE",
runtime_deps = [
- "@emqttc//:bazel_erlang_lib",
+ "@emqttc//:erlang_app",
],
),
rabbitmq_suite(
diff --git a/deps/rabbitmq_peer_discovery_aws/BUILD.bazel b/deps/rabbitmq_peer_discovery_aws/BUILD.bazel
index ee8d79054d..87346b66b5 100644
--- a/deps/rabbitmq_peer_discovery_aws/BUILD.bazel
+++ b/deps/rabbitmq_peer_discovery_aws/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -23,16 +23,16 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_peer_discovery_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_peer_discovery_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbitmq_aws:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbitmq_aws:erlang_app",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
build_deps = BUILD_DEPS,
@@ -81,14 +81,14 @@ suites = [
"external",
],
deps = [
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
],
),
rabbitmq_suite(
name = "unit_SUITE",
size = "small",
runtime_deps = [
- "@meck//:bazel_erlang_lib",
+ "@meck//:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_peer_discovery_common/BUILD.bazel b/deps/rabbitmq_peer_discovery_common/BUILD.bazel
index 62d4621415..d85651e374 100644
--- a/deps/rabbitmq_peer_discovery_common/BUILD.bazel
+++ b/deps/rabbitmq_peer_discovery_common/BUILD.bazel
@@ -1,5 +1,5 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
@@ -7,8 +7,8 @@ load(
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_peer_discovery_common"
@@ -26,14 +26,14 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
diff --git a/deps/rabbitmq_peer_discovery_consul/BUILD.bazel b/deps/rabbitmq_peer_discovery_consul/BUILD.bazel
index c966d63823..a027171c3e 100644
--- a/deps/rabbitmq_peer_discovery_consul/BUILD.bazel
+++ b/deps/rabbitmq_peer_discovery_consul/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -21,15 +21,15 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_peer_discovery_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_peer_discovery_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -59,7 +59,7 @@ suites = [
name = "rabbitmq_peer_discovery_consul_SUITE",
size = "small",
runtime_deps = [
- "@meck//:bazel_erlang_lib",
+ "@meck//:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_peer_discovery_etcd/BUILD.bazel b/deps/rabbitmq_peer_discovery_etcd/BUILD.bazel
index a34b1ec13d..caac372a04 100644
--- a/deps/rabbitmq_peer_discovery_etcd/BUILD.bazel
+++ b/deps/rabbitmq_peer_discovery_etcd/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -21,17 +21,17 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_peer_discovery_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_peer_discovery_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "@eetcd//:bazel_erlang_lib",
- "@gun//:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "@eetcd//:erlang_app",
+ "@gun//:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
diff --git a/deps/rabbitmq_peer_discovery_k8s/BUILD.bazel b/deps/rabbitmq_peer_discovery_k8s/BUILD.bazel
index b2c98da37d..965ee94d1b 100644
--- a/deps/rabbitmq_peer_discovery_k8s/BUILD.bazel
+++ b/deps/rabbitmq_peer_discovery_k8s/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -21,15 +21,15 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_peer_discovery_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_peer_discovery_common:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -59,7 +59,7 @@ suites = [
name = "rabbitmq_peer_discovery_k8s_SUITE",
size = "small",
runtime_deps = [
- "@meck//:bazel_erlang_lib",
+ "@meck//:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_prometheus/BUILD.bazel b/deps/rabbitmq_prometheus/BUILD.bazel
index 870041f5fa..0391f95aa4 100644
--- a/deps/rabbitmq_prometheus/BUILD.bazel
+++ b/deps/rabbitmq_prometheus/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_prometheus"
@@ -18,23 +18,27 @@ APP_ENV = """[
]"""
BUILD_DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
]
DEPS = [
+<<<<<<< HEAD
"@lager//:bazel_erlang_lib",
"@prometheus//:bazel_erlang_lib",
+=======
+ "@prometheus//:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
- "//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
- "@accept//:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_management_agent:erlang_app",
+ "//deps/rabbitmq_web_dispatch:erlang_app",
+ "@accept//:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_module = APP_MODULE,
app_name = APP_NAME,
build_deps = BUILD_DEPS,
diff --git a/deps/rabbitmq_random_exchange/BUILD.bazel b/deps/rabbitmq_random_exchange/BUILD.bazel
index a597b1b659..4f5f83d313 100644
--- a/deps/rabbitmq_random_exchange/BUILD.bazel
+++ b/deps/rabbitmq_random_exchange/BUILD.bazel
@@ -1,9 +1,9 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
- "rabbitmq_lib",
+ "rabbitmq_app",
)
APP_NAME = "rabbitmq_random_exchange"
@@ -11,15 +11,19 @@ APP_NAME = "rabbitmq_random_exchange"
APP_DESCRIPTION = "RabbitMQ Random Exchange"
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
runtime_deps = RUNTIME_DEPS,
diff --git a/deps/rabbitmq_recent_history_exchange/BUILD.bazel b/deps/rabbitmq_recent_history_exchange/BUILD.bazel
index 254a76835b..1e175b1e8c 100644
--- a/deps/rabbitmq_recent_history_exchange/BUILD.bazel
+++ b/deps/rabbitmq_recent_history_exchange/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_recent_history_exchange"
@@ -14,15 +14,19 @@ APP_NAME = "rabbitmq_recent_history_exchange"
APP_DESCRIPTION = "RabbitMQ Recent History Exchange"
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
runtime_deps = RUNTIME_DEPS,
diff --git a/deps/rabbitmq_sharding/BUILD.bazel b/deps/rabbitmq_sharding/BUILD.bazel
index 2d2d77ecef..11004a554e 100644
--- a/deps/rabbitmq_sharding/BUILD.bazel
+++ b/deps/rabbitmq_sharding/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_sharding"
@@ -14,12 +14,17 @@ APP_NAME = "rabbitmq_sharding"
APP_DESCRIPTION = "RabbitMQ Sharding Plugin"
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
deps = DEPS,
@@ -46,7 +51,7 @@ suites = [
PACKAGE,
name = "rabbit_sharding_SUITE",
deps = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_shovel/BUILD.bazel b/deps/rabbitmq_shovel/BUILD.bazel
index 2d54ba03ca..df25b7e0d1 100644
--- a/deps/rabbitmq_shovel/BUILD.bazel
+++ b/deps/rabbitmq_shovel/BUILD.bazel
@@ -1,6 +1,6 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
@@ -8,8 +8,8 @@ load(
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -38,17 +38,22 @@ BUILD_DEPS = [
]
DEPS = [
+<<<<<<< HEAD
"//deps/amqp_client:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/amqp10_client:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/amqp10_client:erlang_app",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -73,9 +78,9 @@ dialyze(
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_amqp1_0:bazel_erlang_lib",
- ":bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_amqp1_0:erlang_app",
+ ":erlang_app",
],
)
@@ -112,10 +117,10 @@ suites = [
name = "amqp10_shovel_SUITE",
size = "small",
runtime_deps = [
- "@meck//:bazel_erlang_lib",
+ "@meck//:erlang_app",
],
deps = [
- "//deps/amqp10_common:bazel_erlang_lib",
+ "//deps/amqp10_common:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -149,7 +154,7 @@ suites = [
name = "parameters_SUITE",
size = "small",
deps = [
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
diff --git a/deps/rabbitmq_shovel_management/BUILD.bazel b/deps/rabbitmq_shovel_management/BUILD.bazel
index c359715061..0533a53787 100644
--- a/deps/rabbitmq_shovel_management/BUILD.bazel
+++ b/deps/rabbitmq_shovel_management/BUILD.bazel
@@ -1,13 +1,13 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_shovel_management"
@@ -15,22 +15,27 @@ APP_NAME = "rabbitmq_shovel_management"
APP_DESCRIPTION = "Management extension for the Shovel plugin"
BUILD_DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbitmq_management_agent:erlang_app",
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"//deps/rabbitmq_management:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_management:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_shovel:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_shovel:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
build_deps = BUILD_DEPS,
@@ -49,9 +54,9 @@ dialyze(
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_amqp1_0:bazel_erlang_lib",
- ":bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_amqp1_0:erlang_app",
+ ":erlang_app",
],
)
diff --git a/deps/rabbitmq_stomp/BUILD.bazel b/deps/rabbitmq_stomp/BUILD.bazel
index 955aaf4aac..cccf4d5651 100644
--- a/deps/rabbitmq_stomp/BUILD.bazel
+++ b/deps/rabbitmq_stomp/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -46,16 +46,16 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "@ranch//:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "@ranch//:erlang_app",
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -90,8 +90,12 @@ erlc(
dest = "test",
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
deps = [
+<<<<<<< HEAD
":test_bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ ":test_erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
],
)
@@ -120,8 +124,8 @@ suites = [
name = "frame_SUITE",
size = "small",
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
],
),
rabbitmq_integration_suite(
@@ -155,8 +159,8 @@ suites = [
name = "util_SUITE",
size = "small",
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_stream/BUILD.bazel b/deps/rabbitmq_stream/BUILD.bazel
new file mode 100644
index 0000000000..008fdf472c
--- /dev/null
+++ b/deps/rabbitmq_stream/BUILD.bazel
@@ -0,0 +1,101 @@
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
+load(
+ "//:rabbitmq.bzl",
+ "RABBITMQ_DIALYZER_OPTS",
+ "assert_suites",
+ "broker_for_integration_suites",
+ "rabbitmq_app",
+ "rabbitmq_integration_suite",
+)
+
+APP_NAME = "rabbitmq_stream"
+
+APP_DESCRIPTION = "RabbitMQ Stream"
+
+APP_MODULE = "rabbit_stream"
+
+APP_ENV = """[
+ {tcp_listeners, [5552]},
+ {num_tcp_acceptors, 10},
+ {tcp_listen_options, [{backlog, 128},
+ {nodelay, true}]},
+ {ssl_listeners, []},
+ {num_ssl_acceptors, 10},
+ {ssl_listen_options, []},
+ {initial_credits, 50000},
+ {credits_required_for_unblocking, 12500},
+ {frame_max, 1048576},
+ {heartbeat, 60},
+ {advertised_host, undefined},
+ {advertised_port, undefined}
+]"""
+
+BUILD_DEPS = [
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_cli:rabbitmqctl",
+ "@ranch//:erlang_app",
+]
+
+DEPS = [
+ "//deps/rabbitmq_stream_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+]
+
+rabbitmq_app(
+ app_description = APP_DESCRIPTION,
+ app_env = APP_ENV,
+ app_module = APP_MODULE,
+ app_name = APP_NAME,
+ build_deps = BUILD_DEPS,
+ deps = DEPS,
+)
+
+xref(tags = ["xref"])
+
+dialyze(
+ dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
+ plt = "//:base_plt",
+ tags = ["dialyze"],
+)
+
+broker_for_integration_suites()
+
+PACKAGE = "deps/rabbitmq_stream"
+
+suites = [
+ rabbitmq_integration_suite(
+ PACKAGE,
+ name = "commands_SUITE",
+ additional_beam = [
+ ":rabbit_stream_SUITE_beam_files",
+ ],
+ data = glob(["test/rabbit_stream_SUITE_data/**/*"]),
+ flaky = True,
+ deps = [
+ "//deps/rabbitmq_stream_common:erlang_app",
+ ],
+ ),
+ rabbitmq_integration_suite(
+ PACKAGE,
+ name = "config_schema_SUITE",
+ ),
+ rabbitmq_integration_suite(
+ PACKAGE,
+ name = "rabbit_stream_utils_SUITE",
+ ),
+ rabbitmq_integration_suite(
+ PACKAGE,
+ name = "rabbit_stream_SUITE",
+ shard_count = 3,
+ deps = [
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_stream_common:erlang_app",
+ ],
+ ),
+]
+
+assert_suites(
+ suites,
+ glob(["test/**/*_SUITE.erl"]),
+)
diff --git a/deps/rabbitmq_stream_common/BUILD.bazel b/deps/rabbitmq_stream_common/BUILD.bazel
new file mode 100644
index 0000000000..912fea0129
--- /dev/null
+++ b/deps/rabbitmq_stream_common/BUILD.bazel
@@ -0,0 +1,37 @@
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
+load(
+ "//:rabbitmq.bzl",
+ "RABBITMQ_DIALYZER_OPTS",
+ "assert_suites",
+ "rabbitmq_app",
+ "rabbitmq_suite",
+)
+
+APP_NAME = "rabbitmq_stream_common"
+
+APP_DESCRIPTION = "RabbitMQ Stream Common"
+
+rabbitmq_app(
+ app_description = APP_DESCRIPTION,
+ app_name = APP_NAME,
+)
+
+xref(tags = ["xref"])
+
+dialyze(
+ dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
+ plt = "//:base_plt",
+ tags = ["dialyze"],
+)
+
+suites = [
+ rabbitmq_suite(
+ name = "rabbit_stream_core_SUITE",
+ ),
+]
+
+assert_suites(
+ suites,
+ glob(["test/**/*_SUITE.erl"]),
+)
diff --git a/deps/rabbitmq_stream_management/BUILD.bazel b/deps/rabbitmq_stream_management/BUILD.bazel
new file mode 100644
index 0000000000..052604a9b0
--- /dev/null
+++ b/deps/rabbitmq_stream_management/BUILD.bazel
@@ -0,0 +1,73 @@
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
+load("//:rabbitmq_home.bzl", "rabbitmq_home")
+load("//:rabbitmq_run.bzl", "rabbitmq_run")
+load(
+ "//:rabbitmq.bzl",
+ "RABBITMQ_DIALYZER_OPTS",
+ "assert_suites",
+ "rabbitmq_app",
+ "rabbitmq_integration_suite",
+)
+
+APP_NAME = "rabbitmq_stream_management"
+
+APP_DESCRIPTION = "RabbitMQ Stream Management"
+
+APP_MODULE = "rabbit_stream_management"
+
+BUILD_DEPS = [
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_management_agent:erlang_app",
+]
+
+DEPS = [
+ "//deps/rabbitmq_management:erlang_app",
+ "//deps/rabbitmq_stream:erlang_app",
+ "//deps/rabbit:erlang_app",
+]
+
+rabbitmq_app(
+ app_description = APP_DESCRIPTION,
+ app_module = APP_MODULE,
+ app_name = APP_NAME,
+ build_deps = BUILD_DEPS,
+ deps = DEPS,
+)
+
+xref(tags = ["xref"])
+
+dialyze(
+ dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
+ plt = "//:base_plt",
+ tags = ["dialyze"],
+)
+
+rabbitmq_home(
+ name = "broker-for-tests-home",
+ plugins = [
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_amqp1_0:erlang_app",
+ ":erlang_app",
+ ],
+)
+
+rabbitmq_run(
+ name = "rabbitmq-for-tests-run",
+ home = ":broker-for-tests-home",
+)
+
+PACKAGE = "deps/rabbitmq_stream_management"
+
+suites = [
+ rabbitmq_integration_suite(
+ PACKAGE,
+ name = "http_SUITE",
+ ),
+]
+
+assert_suites(
+ suites,
+ glob(["test/**/*_SUITE.erl"]),
+)
diff --git a/deps/rabbitmq_top/BUILD.bazel b/deps/rabbitmq_top/BUILD.bazel
index c496a4793b..68f5fa7fe6 100644
--- a/deps/rabbitmq_top/BUILD.bazel
+++ b/deps/rabbitmq_top/BUILD.bazel
@@ -1,9 +1,9 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
- "rabbitmq_lib",
+ "rabbitmq_app",
)
APP_NAME = "rabbitmq_top"
@@ -13,21 +13,27 @@ APP_DESCRIPTION = "RabbitMQ Top"
APP_MODULE = "rabbit_top_app"
BUILD_DEPS = [
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:erlang_app",
]
DEPS = [
+<<<<<<< HEAD
"//deps/amqp_client:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"//deps/rabbitmq_management:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_management:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
diff --git a/deps/rabbitmq_tracing/BUILD.bazel b/deps/rabbitmq_tracing/BUILD.bazel
index cea8be2da0..4f68e166bd 100644
--- a/deps/rabbitmq_tracing/BUILD.bazel
+++ b/deps/rabbitmq_tracing/BUILD.bazel
@@ -1,12 +1,12 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_tracing"
@@ -22,21 +22,26 @@ APP_ENV = """[
]"""
BUILD_DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbitmq_management_agent:erlang_app",
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"//deps/rabbitmq_management:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_management:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/deps/rabbitmq_trust_store/BUILD.bazel b/deps/rabbitmq_trust_store/BUILD.bazel
index 1849d907de..db3f7fa2ae 100644
--- a/deps/rabbitmq_trust_store/BUILD.bazel
+++ b/deps/rabbitmq_trust_store/BUILD.bazel
@@ -1,13 +1,13 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_trust_store"
@@ -28,15 +28,19 @@ EXTRA_APPS = [
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
@@ -66,10 +70,10 @@ dialyze(
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- ":bazel_erlang_lib",
- "//deps/amqp_client:bazel_erlang_lib",
- "@ct_helper//:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ ":erlang_app",
+ "//deps/amqp_client:erlang_app",
+ "@ct_helper//:erlang_app",
],
)
@@ -90,8 +94,8 @@ suites = [
name = "system_SUITE",
flaky = True,
runtime_deps = [
- "@ct_helper//:bazel_erlang_lib",
- "@trust_store_http//:bazel_erlang_lib",
+ "@ct_helper//:erlang_app",
+ "@trust_store_http//:erlang_app",
],
),
]
diff --git a/deps/rabbitmq_web_dispatch/BUILD.bazel b/deps/rabbitmq_web_dispatch/BUILD.bazel
index c79c1a55f5..3c474eafbf 100644
--- a/deps/rabbitmq_web_dispatch/BUILD.bazel
+++ b/deps/rabbitmq_web_dispatch/BUILD.bazel
@@ -1,5 +1,5 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
@@ -7,8 +7,8 @@ load(
"APP_VERSION",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -27,12 +27,12 @@ BUILD_DEPS = [
]
DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "@cowboy//:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "@cowboy//:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
@@ -60,8 +60,8 @@ rabbitmq_home(
name = "broker-for-tests-home",
testonly = True,
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- ":test_bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ ":test_erlang_app",
],
)
diff --git a/deps/rabbitmq_web_mqtt/BUILD.bazel b/deps/rabbitmq_web_mqtt/BUILD.bazel
index c72fd14d22..150a48996f 100644
--- a/deps/rabbitmq_web_mqtt/BUILD.bazel
+++ b/deps/rabbitmq_web_mqtt/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
)
APP_NAME = "rabbitmq_web_mqtt"
@@ -27,22 +27,27 @@ APP_ENV = """[
]"""
BUILD_DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "@ranch//:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "@ranch//:erlang_app",
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"@cowboy//:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+ "@cowboy//:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_mqtt:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_mqtt:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/deps/rabbitmq_web_mqtt_examples/BUILD.bazel b/deps/rabbitmq_web_mqtt_examples/BUILD.bazel
index cd5e81a7a5..70380861f6 100644
--- a/deps/rabbitmq_web_mqtt_examples/BUILD.bazel
+++ b/deps/rabbitmq_web_mqtt_examples/BUILD.bazel
@@ -1,9 +1,9 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
- "rabbitmq_lib",
+ "rabbitmq_app",
)
APP_NAME = "rabbitmq_web_mqtt_examples"
@@ -21,13 +21,13 @@ DEPS = [
]
RUNTIME_DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
- "//deps/rabbitmq_web_mqtt:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_web_dispatch:erlang_app",
+ "//deps/rabbitmq_web_mqtt:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/deps/rabbitmq_web_stomp/BUILD.bazel b/deps/rabbitmq_web_stomp/BUILD.bazel
index 88d767cc46..e8eda373e3 100644
--- a/deps/rabbitmq_web_stomp/BUILD.bazel
+++ b/deps/rabbitmq_web_stomp/BUILD.bazel
@@ -1,14 +1,14 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlc")
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:erlc.bzl", "erlc")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"assert_suites",
"broker_for_integration_suites",
+ "rabbitmq_app",
"rabbitmq_integration_suite",
- "rabbitmq_lib",
"rabbitmq_suite",
)
@@ -30,22 +30,28 @@ APP_ENV = """[
]"""
BUILD_DEPS = [
- "//deps/amqp_client:bazel_erlang_lib",
- "@ranch//:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "@ranch//:erlang_app",
]
DEPS = [
+<<<<<<< HEAD
"//deps/rabbit_common:bazel_erlang_lib",
"//deps/rabbitmq_stomp:bazel_erlang_lib",
"@cowboy//:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
+=======
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_stomp:erlang_app",
+ "@cowboy//:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
RUNTIME_DEPS = [
- "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/deps/rabbitmq_web_stomp_examples/BUILD.bazel b/deps/rabbitmq_web_stomp_examples/BUILD.bazel
index a6b5a45b42..18fb166dc0 100644
--- a/deps/rabbitmq_web_stomp_examples/BUILD.bazel
+++ b/deps/rabbitmq_web_stomp_examples/BUILD.bazel
@@ -1,9 +1,9 @@
-load("@bazel-erlang//:xref.bzl", "xref")
-load("@bazel-erlang//:dialyze.bzl", "dialyze")
+load("@rules_erlang//:xref.bzl", "xref")
+load("@rules_erlang//:dialyze.bzl", "dialyze")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
- "rabbitmq_lib",
+ "rabbitmq_app",
)
APP_NAME = "rabbitmq_web_stomp_examples"
@@ -21,13 +21,13 @@ BUILD_DEPS = [
]
RUNTIME_DEPS = [
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
- "//deps/rabbitmq_web_stomp:bazel_erlang_lib",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_web_dispatch:erlang_app",
+ "//deps/rabbitmq_web_stomp:erlang_app",
]
-rabbitmq_lib(
+rabbitmq_app(
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_module = APP_MODULE,
diff --git a/dist.bzl b/dist.bzl
index 98eed9d1a9..e6eeb5f9f3 100644
--- a/dist.bzl
+++ b/dist.bzl
@@ -1,6 +1,7 @@
-load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider")
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "ErlangLibInfo", "flat_deps", "path_join")
-load("@bazel-erlang//:ct.bzl", "additional_file_dest_relative_path")
+load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider")
+load("@rules_erlang//:erlang_app_info.bzl", "ErlangAppInfo", "flat_deps")
+load("@rules_erlang//:util.bzl", "path_join")
+load("@rules_erlang//:ct.bzl", "additional_file_dest_relative_path")
load(
":rabbitmq_home.bzl",
"RABBITMQ_HOME_ATTRS",
@@ -12,7 +13,7 @@ load(
def _collect_licenses_impl(ctx):
srcs = ctx.files.srcs + flatten([
- d[ErlangLibInfo].license_files
+ d[ErlangAppInfo].license_files
for d in flat_deps(ctx.attr.deps)
])
@@ -42,7 +43,7 @@ collect_licenses = rule(
implementation = _collect_licenses_impl,
attrs = {
"srcs": attr.label_list(allow_files = True),
- "deps": attr.label_list(providers = [ErlangLibInfo]),
+ "deps": attr.label_list(providers = [ErlangAppInfo]),
},
)
@@ -76,21 +77,21 @@ def _plugins_dir(ctx, plugins):
commands = ["set -euo pipefail", ""]
for plugin in plugins:
- lib_info = plugin[ErlangLibInfo]
+ lib_info = plugin[ErlangAppInfo]
app_file = _app_file(lib_info)
extract_version = _extract_version(app_file.path)
commands.append("PLUGIN_VERSION=$({erlang_home}/bin/{extract_version})".format(erlang_home = erlang_home, extract_version = extract_version))
commands.append(
"echo \"Assembling {lib_name}-$PLUGIN_VERSION...\"".format(
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
),
)
commands.append(
"mkdir -p {plugins_dir}/{lib_name}-$PLUGIN_VERSION/include".format(
plugins_dir = plugins_dir.path,
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
),
)
for f in lib_info.include:
@@ -98,7 +99,7 @@ def _plugins_dir(ctx, plugins):
"cp {src} {plugins_dir}/{lib_name}-$PLUGIN_VERSION/include/{dest}".format(
src = f.path,
plugins_dir = plugins_dir.path,
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
dest = f.basename,
),
)
@@ -107,18 +108,18 @@ def _plugins_dir(ctx, plugins):
commands.append(
"mkdir -p {plugins_dir}/{lib_name}-$PLUGIN_VERSION/ebin".format(
plugins_dir = plugins_dir.path,
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
),
)
for f in lib_info.beam:
if f.is_directory:
if f.basename != "ebin":
- fail("{} contains a directory in 'beam' that is not an ebin dir".format(lib_info.lib_name))
+ fail("{} contains a directory in 'beam' that is not an ebin dir".format(lib_info.app_name))
commands.append(
"cp -R {src} {plugins_dir}/{lib_name}-$PLUGIN_VERSION".format(
src = f.path,
plugins_dir = plugins_dir.path,
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
),
)
else:
@@ -126,7 +127,7 @@ def _plugins_dir(ctx, plugins):
"cp {src} {plugins_dir}/{lib_name}-$PLUGIN_VERSION/ebin/{dest}".format(
src = f.path,
plugins_dir = plugins_dir.path,
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
dest = f.basename,
),
)
@@ -138,7 +139,7 @@ def _plugins_dir(ctx, plugins):
"mkdir -p $(dirname {plugins_dir}/{lib_name}-$PLUGIN_VERSION/{dest}) && cp {src} {plugins_dir}/{lib_name}-$PLUGIN_VERSION/{dest}".format(
src = f.path,
plugins_dir = plugins_dir.path,
- lib_name = lib_info.lib_name,
+ lib_name = lib_info.app_name,
dest = p,
),
)
@@ -191,9 +192,18 @@ def _versioned_rabbitmq_home_impl(ctx):
),
]
-versioned_rabbitmq_home = rule(
+versioned_rabbitmq_home_private = rule(
implementation = _versioned_rabbitmq_home_impl,
attrs = dict(RABBITMQ_HOME_ATTRS.items() + {
- "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"),
+ "_erlang_home": attr.label(default = "@rules_erlang//:erlang_home"),
}.items()),
)
+
+def versioned_rabbitmq_home(**kwargs):
+ versioned_rabbitmq_home_private(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
diff --git a/mk/bazel.mk b/mk/bazel.mk
new file mode 100644
index 0000000000..9924fe0f85
--- /dev/null
+++ b/mk/bazel.mk
@@ -0,0 +1,42 @@
+BAZELISK ?= /usr/local/bin/bazelisk
+ifeq (darwin,$(PLATFORM))
+$(BAZELISK):
+ brew install bazelisk
+else
+$(BAZELISK):
+ $(error Install bazelisk for your platform: https://github.com/bazelbuild/bazelisk)
+endif
+
+define USER_BAZELRC
+build --@rules_erlang//:erlang_home=$(shell dirname $$(dirname $$(which erl)))
+build --@rules_erlang//:erlang_version=$(shell erl -eval '{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), io:fwrite(Version), halt().' -noshell)
+build --//:elixir_home=$(shell dirname $$(dirname $$(which iex)))/lib/elixir
+
+# rabbitmqctl wait shells out to 'ps', which is broken in the bazel macOS
+# sandbox (https://github.com/bazelbuild/bazel/issues/7448)
+# adding "--spawn_strategy=local" to the invocation is a workaround
+build --spawn_strategy=local
+
+build --incompatible_strict_action_env
+
+# run one test at a time on the local machine
+build --test_strategy=exclusive
+
+# don't re-run flakes automatically on the local machine
+build --flaky_test_attempts=1
+
+build:buildbuddy --remote_header=x-buildbuddy-api-key=YOUR_API_KEY
+endef
+
+user.bazelrc: export USER_BAZELRC
+user.bazelrc:
+ echo "$$USER_BAZELRC" > $@
+
+bazel-test: $(BAZELISK) | user.bazelrc
+ifeq ($(DEP),)
+ $(error DEP must be set to the dependency that this test is for, e.g. deps/rabbit)
+endif
+ifeq ($(SUITE),)
+ $(error SUITE must be set to the ct suite to run, e.g. queue_type if DEP=deps/rabbit)
+endif
+ $(BAZELISK) test //deps/$(notdir $(DEP)):$(SUITE)_SUITE
diff --git a/rabbitmq.bzl b/rabbitmq.bzl
index f0e7b7470d..c3a300cde6 100644
--- a/rabbitmq.bzl
+++ b/rabbitmq.bzl
@@ -1,11 +1,11 @@
load(
- "@bazel-erlang//:bazel_erlang_lib.bzl",
+ "@rules_erlang//:erlang_app.bzl",
"DEFAULT_ERLC_OPTS",
"DEFAULT_TEST_ERLC_OPTS",
- "erlang_lib",
- "test_erlang_lib",
+ "erlang_app",
+ "test_erlang_app",
)
-load("@bazel-erlang//:ct_sharded.bzl", "ct_suite", "ct_suite_variant")
+load("@rules_erlang//:ct_sharded.bzl", "ct_suite", "ct_suite_variant")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
@@ -24,6 +24,10 @@ _LAGER_EXTRA_SINKS = [
"rabbit_log_upgrade",
]
+STARTS_BACKGROUND_BROKER_TAG = "starts-background-broker"
+
+MIXED_VERSION_CLUSTER_TAG = "mixed-version-cluster"
+
RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS + [
"+{parse_transform,lager_transform}",
"+{lager_extra_sinks,[" + ",".join(_LAGER_EXTRA_SINKS) + "]}",
@@ -45,6 +49,7 @@ RABBITMQ_DIALYZER_OPTS = [
APP_VERSION = "3.8"
ALL_PLUGINS = [
+<<<<<<< HEAD
"//deps/rabbit:bazel_erlang_lib",
"//deps/rabbitmq_amqp1_0:bazel_erlang_lib",
"//deps/rabbitmq_auth_backend_cache:bazel_erlang_lib",
@@ -76,13 +81,48 @@ ALL_PLUGINS = [
"//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
"//deps/rabbitmq_web_mqtt:bazel_erlang_lib",
"//deps/rabbitmq_web_stomp:bazel_erlang_lib",
+=======
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbitmq_amqp1_0:erlang_app",
+ "//deps/rabbitmq_auth_backend_cache:erlang_app",
+ "//deps/rabbitmq_auth_backend_http:erlang_app",
+ "//deps/rabbitmq_auth_backend_ldap:erlang_app",
+ "//deps/rabbitmq_auth_backend_oauth2:erlang_app",
+ "//deps/rabbitmq_auth_mechanism_ssl:erlang_app",
+ "//deps/rabbitmq_consistent_hash_exchange:erlang_app",
+ "//deps/rabbitmq_event_exchange:erlang_app",
+ "//deps/rabbitmq_federation:erlang_app",
+ "//deps/rabbitmq_federation_management:erlang_app",
+ "//deps/rabbitmq_jms_topic_exchange:erlang_app",
+ "//deps/rabbitmq_management:erlang_app",
+ "//deps/rabbitmq_mqtt:erlang_app",
+ "//deps/rabbitmq_peer_discovery_aws:erlang_app",
+ "//deps/rabbitmq_peer_discovery_consul:erlang_app",
+ "//deps/rabbitmq_peer_discovery_etcd:erlang_app",
+ "//deps/rabbitmq_peer_discovery_k8s:erlang_app",
+ "//deps/rabbitmq_prometheus:erlang_app",
+ "//deps/rabbitmq_random_exchange:erlang_app",
+ "//deps/rabbitmq_recent_history_exchange:erlang_app",
+ "//deps/rabbitmq_sharding:erlang_app",
+ "//deps/rabbitmq_shovel:erlang_app",
+ "//deps/rabbitmq_shovel_management:erlang_app",
+ "//deps/rabbitmq_stomp:erlang_app",
+ "//deps/rabbitmq_stream:erlang_app",
+ "//deps/rabbitmq_stream_management:erlang_app",
+ "//deps/rabbitmq_top:erlang_app",
+ "//deps/rabbitmq_tracing:erlang_app",
+ "//deps/rabbitmq_trust_store:erlang_app",
+ "//deps/rabbitmq_web_dispatch:erlang_app",
+ "//deps/rabbitmq_web_mqtt:erlang_app",
+ "//deps/rabbitmq_web_stomp:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
]
LABELS_WITH_TEST_VERSIONS = [
- "//deps/amqp10_common:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbit/apps/rabbitmq_prelaunch:bazel_erlang_lib",
+ "//deps/amqp10_common:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbit:erlang_app",
+ "//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app",
]
def all_plugins(rabbitmq_workspace = "@rabbitmq-server"):
@@ -92,12 +132,12 @@ def with_test_versions(deps):
r = []
for d in deps:
if d in LABELS_WITH_TEST_VERSIONS:
- r.append(d.replace(":bazel_erlang_lib", ":test_bazel_erlang_lib"))
+ r.append(d.replace(":erlang_app", ":test_erlang_app"))
else:
r.append(d)
return r
-def rabbitmq_lib(
+def rabbitmq_app(
app_name = "",
app_version = APP_VERSION,
app_description = "",
@@ -112,7 +152,7 @@ def rabbitmq_lib(
build_deps = [],
deps = [],
runtime_deps = []):
- erlang_lib(
+ erlang_app(
app_name = app_name,
app_version = app_version,
app_description = app_description,
@@ -128,7 +168,7 @@ def rabbitmq_lib(
runtime_deps = runtime_deps,
)
- test_erlang_lib(
+ test_erlang_app(
app_name = app_name,
app_version = app_version,
app_description = app_description,
@@ -159,8 +199,8 @@ def broker_for_integration_suites():
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
- "//deps/rabbit:bazel_erlang_lib",
- ":bazel_erlang_lib",
+ "//deps/rabbit:erlang_app",
+ ":erlang_app",
],
)
@@ -185,8 +225,16 @@ def rabbitmq_integration_suite(
ct_suite(
name = name,
suite_name = name,
+<<<<<<< HEAD
tags = tags,
erlc_opts = RABBITMQ_TEST_ERLC_OPTS + erlc_opts,
+=======
+ tags = tags + [STARTS_BACKGROUND_BROKER_TAG],
+ erlc_opts = select({
+ "//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS + erlc_opts),
+ "//conditions:default": RABBITMQ_TEST_ERLC_OPTS + erlc_opts,
+ }),
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
additional_hdrs = additional_hdrs,
additional_srcs = additional_srcs,
data = data,
@@ -202,15 +250,21 @@ def rabbitmq_integration_suite(
":rabbitmq-for-tests-run",
] + tools,
runtime_deps = [
- "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+ "//deps/rabbitmq_cli:elixir_app",
"//deps/rabbitmq_cli:rabbitmqctl",
- "//deps/rabbitmq_ct_client_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_client_helpers:erlang_app",
] + runtime_deps,
deps = [
+<<<<<<< HEAD
"//deps/amqp_client:bazel_erlang_lib",
"//deps/rabbit_common:bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
"//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+=======
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
] + deps,
**kwargs
)
@@ -218,7 +272,7 @@ def rabbitmq_integration_suite(
ct_suite_variant(
name = name + "-mixed",
suite_name = name,
- tags = tags + ["mixed-version-cluster"],
+ tags = tags + [STARTS_BACKGROUND_BROKER_TAG, MIXED_VERSION_CLUSTER_TAG],
data = data,
test_env = dict({
"SKIP_MAKE_TEST_DIST": "true",
@@ -234,14 +288,14 @@ def rabbitmq_integration_suite(
"@rabbitmq-server-generic-unix-3.7.28//:rabbitmq-run",
] + tools,
runtime_deps = [
- "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+ "//deps/rabbitmq_cli:elixir_app",
"//deps/rabbitmq_cli:rabbitmqctl",
- "//deps/rabbitmq_ct_client_helpers:bazel_erlang_lib",
+ "//deps/rabbitmq_ct_client_helpers:erlang_app",
] + runtime_deps,
deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_ct_helpers:bazel_erlang_lib",
+ "//deps/amqp_client:erlang_app",
+ "//deps/rabbit_common:erlang_app",
+ "//deps/rabbitmq_ct_helpers:erlang_app",
] + deps,
**kwargs
)
diff --git a/rabbitmq_home.bzl b/rabbitmq_home.bzl
index eca1ff1fb9..47fe3f10ed 100644
--- a/rabbitmq_home.bzl
+++ b/rabbitmq_home.bzl
@@ -1,5 +1,6 @@
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "ErlangLibInfo", "flat_deps", "path_join")
-load("@bazel-erlang//:ct.bzl", "additional_file_dest_relative_path")
+load("@rules_erlang//:erlang_app_info.bzl", "ErlangAppInfo", "flat_deps")
+load("@rules_erlang//:util.bzl", "path_join")
+load("@rules_erlang//:ct.bzl", "additional_file_dest_relative_path")
RabbitmqHomeInfo = provider(
doc = "An assembled RABBITMQ_HOME dir",
@@ -10,13 +11,10 @@ RabbitmqHomeInfo = provider(
def _copy_script(ctx, script):
dest = ctx.actions.declare_file(path_join(ctx.label.name, "sbin", script.basename))
- args = ctx.actions.args()
- args.add_all([script, dest])
- ctx.actions.run(
- inputs = [script],
- outputs = [dest],
- executable = "cp",
- arguments = [args],
+ ctx.actions.expand_template(
+ template = script,
+ output = dest,
+ substitutions = {},
)
return dest
@@ -30,11 +28,11 @@ def link_escript(ctx, escript):
return s
def _plugins_dir_links(ctx, plugin):
- lib_info = plugin[ErlangLibInfo]
+ lib_info = plugin[ErlangAppInfo]
plugin_path = path_join(
ctx.label.name,
"plugins",
- lib_info.lib_name,
+ lib_info.app_name,
)
links = []
@@ -73,7 +71,7 @@ def _plugins_dir_links(ctx, plugin):
def unique_versions(plugins):
erlang_versions = []
for plugin in plugins:
- erlang_version = plugin[ErlangLibInfo].erlang_version
+ erlang_version = plugin[ErlangAppInfo].erlang_version
if not erlang_version in erlang_versions:
erlang_versions.append(erlang_version)
return erlang_versions
@@ -88,7 +86,11 @@ def _impl(ctx):
if len(erlang_versions) > 1:
fail("plugins do not have a unified erlang version", erlang_versions)
- scripts = [_copy_script(ctx, script) for script in ctx.files._scripts]
+ if not ctx.attr.is_windows:
+ source_scripts = ctx.files._scripts
+ else:
+ source_scripts = ctx.files._scripts_windows
+ scripts = [_copy_script(ctx, script) for script in source_scripts]
rabbitmq_ctl_copies = [
"rabbitmq-diagnostics",
@@ -104,10 +106,10 @@ def _impl(ctx):
rabbitmqctl = None
for script in scripts:
- if script.basename == "rabbitmqctl":
+ if script.basename == ("rabbitmqctl" if not ctx.attr.is_windows else "rabbitmqctl.bat"):
rabbitmqctl = script
if rabbitmqctl == None:
- fail("could not find rabbitmqct among", scripts)
+ fail("could not find rabbitmqctl among", scripts)
return [
RabbitmqHomeInfo(
@@ -131,15 +133,37 @@ RABBITMQ_HOME_ATTRS = {
],
allow_files = True,
),
+ "_scripts_windows": attr.label_list(
+ default = [
+ "//deps/rabbit:scripts/rabbitmq-defaults.bat",
+ "//deps/rabbit:scripts/rabbitmq-diagnostics.bat",
+ "//deps/rabbit:scripts/rabbitmq-env.bat",
+ "//deps/rabbit:scripts/rabbitmq-plugins.bat",
+ "//deps/rabbit:scripts/rabbitmq-queues.bat",
+ "//deps/rabbit:scripts/rabbitmq-server.bat",
+ "//deps/rabbit:scripts/rabbitmqctl.bat",
+ ],
+ allow_files = True,
+ ),
"_rabbitmqctl_escript": attr.label(default = "//deps/rabbitmq_cli:rabbitmqctl"),
- "plugins": attr.label_list(providers = [ErlangLibInfo]),
+ "is_windows": attr.bool(mandatory = True),
+ "plugins": attr.label_list(providers = [ErlangAppInfo]),
}
-rabbitmq_home = rule(
+rabbitmq_home_private = rule(
implementation = _impl,
attrs = RABBITMQ_HOME_ATTRS,
)
+def rabbitmq_home(**kwargs):
+ rabbitmq_home_private(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
+
def _dirname(p):
return p.rpartition("/")[0]
diff --git a/rabbitmq_run.bzl b/rabbitmq_run.bzl
index e690451e13..e396adab51 100644
--- a/rabbitmq_run.bzl
+++ b/rabbitmq_run.bzl
@@ -1,59 +1,114 @@
-load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
-load("@bazel-erlang//:bazel_erlang_lib.bzl", "path_join")
-load("@bazel-erlang//:ct.bzl", "sanitize_sname")
+load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
+load("@rules_erlang//:util.bzl", "path_join", "windows_path")
+load("@rules_erlang//:ct.bzl", "sanitize_sname")
load(":rabbitmq_home.bzl", "RabbitmqHomeInfo", "rabbitmq_home_short_path")
def _impl(ctx):
rabbitmq_home_path = rabbitmq_home_short_path(ctx.attr.home)
# the rabbitmq-run.sh template only allows a single erl_libs currently
- erl_libs = [path_join(rabbitmq_home_path, "plugins")]
+ erl_libs = ctx.configuration.host_path_separator.join([
+ path_join(rabbitmq_home_path, "plugins"),
+ ])
- ctx.actions.expand_template(
- template = ctx.file._template,
- output = ctx.outputs.executable,
- substitutions = {
- "{RABBITMQ_HOME}": rabbitmq_home_path,
- "{ERL_LIBS}": ":".join(erl_libs),
- "{ERLANG_HOME}": ctx.attr._erlang_home[ErlangHomeProvider].path,
- "{SNAME}": sanitize_sname("sbb-" + ctx.attr.name),
- },
- is_executable = True,
- )
+ sname = sanitize_sname("sbb-" + ctx.attr.name)
+
+ if not ctx.attr.is_windows:
+ output = ctx.actions.declare_file(ctx.label.name)
+ ctx.actions.expand_template(
+ template = ctx.file._template,
+ output = output,
+ substitutions = {
+ "{RABBITMQ_HOME}": rabbitmq_home_path,
+ "{ERL_LIBS}": erl_libs,
+ "{ERLANG_HOME}": ctx.attr._erlang_home[ErlangHomeProvider].path,
+ "{SNAME}": sname,
+ },
+ is_executable = True,
+ )
+ else:
+ output = ctx.actions.declare_file(ctx.label.name + ".bat")
+ ctx.actions.expand_template(
+ template = ctx.file._windows_template,
+ output = output,
+ substitutions = {
+ "{RABBITMQ_HOME}": windows_path(rabbitmq_home_path),
+ "{ERL_LIBS}": erl_libs,
+ "{ERLANG_HOME}": windows_path(ctx.attr._erlang_home[ErlangHomeProvider].path),
+ "{SNAME}": sname,
+ },
+ is_executable = True,
+ )
runfiles = ctx.runfiles(ctx.attr.home[DefaultInfo].files.to_list())
- return [DefaultInfo(runfiles = runfiles)]
+ return [DefaultInfo(
+ runfiles = runfiles,
+ executable = output,
+ )]
-rabbitmq_run = rule(
+rabbitmq_run_private = rule(
implementation = _impl,
attrs = {
"_template": attr.label(
default = Label("//:scripts/bazel/rabbitmq-run.sh"),
allow_single_file = True,
),
- "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"),
+ "_windows_template": attr.label(
+ default = Label("//:scripts/bazel/rabbitmq-run.bat"),
+ allow_single_file = True,
+ ),
+ "_erlang_home": attr.label(default = Label("@rules_erlang//:erlang_home")),
+ "is_windows": attr.bool(mandatory = True),
"home": attr.label(providers = [RabbitmqHomeInfo]),
},
executable = True,
)
+def rabbitmq_run(**kwargs):
+ rabbitmq_run_private(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
+
def _run_command_impl(ctx):
- ctx.actions.write(
- output = ctx.outputs.executable,
- content = "exec ./{} {} $@".format(
+ if not ctx.attr.is_windows:
+ output = ctx.actions.declare_file(ctx.label.name)
+ script = "exec ./{} {} $@".format(
ctx.attr.rabbitmq_run[DefaultInfo].files_to_run.executable.short_path,
ctx.attr.subcommand,
- ),
+ )
+ else:
+ output = ctx.actions.declare_file(ctx.label.name + ".bat")
+ script = """@echo off
+call {} {} %*
+if ERRORLEVEL 1 (
+ exit /B %ERRORLEVEL%
+)
+EXIT /B 0
+""".format(
+ ctx.attr.rabbitmq_run[DefaultInfo].files_to_run.executable.short_path,
+ ctx.attr.subcommand,
+ )
+
+ ctx.actions.write(
+ output = output,
+ content = script,
+ is_executable = True,
)
return [DefaultInfo(
runfiles = ctx.attr.rabbitmq_run[DefaultInfo].default_runfiles,
+ executable = output,
)]
-rabbitmq_run_command = rule(
+rabbitmq_run_command_private = rule(
implementation = _run_command_impl,
attrs = {
+ "is_windows": attr.bool(mandatory = True),
"rabbitmq_run": attr.label(
executable = True,
cfg = "target",
@@ -66,3 +121,12 @@ rabbitmq_run_command = rule(
},
executable = True,
)
+
+def rabbitmq_run_command(**kwargs):
+ rabbitmq_run_command_private(
+ is_windows = select({
+ "@bazel_tools//src/conditions:host_windows": True,
+ "//conditions:default": False,
+ }),
+ **kwargs
+ )
diff --git a/rabbitmqctl.bzl b/rabbitmqctl.bzl
index 19287521c0..e68d041bfc 100644
--- a/rabbitmqctl.bzl
+++ b/rabbitmqctl.bzl
@@ -1,4 +1,4 @@
-load("@bazel-erlang//:erlang_home.bzl", "ErlangVersionProvider")
+load("@rules_erlang//:erlang_home.bzl", "ErlangVersionProvider")
load(":rabbitmq_home.bzl", "RabbitmqHomeInfo", "rabbitmq_home_short_path")
def _impl(ctx):
@@ -25,7 +25,7 @@ def _impl(ctx):
rabbitmqctl = rule(
implementation = _impl,
attrs = {
- "_erlang_version": attr.label(default = "@bazel-erlang//:erlang_version"),
+ "_erlang_version": attr.label(default = Label("@rules_erlang//:erlang_version")),
"home": attr.label(providers = [RabbitmqHomeInfo]),
},
executable = True,
diff --git a/scripts/bazel/rabbitmq-run.bat b/scripts/bazel/rabbitmq-run.bat
new file mode 100644
index 0000000000..e96555f2dd
--- /dev/null
+++ b/scripts/bazel/rabbitmq-run.bat
@@ -0,0 +1,156 @@
+@echo off
+setLocal enableDelayedExpansion
+setlocal enableextensions
+
+set ORIGINAL_ARGS=%*
+
+if not defined TEST_SRCDIR (
+ set BASE_DIR=%cd%
+) else (
+ set BASE_DIR=%TEST_SRCDIR%/%TEST_WORKSPACE%
+ set BASE_DIR=%BASE_DIR:/=\\%
+)
+
+if "%1" == "-C" (
+ cd %2
+ shift 2
+)
+
+:loop-args
+if "%1" == "" goto :loop-args-end
+if "%1" == "run-broker" (
+ set CMD=%1
+ shift
+ goto :loop-args
+)
+if "%1" == "start-background-broker" (
+ set CMD=%1
+ shift
+ goto :loop-args
+)
+if "%1" == "stop-node" (
+ set CMD=%1
+ shift
+ goto :loop-args
+)
+if "%1" == "set-resource-alarm" (
+ set CMD=%1
+ shift
+ goto :loop-args
+)
+if "%1" == "clean-resource-alarm" (
+ set CMD=%1
+ shift
+ goto :loop-args
+)
+for /F "tokens=1,3 delims=. " %%a in ("%1") do (
+ set %%a=%%b
+)
+shift
+goto :loop-args
+:loop-args-end
+
+set DEFAULT_PLUGINS_DIR=%BASE_DIR%\{RABBITMQ_HOME}\plugins
+if defined EXTRA_PLUGINS_DIR (
+ set DEFAULT_PLUGINS_DIR=%DEFAULT_PLUGINS_DIR%;%EXTRA_PLUGINS_DIR%
+)
+
+if not defined TEST_TMPDIR (
+ set TEST_TMPDIR=%TEMP%\rabbitmq-test-instances
+)
+set RABBITMQ_SCRIPTS_DIR=%BASE_DIR%\{RABBITMQ_HOME}\sbin
+set RABBITMQ_PLUGINS=%RABBITMQ_SCRIPTS_DIR%\rabbitmq-plugins.bat
+set RABBITMQ_SERVER=%RABBITMQ_SCRIPTS_DIR%\rabbitmq-server.bat
+set RABBITMQCTL=%RABBITMQ_SCRIPTS_DIR%\rabbitmqctl.bat
+
+set HOSTNAME=%COMPUTERNAME%
+
+if not defined RABBITMQ_NODENAME set RABBITMQ_NODENAME=rabbit@%HOSTNAME%
+if not defined RABBITMQ_NODENAME_FOR_PATHS set RABBITMQ_NODENAME_FOR_PATHS=%RABBITMQ_NODENAME%
+set NODE_TMPDIR=%TEST_TMPDIR%\%RABBITMQ_NODENAME_FOR_PATHS%
+
+set RABBITMQ_BASE=%NODE_TMPDIR%
+set RABBITMQ_PID_FILE=%NODE_TMPDIR%\%{RABBITMQ_NODENAME_FOR_PATHS%.pid
+set RABBITMQ_LOG_BASE=%NODE_TMPDIR%\log
+set RABBITMQ_MNESIA_BASE=%NODE_TMPDIR%\mnesia
+set RABBITMQ_MNESIA_DIR=%RABBITMQ_MNESIA_BASE%\%RABBITMQ_NODENAME_FOR_PATHS%
+set RABBITMQ_QUORUM_DIR=%RABBITMQ_MNESIA_DIR%\quorum
+set RABBITMQ_STREAM_DIR=%RABBITMQ_MNESIA_DIR%\stream
+if not defined RABBITMQ_PLUGINS_DIR set RABBITMQ_PLUGINS_DIR=%DEFAULT_PLUGINS_DIR%
+set RABBITMQ_PLUGINS_EXPAND_DIR=%NODE_TMPDIR%\plugins
+set RABBITMQ_FEATURE_FLAGS_FILE=%NODE_TMPDIR%\feature_flags
+set RABBITMQ_ENABLED_PLUGINS_FILE=%NODE_TMPDIR%\enabled_plugins
+
+if not defined RABBITMQ_SERVER_START_ARGS (
+ set RABBITMQ_SERVER_START_ARGS=-ra wal_sync_method sync
+)
+
+if not defined RABBITMQ_LOG (
+ set RABBITMQ_LOG=debug,+color
+)
+
+if defined LEAVE_PLUGINS_DISABLED (
+ set RABBITMQ_ENABLED_PLUGINS=
+) else (
+ set RABBITMQ_ENABLED_PLUGINS=ALL
+)
+
+if not exist "%TEST_TMPDIR%" mkdir %TEST_TMPDIR%
+
+if not exist "%RABBITMQ_LOG_BASE%" mkdir %RABBITMQ_LOG_BASE%
+if not exist "%RABBITMQ_MNESIA_BASE%" mkdir %RABBITMQ_MNESIA_BASE%
+if not exist "%RABBITMQ_PLUGINS_EXPAND_DIR%" mkdir %RABBITMQ_PLUGINS_EXPAND_DIR%
+
+if "%CMD%" == "run-broker" (
+ set RABBITMQ_ALLOW_INPUT=true
+ set RABBITMQ_CONFIG_FILE=%TEST_TMPDIR%\test.config
+
+ > !RABBITMQ_CONFIG_FILE! (
+ @echo [
+ @echo {rabbit, [
+ @echo {loopback_users, []}
+ @echo ]},
+ @echo {rabbitmq_management, []},
+ @echo {rabbitmq_mqtt, []},
+ @echo {rabbitmq_stomp, []},
+ @echo {ra, [
+ @echo {data_dir, "!RABBITMQ_QUORUM_DIR:\=\\!"},
+ @echo {wal_sync_method, sync}
+ @echo ]},
+ @echo {osiris, [
+ @echo {data_dir, "!RABBITMQ_STREAM_DIR:\=\\!"}
+ @echo ]}
+ @echo ].
+ )
+
+ call %RABBITMQ_SCRIPTS_DIR%\rabbitmq-server.bat
+
+ if ERRORLEVEL 1 (
+ exit /B %ERRORLEVEL%
+ )
+
+ exit /B 0
+)
+
+if "%CMD%" == "start-background-broker" (
+ echo ERROR: not implemented by rabbitmq-run.bat
+ exit /b 1
+)
+
+if "%CMD%" == "stop-node" (
+ echo ERROR: not implemented by rabbitmq-run.bat
+ exit /b 1
+)
+
+if "%CMD%" == "set-resource-alarm" (
+ echo ERROR: not implemented by rabbitmq-run.bat
+ exit /b 1
+)
+
+if "%CMD%" == "clear-resource-alarm" (
+ echo ERROR: not implemented by rabbitmq-run.bat
+ exit /b 1
+)
+
+echo ERROR: unrecognized rabbitmq-run.bat args: "%ORIGINAL_ARGS%"
+exit /b 1
diff --git a/user-template.bazelrc b/user-template.bazelrc
index f92ee3238a..2034fcd504 100644
--- a/user-template.bazelrc
+++ b/user-template.bazelrc
@@ -1,5 +1,5 @@
-build --@bazel-erlang//:erlang_home=/Users/rabbitmq/kerl/24.0
-build --@bazel-erlang//:erlang_version=24.0
+build --@rules_erlang//:erlang_home=/Users/rabbitmq/kerl/24.0
+build --@rules_erlang//:erlang_version=24.0
build --//:elixir_home=/Users/rabbitmq/.kiex/elixirs/elixir-1.12.0/lib/elixir
# rabbitmqctl wait shells out to 'ps', which is broken in the bazel macOS
diff --git a/workspace_helpers.bzl b/workspace_helpers.bzl
index 888e1110ad..6a2db63bab 100644
--- a/workspace_helpers.bzl
+++ b/workspace_helpers.bzl
@@ -1,18 +1,25 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+<<<<<<< HEAD
load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
load("@bazel-erlang//:github.bzl", "github_bazel_erlang_lib")
load("@bazel-erlang//:hex_archive.bzl", "hex_archive")
load("@bazel-erlang//:hex_pm.bzl", "hex_pm_bazel_erlang_lib")
+=======
+load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
+load("@rules_erlang//:github.bzl", "github_erlang_app")
+load("@rules_erlang//:hex_archive.bzl", "hex_archive")
+load("@rules_erlang//:hex_pm.bzl", "hex_pm_erlang_app")
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
load("//:rabbitmq.bzl", "APP_VERSION")
def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "accept",
version = "0.3.5",
sha256 = "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8",
)
- github_bazel_erlang_lib(
+ github_erlang_app(
name = "aten",
org = "rabbitmq",
sha256 = "27f6b2ec2e78027ea852a8ac6bcf49df4a599d5506a86dc9f0cb6b5d6e45989e",
@@ -20,7 +27,7 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
version = "0.5.6",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "base64url",
version = "1.0.1",
sha256 = "f9b3add4731a02a9b0410398b475b33e7566a695365237a6bdee1bb447719f5c",
@@ -33,7 +40,7 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
build_file = rabbitmq_workspace + "//:BUILD.bats",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "cowboy",
first_srcs = [
"src/cowboy_stream.erl",
@@ -43,18 +50,18 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
version = "2.8.0",
sha256 = "4643e4fba74ac96d4d152c75803de6fad0b3fa5df354c71afdd6cbeeb15fac8a",
deps = [
- "@cowlib//:bazel_erlang_lib",
- "@ranch//:bazel_erlang_lib",
+ "@cowlib//:erlang_app",
+ "@ranch//:erlang_app",
],
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "cowlib",
version = "2.9.1",
sha256 = "e4175dc240a70d996156160891e1c62238ede1729e45740bdd38064dad476170",
)
- github_bazel_erlang_lib(
+ github_erlang_app(
repo = "credentials-obfuscation",
name = "credentials_obfuscation",
org = "rabbitmq",
@@ -63,23 +70,23 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
version = "2.4.0",
)
- github_bazel_erlang_lib(
+ github_erlang_app(
name = "ct_helper",
org = "extend",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "cuttlefish",
version = "3.0.1",
sha256 = "3feff3ae4ed1f0ca6df87ac89235068fbee9242ee85d2ac17fb1b8ce0e30f1a6",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "eetcd",
version = "0.3.3",
sha256 = "8fb280156ddd1b7b34d0f446c5711832385bff512c05378dcea8362f4f5060d6",
runtime_deps = [
- "@gun//:bazel_erlang_lib",
+ "@gun//:erlang_app",
],
)
@@ -87,9 +94,9 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
name = "emqttc",
urls = ["https://github.com/rabbitmq/emqttc/archive/remove-logging.zip"],
strip_prefix = "emqttc-remove-logging",
- build_file_content = """load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+ build_file_content = """load("@rules_erlang//:erlang_app.bzl", "erlang_app")
-erlang_lib(
+erlang_app(
app_name = "emqttc",
erlc_opts = [
"+warn_export_all",
@@ -99,6 +106,7 @@ erlang_lib(
""",
)
+<<<<<<< HEAD
hex_pm_bazel_erlang_lib(
name = "gen_batch_server",
version = "0.8.4",
@@ -109,9 +117,21 @@ erlang_lib(
name = "goldrush",
version = "0.1.9",
sha256 = "99cb4128cffcb3227581e5d4d803d5413fa643f4eb96523f77d9e6937d994ceb",
+=======
+ hex_pm_erlang_app(
+ name = "enough",
+ version = "0.1.0",
+ sha256 = "0460c7abda5f5e0ea592b12bc6976b8a5c4b96e42f332059cd396525374bf9a1",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
+ name = "gen_batch_server",
+ version = "0.8.6",
+ sha256 = "b78679349168f27d7047f3283c9d766760b234d98c762aca9a1907f4ee3fd406",
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
+ )
+
+ hex_pm_erlang_app(
name = "gun",
version = "1.3.3",
sha256 = "3106ce167f9c9723f849e4fb54ea4a4d814e3996ae243a1c828b256e749041e0",
@@ -119,7 +139,7 @@ erlang_lib(
"src/gun_content_handler.erl",
],
runtime_deps = [
- "@cowlib//:bazel_erlang_lib",
+ "@cowlib//:erlang_app",
],
erlc_opts = [
"+debug_info",
@@ -136,7 +156,7 @@ erlang_lib(
urls = ["https://github.com/rabbitmq/inet_tcp_proxy/archive/master.zip"],
)
- github_bazel_erlang_lib(
+ github_erlang_app(
name = "jose",
repo = "erlang-jose",
org = "potatosalad",
@@ -151,12 +171,13 @@ erlang_lib(
sha256 = "7816f39d00655f2605cfac180755e97e268dba86c2f71037998ff63792ca727b",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "jsx",
version = "3.1.0",
sha256 = "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3",
)
+<<<<<<< HEAD
hex_pm_bazel_erlang_lib(
name = "lager",
first_srcs = [
@@ -176,17 +197,34 @@ erlang_lib(
)
github_bazel_erlang_lib(
+=======
+ github_erlang_app(
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
name = "meck",
org = "eproxus",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "observer_cli",
version = "1.7.1",
sha256 = "4ccafaaa2ce01b85ddd14591f4d5f6731b4e13b610a70fb841f0701178478280",
)
+<<<<<<< HEAD
hex_pm_bazel_erlang_lib(
+=======
+ # v1.2.4 of osiris still assumes bazel-erlang, so we import it via rules_erlang here
+ github_erlang_app(
+ name = "osiris",
+ org = "rabbitmq",
+ ref = "refs/tags/v1.2.4",
+ version = "1.2.4",
+ sha256 = "f225265995ee8ab148c61a98fcbcf61eebc222027a006eb19586b7a6c9d03008",
+ build_file = rabbitmq_workspace + "//:BUILD.osiris",
+ )
+
+ github_erlang_app(
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
name = "prometheus",
version = "4.8.1",
sha256 = "6edfbe928d271c7f657a6f2c46258738086584bd6cae4a000b8b9a6009ba23a5",
@@ -197,11 +235,11 @@ erlang_lib(
"src/prometheus_metric.erl",
],
deps = [
- "@quantile_estimator//:bazel_erlang_lib",
+ "@quantile_estimator//:erlang_app",
],
)
- github_bazel_erlang_lib(
+ github_erlang_app(
name = "proper",
first_srcs = [
"src/vararg.erl",
@@ -210,7 +248,7 @@ erlang_lib(
org = "manopapad",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "quantile_estimator",
version = "0.2.1",
sha256 = "282a8a323ca2a845c9e6f787d166348f776c1d4a41ede63046d72d422e3da946",
@@ -219,7 +257,7 @@ erlang_lib(
],
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "ra",
version = "1.1.8",
sha256 = "d7e399f8a09c8420bc90953f3464127063e53cef39f27e0af452ec51ad26ea9e",
@@ -228,10 +266,10 @@ erlang_lib(
"src/ra_snapshot.erl",
],
deps = [
- "@gen_batch_server//:bazel_erlang_lib",
+ "@gen_batch_server//:erlang_app",
],
runtime_deps = [
- "@aten//:bazel_erlang_lib",
+ "@aten//:erlang_app",
],
)
@@ -242,19 +280,41 @@ erlang_lib(
build_file = rabbitmq_workspace + "//:BUILD.ranch",
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "recon",
version = "2.5.1",
sha256 = "5721c6b6d50122d8f68cccac712caa1231f97894bab779eff5ff0f886cb44648",
)
+<<<<<<< HEAD
hex_pm_bazel_erlang_lib(
+=======
+ hex_pm_erlang_app(
+ name = "redbug",
+ version = "2.0.7",
+ sha256 = "3624feb7a4b78fd9ae0e66cc3158fe7422770ad6987a1ebf8df4d3303b1c4b0c",
+ )
+
+ github_erlang_app(
+ name = "seshat",
+ org = "rabbitmq",
+ ref = "0.1.0",
+ version = "0.1.0",
+ extra_apps = [
+ "sasl",
+ "crypto",
+ ],
+ sha256 = "fd20039322eabed814d0dfe75743652846007ec93faae3e141c9602c21152b14",
+ )
+
+ hex_pm_erlang_app(
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
name = "stdout_formatter",
version = "0.2.4",
sha256 = "51f1df921b0477275ea712763042155dbc74acc75d9648dbd54985c45c913b29",
)
- github_bazel_erlang_lib(
+ github_erlang_app(
name = "syslog",
org = "schlagert",
sha256 = "25abcfe2cc0745fc4ffb0d66d4a5868d343a0130c7a7ddcae03771326feae619",
@@ -265,12 +325,24 @@ erlang_lib(
],
)
- hex_pm_bazel_erlang_lib(
+ hex_pm_erlang_app(
name = "sysmon_handler",
version = "1.3.0",
sha256 = "922cf0dd558b9fdb1326168373315b52ed6a790ba943f6dcbd9ee22a74cebdef",
)
+<<<<<<< HEAD
+=======
+ hex_pm_erlang_app(
+ name = "systemd",
+ version = "0.6.1",
+ sha256 = "8ec5ed610a5507071cdb7423e663e2452a747a624bb8a58582acd9491ccad233",
+ deps = [
+ "@enough//:erlang_app",
+ ],
+ )
+
+>>>>>>> 302a4fc17e (Merge pull request #4009 from rabbitmq/use-rules_erlang-2)
new_git_repository(
name = "trust_store_http",
remote = "https://github.com/rabbitmq/trust-store-http.git",