diff options
71 files changed, 1262 insertions, 915 deletions
@@ -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 2b4a551792..b6dca1fed0 100644 --- a/.github/workflows/test-mixed-versions.yaml +++ b/.github/workflows/test-mixed-versions.yaml @@ -98,8 +98,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 b0e9c1de6e..2edc9706de 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -93,8 +93,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/update-bazel-erlang.yaml b/.github/workflows/update-rules_erlang.yaml index 6014da9d32..8390046f5d 100644 --- a/.github/workflows/update-bazel-erlang.yaml +++ b/.github/workflows/update-rules_erlang.yaml @@ -1,11 +1,11 @@ -name: Update bazel-erlang +name: Update rules_erlang on: schedule: - cron: '0 3 * * *' workflow_dispatch: jobs: - update-bazel-erlang: - name: Update bazel-erlang + update-rules_erlang: + name: Update rules_erlang runs-on: ubuntu-latest timeout-minutes: 10 steps: @@ -13,21 +13,21 @@ jobs: uses: actions/checkout@v2.4.0 with: path: rabbitmq-server - - name: CHECKOUT bazel-erlang + - name: CHECKOUT rules_erlang uses: actions/checkout@v2.4.0 with: - repository: rabbitmq/bazel-erlang - path: bazel-erlang + repository: rabbitmq/rules_erlang + path: rules_erlang - name: DETERMINE LATEST COMMIT id: find-commit - working-directory: bazel-erlang + working-directory: rules_erlang run: | echo "::set-output name=SHA::$(git rev-parse HEAD)" - - name: UPDATE bazel-erlang COMMIT + - name: UPDATE rules_erlang COMMIT working-directory: rabbitmq-server run: | sudo npm install --global --silent @bazel/buildozer - echo "$(cat WORKSPACE.bazel | npx buildozer 'set commit "${{ steps.find-commit.outputs.SHA }}"' -:bazel-erlang)" > WORKSPACE.bazel + echo "$(cat WORKSPACE.bazel | npx buildozer 'set commit "${{ steps.find-commit.outputs.SHA }}"' -:rules_erlang)" > WORKSPACE.bazel git diff - name: CREATE PULL REQUEST uses: peter-evans/create-pull-request@v3 @@ -36,10 +36,10 @@ jobs: committer: GitHub <noreply@github.com> author: GitHub <noreply@github.com> path: rabbitmq-server - title: Adopt latest bazel-erlang + title: Adopt latest rules_erlang commit-message: | - Adopt latest bazel-erlang + Adopt latest rules_erlang - - bazel-erlang@${{ steps.find-commit.outputs.SHA }} - branch: bump-bazel-erlang + - rules_erlang@${{ steps.find-commit.outputs.SHA }} + branch: bump-rules_erlang delete-branch: true
\ No newline at end of file diff --git a/BUILD.bazel b/BUILD.bazel index 5c7b0dc4c1..4c8439aed4 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", ]) config_setting( @@ -52,30 +53,12 @@ rabbitmq_home( plugins = all_plugins(rabbitmq_workspace = ""), ) -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` rabbitmq_run_command( 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.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 d7b090733c..11c1aed411 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -57,15 +57,16 @@ load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") rules_pkg_dependencies() -git_repository( - name = "bazel-erlang", - commit = "d62a13548b3d1e5bd2830f42e3f3933ae17db3cb", - remote = "https://github.com/rabbitmq/bazel-erlang.git", +http_archive( + 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"], ) -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") @@ -84,7 +85,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 609e5da555..ebed45c4ad 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,14 +23,14 @@ EXTRA_APPS = [ ] BUILD_DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ] 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, @@ -55,8 +55,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 1995ddfffe..ce63f0739a 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", @@ -65,8 +62,8 @@ erlc( erlc_opts = RABBITMQ_ERLC_OPTS, ) -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 = "amqp10_common", @@ -82,8 +79,8 @@ erlc( erlc_opts = RABBITMQ_TEST_ERLC_OPTS, ) -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 5fec64c732..db1ce3d68d 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,10 +21,10 @@ EXTRA_APPS = [ ] DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ] -rabbitmq_lib( +rabbitmq_app( app_description = "RabbitMQ AMQP Client", app_env = APP_ENV, app_module = "amqp_client", @@ -42,7 +42,7 @@ rabbitmq_lib( xref( additional_libs = [ - "@ranch//:bazel_erlang_lib", + "@ranch//:erlang_app", ], tags = ["xref"], ) @@ -61,7 +61,7 @@ dialyze( rabbitmq_home( name = "broker-for-tests-home", plugins = [ - "//deps/rabbit:bazel_erlang_lib", + "//deps/rabbit:erlang_app", ], ) @@ -76,17 +76,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 5b7ea4b2df..4c5c718eea 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", ]) @@ -142,23 +149,23 @@ _APP_ENV = """[ """ DEPS = [ - "//deps/amqp10_common:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", - "@ra//:bazel_erlang_lib", - "@ranch//:bazel_erlang_lib", - "@stdout_formatter//:bazel_erlang_lib", - "@syslog//: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:bazel_erlang_lib", - "@cuttlefish//:bazel_erlang_lib", - "@observer_cli//:bazel_erlang_lib", - "@osiris//:bazel_erlang_lib", - "@recon//:bazel_erlang_lib", - "@seshat//:bazel_erlang_lib", - "@sysmon_handler//:bazel_erlang_lib", - "@systemd//:bazel_erlang_lib", + "//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app", + "@cuttlefish//:erlang_app", + "@observer_cli//:erlang_app", + "@osiris//:erlang_app", + "@recon//:erlang_app", + "@seshat//:erlang_app", + "@sysmon_handler//:erlang_app", + "@systemd//:erlang_app", ] APP_MODULE = "rabbit" @@ -192,7 +199,7 @@ FIRST_SRCS = [ "src/rabbit_queue_master_locator.erl", ] -rabbitmq_lib( +rabbitmq_app( app_description = "RabbitMQ", app_env = _APP_ENV, app_module = APP_MODULE, @@ -230,16 +237,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", ], ) @@ -268,8 +276,8 @@ erlc( dest = "test", erlc_opts = RABBITMQ_TEST_ERLC_OPTS, deps = [ - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", ], ) @@ -282,8 +290,8 @@ erlc( dest = "test", erlc_opts = RABBITMQ_TEST_ERLC_OPTS, deps = [ - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", ], ) @@ -400,7 +408,7 @@ suites = [ shard_count = 20, sharding_method = "case", deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_integration_suite( @@ -412,7 +420,7 @@ suites = [ ], flaky = True, deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_integration_suite( @@ -434,7 +442,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( @@ -450,7 +458,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( @@ -472,7 +480,7 @@ suites = [ PACKAGE, name = "logging_SUITE", runtime_deps = [ - "@syslog//:bazel_erlang_lib", + "@syslog//:erlang_app", ], ), rabbitmq_integration_suite( @@ -502,7 +510,7 @@ suites = [ name = "metrics_SUITE", size = "medium", deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_suite( @@ -512,14 +520,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( @@ -646,7 +654,7 @@ suites = [ name = "rabbit_confirms_SUITE", size = "small", deps = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ], ), rabbitmq_integration_suite( @@ -658,13 +666,13 @@ suites = [ name = "rabbit_fifo_int_SUITE", size = "medium", 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( @@ -680,11 +688,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( @@ -698,11 +706,11 @@ suites = [ "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( @@ -718,25 +726,25 @@ 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( name = "rabbit_msg_record_SUITE", size = "medium", deps = [ - "//deps/amqp10_common:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/amqp10_common:erlang_app", + "//deps/rabbit_common:erlang_app", ], ), rabbitmq_suite( name = "rabbit_stream_coordinator_SUITE", deps = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ], ), rabbitmq_integration_suite( @@ -749,7 +757,7 @@ suites = [ flaky = True, shard_count = 12, deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_integration_suite( @@ -800,7 +808,7 @@ suites = [ PACKAGE, name = "term_to_binary_compat_prop_SUITE", deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_integration_suite( @@ -822,7 +830,7 @@ suites = [ name = "unit_access_control_credential_validation_SUITE", size = "medium", deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_integration_suite( @@ -837,7 +845,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( @@ -854,23 +862,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( @@ -907,8 +915,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_integration_suite( @@ -920,7 +928,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( @@ -931,7 +939,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( @@ -987,15 +995,15 @@ suites = [ name = "unit_classic_mirrored_queue_sync_throttling_SUITE", size = "small", deps = [ - "//deps/rabbit_common:bazel_erlang_lib", - ] + "//deps/rabbit_common:erlang_app", + ], ), rabbitmq_suite( name = "unit_classic_mirrored_queue_throughput_SUITE", size = "small", deps = [ - "//deps/rabbit_common:bazel_erlang_lib", - ] + "//deps/rabbit_common:erlang_app", + ], ), ] diff --git a/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel b/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel index a7cc377e56..bfba82cc32 100644 --- a/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel +++ b/deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel @@ -1,6 +1,6 @@ -load("@bazel-erlang//:xref.bzl", "xref") -load("@bazel-erlang//:dialyze.bzl", "dialyze") -load("//:rabbitmq.bzl", "APP_VERSION", "rabbitmq_lib", "rabbitmq_suite") +load("@rules_erlang//:xref.bzl", "xref") +load("@rules_erlang//:dialyze.bzl", "dialyze") +load("//:rabbitmq.bzl", "APP_VERSION", "rabbitmq_app", "rabbitmq_suite") APP_NAME = "rabbitmq_prelaunch" @@ -9,15 +9,15 @@ APP_DESCRIPTION = "RabbitMQ prelaunch setup" APP_MODULE = "rabbit_prelaunch_app" RUNTIME_DEPS = [ - "@cuttlefish//:bazel_erlang_lib", - "@jsx//:bazel_erlang_lib", + "@cuttlefish//:erlang_app", + "@jsx//:erlang_app", ] DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ] -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_module = APP_MODULE, app_name = APP_NAME, @@ -28,9 +28,9 @@ rabbitmq_lib( xref( additional_libs = [ - "@ranch//:bazel_erlang_lib", - "@systemd//:bazel_erlang_lib", - "@osiris//:bazel_erlang_lib", + "@ranch//:erlang_app", + "@systemd//:erlang_app", + "@osiris//:erlang_app", ], 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 7ecddea9fc..c1d1a7b205 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", @@ -62,9 +59,9 @@ genrule( 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" @@ -124,8 +121,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, @@ -164,8 +161,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", @@ -180,7 +177,7 @@ bazel_erlang_lib( xref( additional_libs = [ - "@ranch//:bazel_erlang_lib", + "@ranch//:erlang_app", ], tags = ["xref"], ) @@ -205,7 +202,7 @@ suites = [ name = "rabbit_env_SUITE", size = "small", deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_suite( @@ -223,8 +220,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 bd260f0f6c..3db7fe6ba8 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", ) @@ -25,16 +25,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, @@ -65,7 +65,7 @@ suites = [ name = "amqp10_client_SUITE", size = "medium", runtime_deps = [ - "//deps/amqp10_client:bazel_erlang_lib", + "//deps/amqp10_client:erlang_app", ], ), rabbitmq_integration_suite( @@ -73,7 +73,7 @@ suites = [ name = "command_SUITE", size = "medium", deps = [ - "//deps/amqp10_common:bazel_erlang_lib", + "//deps/amqp10_common:erlang_app", ], ), rabbitmq_integration_suite( @@ -96,7 +96,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 6a3dff9d77..9c073ee311 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", ) @@ -25,18 +25,18 @@ APP_DESCRIPTION = "RabbitMQ Authentication Backend cache" APP_MODULE = "rabbit_auth_backend_cache_app" 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, @@ -70,7 +70,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 505a4a7491..b19cf18e03 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", ) @@ -29,15 +29,15 @@ EXTRA_APPS = [ ] 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, @@ -73,10 +73,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 3e10dc3bf8..27e98cf2c8 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", ) @@ -45,14 +45,14 @@ EXTRA_APPS = [ ] 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 314aad2563..560e674266 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,21 +17,21 @@ 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", ] 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, @@ -83,14 +83,14 @@ suites = [ "test/jwks_http_sup.erl", ], runtime_deps = [ - "@cowboy//:bazel_erlang_lib", + "@cowboy//:erlang_app", ], ), rabbitmq_suite( name = "scope_SUITE", size = "medium", 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 8270050b7b..0144fd4db0 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" @@ -17,14 +17,14 @@ APP_ENV = """[ ]""" 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 aba4985632..17d8122927 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,10 +21,10 @@ EXTRA_APPS = [ ] BUILD_DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ] -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_module = APP_MODULE, app_name = APP_NAME, @@ -35,11 +35,11 @@ rabbitmq_lib( xref( additional_libs = [ - "//deps/rabbit_common:bazel_erlang_lib", - "@credentials_obfuscation//:bazel_erlang_lib", - "@jsx//: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", ], tags = ["xref"], ) @@ -61,7 +61,7 @@ eunit( "+nowarn_export_all", ], runtime_deps = [ - "//deps/rabbit_common:bazel_erlang_lib", - "@meck//:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", + "@meck//:erlang_app", ], ) diff --git a/deps/rabbitmq_cli/BUILD.bazel b/deps/rabbitmq_cli/BUILD.bazel index c58860b0fc..fea45d28ff 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,10 +21,28 @@ rabbitmqctl( ]), visibility = ["//visibility:public"], deps = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ], ) +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", @@ -33,10 +54,11 @@ rabbitmqctl_test( ]), data = glob(["test/fixtures/**/*"]), flaky = True, - rabbitmq_run = "//:rabbitmq-for-cli-tests-run", + rabbitmq_run = ":rabbitmq-for-cli-tests-run", + tags = [STARTS_BACKGROUND_BROKER_TAG], deps = [ - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "//deps/rabbit:erlang_app", + "//deps/rabbit_common:erlang_app", ], ) 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 f28c1fa692..84ae5ddf5f 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,49 +60,48 @@ 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 - export DEPS_DIR={mix_deps_dir} - export ERL_COMPILER_OPTIONS=deterministic - mix local.hex --force - mix local.rebar --force - mix make_all +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 - cd ${{OLDPWD}} - cp ${{MIX_INVOCATION_DIR}}/escript/rabbitmqctl {escript_path} +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} +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 +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, @@ -108,7 +110,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, @@ -117,7 +119,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) @@ -140,8 +142,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], @@ -150,14 +152,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 2f91a6e64e..b1acef2d62 100644 --- a/deps/rabbitmq_cli/rabbitmqctl_test.bzl +++ b/deps/rabbitmq_cli/rabbitmqctl_test.bzl @@ -1,151 +1,195 @@ -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={mix_deps_dir} - export ERL_COMPILER_OPTIONS=deterministic - mix local.hex --force - mix local.rebar --force - mix make_deps +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 - # 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 +# 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 - export TEST_TMPDIR=${{TEST_UNDECLARED_OUTPUTS_DIR}} +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}} +# 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} +# 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 - mix test --trace --max-failures 1 +# 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 e6e640b752..677bfe2f1e 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" @@ -18,14 +18,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 893af482d0..3ceca17a03 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", ) @@ -15,11 +15,11 @@ APP_NAME = "rabbitmq_event_exchange" APP_DESCRIPTION = "Event Exchange Type" 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, deps = DEPS, @@ -49,7 +49,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 0f84e743c1..ec11db9731 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", ) @@ -28,12 +28,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, @@ -65,9 +65,9 @@ erlc( dest = "test", erlc_opts = RABBITMQ_TEST_ERLC_OPTS, deps = [ - ":test_bazel_erlang_lib", - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + ":test_erlang_app", + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", ], ) @@ -123,8 +123,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 b818b1213f..683d531c7f 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,21 +16,21 @@ APP_DESCRIPTION = "RabbitMQ Federation Management" APP_MODULE = "rabbit_federation_app" BUILD_DEPS = [ - "//deps/rabbitmq_management_agent:bazel_erlang_lib", + "//deps/rabbitmq_management_agent:erlang_app", ] 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 66fb87f83c..5140ea55ef 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", ) @@ -17,14 +17,14 @@ APP_DESCRIPTION = "RabbitMQ JMS topic selector exchange plugin" APP_MODULE = "rabbit_federation_app" 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, @@ -53,8 +53,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 742710002f..a4bd1ce7fc 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", ) @@ -43,16 +43,16 @@ FIRST_SRCS = [ ] 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( @@ -65,7 +65,7 @@ sed 's/%%VSN%%/{}/' $< > $@ """.format(APP_VERSION), ) -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_env = APP_ENV, app_module = APP_MODULE, @@ -95,7 +95,7 @@ erlc( ], dest = "test", deps = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ], ) @@ -106,10 +106,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( @@ -117,8 +117,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( @@ -126,7 +126,7 @@ suites = [ name = "clustering_SUITE", flaky = True, deps = [ - "//deps/rabbitmq_management_agent:bazel_erlang_lib", + "//deps/rabbitmq_management_agent:erlang_app", ], ), rabbitmq_integration_suite( @@ -169,18 +169,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( @@ -191,8 +191,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 2ced79729d..bc5a3b0738 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,11 +39,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_env = APP_ENV, app_module = APP_MODULE, @@ -80,7 +80,7 @@ suites = [ name = "exometer_slide_SUITE", size = "medium", deps = [ - "@proper//:bazel_erlang_lib", + "@proper//:erlang_app", ], ), rabbitmq_integration_suite( @@ -97,10 +97,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 eb06be0365..b20084f518 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", ) @@ -50,17 +50,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, @@ -90,7 +90,7 @@ erlc( dest = "test", erlc_opts = RABBITMQ_TEST_ERLC_OPTS, deps = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", ], ) @@ -104,7 +104,7 @@ suites = [ ":rabbit_auth_backend_mqtt_mock", ], runtime_deps = [ - "@emqttc//:bazel_erlang_lib", + "@emqttc//:erlang_app", ], ), rabbitmq_integration_suite( @@ -113,14 +113,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( @@ -140,8 +140,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( @@ -152,14 +152,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 d5347c27fe..3e2a011f3b 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", ) @@ -19,16 +19,16 @@ EXTRA_APPS = [ ] 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, extra_apps = EXTRA_APPS, @@ -76,14 +76,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 c1f917f2aa..131811f9f3 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" @@ -22,14 +22,14 @@ EXTRA_APPS = [ ] 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 9c2a2b4e9d..0d025101be 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", ) @@ -17,15 +17,15 @@ APP_DESCRIPTION = "Consult-based RabbitMQ peer discovery backend" APP_MODULE = "rabbitmq_peer_discovery_consul_app" 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, @@ -54,7 +54,7 @@ suites = [ name = "rabbitmq_peer_discovery_consul_SUITE", size = "medium", 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 562ce841db..fcdf4fbcd2 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", ) @@ -17,17 +17,17 @@ APP_DESCRIPTION = "etcd-based RabbitMQ peer discovery backend" APP_MODULE = "rabbitmq_peer_discovery_etcd_app" 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 cd0597b507..69b6c2eb0b 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", ) @@ -17,15 +17,15 @@ APP_DESCRIPTION = "Kubernetes-based RabbitMQ peer discovery backend" APP_MODULE = "rabbitmq_peer_discovery_k8s_app" 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, @@ -54,7 +54,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 622bdba958..94b06de9ff 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,22 +18,22 @@ 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 = [ - "@prometheus//:bazel_erlang_lib", + "@prometheus//:erlang_app", ] 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 4baa0fd962..5d4744f0eb 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,14 +11,14 @@ APP_NAME = "rabbitmq_random_exchange" APP_DESCRIPTION = "RabbitMQ Random Exchange" 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, runtime_deps = RUNTIME_DEPS, diff --git a/deps/rabbitmq_recent_history_exchange/BUILD.bazel b/deps/rabbitmq_recent_history_exchange/BUILD.bazel index 2ceb015e2a..5420e1dd66 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,14 +14,14 @@ APP_NAME = "rabbitmq_recent_history_exchange" APP_DESCRIPTION = "RabbitMQ Recent History Exchange" 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, runtime_deps = RUNTIME_DEPS, diff --git a/deps/rabbitmq_sharding/BUILD.bazel b/deps/rabbitmq_sharding/BUILD.bazel index 0b2165c306..475be49ee7 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,11 +14,11 @@ APP_NAME = "rabbitmq_sharding" APP_DESCRIPTION = "RabbitMQ Sharding Plugin" DEPS = [ - "//deps/rabbit:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit:erlang_app", + "//deps/rabbit_common:erlang_app", ] -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_name = APP_NAME, deps = DEPS, @@ -45,7 +45,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 69563d09f5..0777b31221 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,16 +38,16 @@ BUILD_DEPS = [ ] DEPS = [ - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", ] 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, @@ -72,9 +72,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", ], ) @@ -108,10 +108,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( @@ -145,7 +145,7 @@ suites = [ name = "parameters_SUITE", size = "medium", 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 a466c0115c..fcd5264eab 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,21 +15,21 @@ 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 = [ - "//deps/rabbit_common:bazel_erlang_lib", - "//deps/rabbitmq_management:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management:erlang_app", ] 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, @@ -48,9 +48,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 e8c22be6a9..29270bbc7e 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", ) @@ -45,16 +45,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, @@ -89,7 +89,7 @@ erlc( dest = "test", erlc_opts = RABBITMQ_TEST_ERLC_OPTS, deps = [ - ":test_bazel_erlang_lib", + ":test_erlang_app", ], ) @@ -119,8 +119,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( @@ -154,8 +154,8 @@ suites = [ name = "util_SUITE", size = "medium", 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 index 8601169b5c..36d5f0c79d 100644 --- a/deps/rabbitmq_stream/BUILD.bazel +++ b/deps/rabbitmq_stream/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_stream" @@ -32,17 +32,17 @@ APP_ENV = """[ ]""" BUILD_DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", "//deps/rabbitmq_cli:rabbitmqctl", - "@ranch//:bazel_erlang_lib", + "@ranch//:erlang_app", ] DEPS = [ - "//deps/rabbitmq_stream_common:bazel_erlang_lib", - "//deps/rabbit:bazel_erlang_lib", + "//deps/rabbitmq_stream_common:erlang_app", + "//deps/rabbit:erlang_app", ] -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_env = APP_ENV, app_module = APP_MODULE, @@ -73,7 +73,7 @@ suites = [ data = glob(["test/rabbit_stream_SUITE_data/**/*"]), flaky = True, deps = [ - "//deps/rabbitmq_stream_common:bazel_erlang_lib", + "//deps/rabbitmq_stream_common:erlang_app", ], ), rabbitmq_integration_suite( @@ -93,8 +93,8 @@ suites = [ name = "rabbit_stream_SUITE", shard_count = 3, deps = [ - "//deps/rabbit:bazel_erlang_lib", - "//deps/rabbitmq_stream_common:bazel_erlang_lib", + "//deps/rabbit:erlang_app", + "//deps/rabbitmq_stream_common:erlang_app", ], ), ] diff --git a/deps/rabbitmq_stream_common/BUILD.bazel b/deps/rabbitmq_stream_common/BUILD.bazel index 4e8240fcb8..912fea0129 100644 --- a/deps/rabbitmq_stream_common/BUILD.bazel +++ b/deps/rabbitmq_stream_common/BUILD.bazel @@ -1,10 +1,10 @@ -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", - "rabbitmq_lib", + "rabbitmq_app", "rabbitmq_suite", ) @@ -12,7 +12,7 @@ APP_NAME = "rabbitmq_stream_common" APP_DESCRIPTION = "RabbitMQ Stream Common" -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_name = APP_NAME, ) diff --git a/deps/rabbitmq_stream_management/BUILD.bazel b/deps/rabbitmq_stream_management/BUILD.bazel index e629fbd7a6..052604a9b0 100644 --- a/deps/rabbitmq_stream_management/BUILD.bazel +++ b/deps/rabbitmq_stream_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_stream_management" @@ -17,18 +17,18 @@ APP_DESCRIPTION = "RabbitMQ Stream Management" APP_MODULE = "rabbit_stream_management" BUILD_DEPS = [ - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", - "//deps/rabbitmq_management_agent:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management_agent:erlang_app", ] DEPS = [ - "//deps/rabbitmq_management:bazel_erlang_lib", - "//deps/rabbitmq_stream:bazel_erlang_lib", - "//deps/rabbit:bazel_erlang_lib", + "//deps/rabbitmq_management:erlang_app", + "//deps/rabbitmq_stream:erlang_app", + "//deps/rabbit:erlang_app", ] -rabbitmq_lib( +rabbitmq_app( app_description = APP_DESCRIPTION, app_module = APP_MODULE, app_name = APP_NAME, @@ -47,9 +47,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_top/BUILD.bazel b/deps/rabbitmq_top/BUILD.bazel index 5364b28373..0810736084 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,20 +13,20 @@ 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 = [ - "//deps/amqp_client:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", - "//deps/rabbitmq_management:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management: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_tracing/BUILD.bazel b/deps/rabbitmq_tracing/BUILD.bazel index 8b3e903a6c..ab7a4f1156 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,20 +22,20 @@ 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 = [ - "//deps/rabbit_common:bazel_erlang_lib", - "//deps/rabbitmq_management:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management: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_trust_store/BUILD.bazel b/deps/rabbitmq_trust_store/BUILD.bazel index 7bbf6fd23e..b3372fe136 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,14 +28,14 @@ EXTRA_APPS = [ ] 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, @@ -65,10 +65,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", ], ) @@ -89,8 +89,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 096d91d0cd..30267531fa 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", ) @@ -23,12 +23,12 @@ EXTRA_APPS = [ ] 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, @@ -55,8 +55,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 a2322a10c0..24a00a0aa6 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,21 +27,21 @@ APP_ENV = """[ ]""" BUILD_DEPS = [ - "//deps/amqp_client:bazel_erlang_lib", - "@ranch//:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "@ranch//:erlang_app", ] DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", - "@cowboy//:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", + "@cowboy//:erlang_app", ] 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 ffb91281b2..8c2c7c348a 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" @@ -17,13 +17,13 @@ APP_ENV = """[ ]""" 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 3ebf5515e3..e43a8dac3d 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,21 +30,21 @@ APP_ENV = """[ ]""" BUILD_DEPS = [ - "//deps/amqp_client:bazel_erlang_lib", - "@ranch//:bazel_erlang_lib", + "//deps/amqp_client:erlang_app", + "@ranch//:erlang_app", ] DEPS = [ - "//deps/rabbit_common:bazel_erlang_lib", - "//deps/rabbitmq_stomp:bazel_erlang_lib", - "@cowboy//:bazel_erlang_lib", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_stomp:erlang_app", + "@cowboy//: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_web_stomp_examples/BUILD.bazel b/deps/rabbitmq_web_stomp_examples/BUILD.bazel index 7593e205e6..53dd9ad1e3 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" @@ -17,13 +17,13 @@ APP_ENV = """[ ]""" 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, @@ -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, ), ) @@ -192,9 +193,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 index 816dca9f09..9924fe0f85 100644 --- a/mk/bazel.mk +++ b/mk/bazel.mk @@ -8,8 +8,8 @@ $(BAZELISK): endif define USER_BAZELRC -build --@bazel-erlang//:erlang_home=$(shell dirname $$(dirname $$(which erl))) -build --@bazel-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 --@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 diff --git a/rabbitmq.bzl b/rabbitmq.bzl index fe642421e0..5f633a37ba 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") @@ -14,6 +14,10 @@ def without(item, elements): c.remove(item) return c +STARTS_BACKGROUND_BROKER_TAG = "starts-background-broker" + +MIXED_VERSION_CLUSTER_TAG = "mixed-version-cluster" + RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS + [ "-DINSTR_MOD=gm", ] @@ -31,46 +35,46 @@ RABBITMQ_DIALYZER_OPTS = [ APP_VERSION = "3.10.0" ALL_PLUGINS = [ - "//deps/rabbit:bazel_erlang_lib", - "//deps/rabbitmq_amqp1_0:bazel_erlang_lib", - "//deps/rabbitmq_auth_backend_cache:bazel_erlang_lib", - "//deps/rabbitmq_auth_backend_http:bazel_erlang_lib", - "//deps/rabbitmq_auth_backend_ldap:bazel_erlang_lib", - "//deps/rabbitmq_auth_backend_oauth2:bazel_erlang_lib", - "//deps/rabbitmq_auth_mechanism_ssl:bazel_erlang_lib", - "//deps/rabbitmq_consistent_hash_exchange:bazel_erlang_lib", - "//deps/rabbitmq_event_exchange:bazel_erlang_lib", - "//deps/rabbitmq_federation:bazel_erlang_lib", - "//deps/rabbitmq_federation_management:bazel_erlang_lib", - "//deps/rabbitmq_jms_topic_exchange:bazel_erlang_lib", - "//deps/rabbitmq_management:bazel_erlang_lib", - "//deps/rabbitmq_mqtt:bazel_erlang_lib", - "//deps/rabbitmq_peer_discovery_aws:bazel_erlang_lib", - "//deps/rabbitmq_peer_discovery_consul:bazel_erlang_lib", - "//deps/rabbitmq_peer_discovery_etcd:bazel_erlang_lib", - "//deps/rabbitmq_peer_discovery_k8s:bazel_erlang_lib", - "//deps/rabbitmq_prometheus:bazel_erlang_lib", - "//deps/rabbitmq_random_exchange:bazel_erlang_lib", - "//deps/rabbitmq_recent_history_exchange:bazel_erlang_lib", - "//deps/rabbitmq_sharding:bazel_erlang_lib", - "//deps/rabbitmq_shovel:bazel_erlang_lib", - "//deps/rabbitmq_shovel_management:bazel_erlang_lib", - "//deps/rabbitmq_stomp:bazel_erlang_lib", - "//deps/rabbitmq_stream:bazel_erlang_lib", - "//deps/rabbitmq_stream_management:bazel_erlang_lib", - "//deps/rabbitmq_top:bazel_erlang_lib", - "//deps/rabbitmq_tracing:bazel_erlang_lib", - "//deps/rabbitmq_trust_store:bazel_erlang_lib", - "//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", ] 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"): @@ -80,12 +84,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 = "", @@ -98,7 +102,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, @@ -117,7 +121,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, @@ -150,8 +154,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", ], testonly = True, ) @@ -178,7 +182,7 @@ def rabbitmq_integration_suite( ct_suite( name = name, suite_name = name, - tags = tags, + 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, @@ -198,14 +202,14 @@ 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 = [ - "//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 ) @@ -213,7 +217,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", @@ -229,14 +233,14 @@ def rabbitmq_integration_suite( "@rabbitmq-server-generic-unix-3.8.22//: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 6d5f284aab..e6ac310aa9 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", @@ -105,10 +107,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( @@ -132,15 +134,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/tools/erlang_ls.bzl b/tools/erlang_ls.bzl index 073a83787a..f767255ce2 100644 --- a/tools/erlang_ls.bzl +++ b/tools/erlang_ls.bzl @@ -1,4 +1,4 @@ -load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider") +load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider") def _impl(ctx): out = ctx.actions.declare_file(ctx.label.name) @@ -33,6 +33,6 @@ plt_path: bazel-bin/deps/rabbit/.base_plt.plt erlang_ls_config = rule( implementation = _impl, attrs = { - "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"), + "_erlang_home": attr.label(default = "@rules_erlang//:erlang_home"), }, ) 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 8e6516f360..1dfe923d30 100644 --- a/workspace_helpers.bzl +++ b/workspace_helpers.bzl @@ -1,18 +1,18 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "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("@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") 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 = "f27453bfa270538e1b48a9111206847e19a5ad51b4ded4f03fcb0184fbb555be", @@ -20,7 +20,7 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"): version = "0.5.7", ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "base64url", version = "1.0.1", sha256 = "f9b3add4731a02a9b0410398b475b33e7566a695365237a6bdee1bb447719f5c", @@ -33,7 +33,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 +43,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 +63,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 +87,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,19 +99,19 @@ erlang_lib( """, ) - hex_pm_bazel_erlang_lib( + 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", ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "gun", version = "1.3.3", sha256 = "3106ce167f9c9723f849e4fb54ea4a4d814e3996ae243a1c828b256e749041e0", @@ -119,7 +119,7 @@ erlang_lib( "src/gun_content_handler.erl", ], runtime_deps = [ - "@cowlib//:bazel_erlang_lib", + "@cowlib//:erlang_app", ], erlc_opts = [ "+debug_info", @@ -136,7 +136,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,18 +151,18 @@ erlang_lib( sha256 = "7816f39d00655f2605cfac180755e97e268dba86c2f71037998ff63792ca727b", ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "jsx", version = "3.1.0", sha256 = "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3", ) - github_bazel_erlang_lib( + github_erlang_app( name = "meck", org = "eproxus", ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "observer_cli", version = "1.7.1", sha256 = "4ccafaaa2ce01b85ddd14591f4d5f6731b4e13b610a70fb841f0701178478280", @@ -174,7 +174,7 @@ erlang_lib( remote = "https://github.com/rabbitmq/osiris.git", ) - github_bazel_erlang_lib( + github_erlang_app( name = "prometheus", repo = "prometheus.erl", org = "deadtrickster", @@ -187,11 +187,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", @@ -200,7 +200,7 @@ erlang_lib( org = "manopapad", ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "quantile_estimator", version = "0.2.1", erlc_opts = [ @@ -222,13 +222,13 @@ 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", ) - github_bazel_erlang_lib( + github_erlang_app( name = "seshat", org = "rabbitmq", ref = "main", @@ -239,13 +239,13 @@ erlang_lib( ], ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "stdout_formatter", version = "0.2.4", sha256 = "51f1df921b0477275ea712763042155dbc74acc75d9648dbd54985c45c913b29", ) - github_bazel_erlang_lib( + github_erlang_app( name = "syslog", org = "schlagert", sha256 = "01c31c31d4d28e564da0660bdb69725ba37173fca5b3228829b8f3f416f9e486", @@ -256,18 +256,18 @@ erlang_lib( ], ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "sysmon_handler", version = "1.3.0", sha256 = "922cf0dd558b9fdb1326168373315b52ed6a790ba943f6dcbd9ee22a74cebdef", ) - hex_pm_bazel_erlang_lib( + hex_pm_erlang_app( name = "systemd", version = "0.6.1", sha256 = "8ec5ed610a5507071cdb7423e663e2452a747a624bb8a58582acd9491ccad233", deps = [ - "@enough//:bazel_erlang_lib", + "@enough//:erlang_app", ], ) |