diff options
author | Rin Kuryloski <kuryloskip@vmware.com> | 2023-02-23 14:47:41 +0100 |
---|---|---|
committer | Rin Kuryloski <kuryloskip@vmware.com> | 2023-04-17 18:13:18 +0200 |
commit | 8de8f59d47ef00c077ec53ad7a0ee5610cfdf746 (patch) | |
tree | 5d57b0089aca4fe7316a5ba6ef62648e8c715303 /deps/rabbitmq_tracing | |
parent | e50746938704dca0400528a89f0e05bf08b6d7f5 (diff) | |
download | rabbitmq-server-git-8de8f59d47ef00c077ec53ad7a0ee5610cfdf746.tar.gz |
Use gazelle generated bazel files
Bazel build files are now maintained primarily with `bazel run
gazelle`. This will analyze and merge changes into the build files as
necessitated by certain code changes (e.g. the introduction of new
modules).
In some cases there hints to gazelle in the build files, such as `#
gazelle:erlang...` or `# keep` comments. xref checks on plugins that
depend on the cli are a good example.
Diffstat (limited to 'deps/rabbitmq_tracing')
-rw-r--r-- | deps/rabbitmq_tracing/BUILD.bazel | 62 | ||||
-rw-r--r-- | deps/rabbitmq_tracing/app.bzl | 89 |
2 files changed, 132 insertions, 19 deletions
diff --git a/deps/rabbitmq_tracing/BUILD.bazel b/deps/rabbitmq_tracing/BUILD.bazel index 270d31444c..b3d9c8241c 100644 --- a/deps/rabbitmq_tracing/BUILD.bazel +++ b/deps/rabbitmq_tracing/BUILD.bazel @@ -1,3 +1,4 @@ +load("@rules_erlang//:eunit2.bzl", "eunit") load("@rules_erlang//:xref2.bzl", "xref") load("@rules_erlang//:dialyze.bzl", "dialyze", "plt") load( @@ -9,6 +10,13 @@ load( "rabbitmq_app", "rabbitmq_integration_suite", ) +load( + ":app.bzl", + "all_beam_files", + "all_srcs", + "all_test_beam_files", + "test_suite_beam_files", +) APP_NAME = "rabbitmq_tracing" @@ -22,43 +30,59 @@ APP_ENV = """[ {password, <<"guest">>} ]""" -BUILD_DEPS = [ - "//deps/amqp_client:erlang_app", - "//deps/rabbitmq_management_agent:erlang_app", -] +all_beam_files(name = "all_beam_files") + +all_test_beam_files(name = "all_test_beam_files") -DEPS = [ - "//deps/rabbit_common:erlang_app", - "//deps/rabbitmq_management:erlang_app", -] +all_srcs(name = "all_srcs") -RUNTIME_DEPS = [ - "//deps/rabbit:erlang_app", -] +test_suite_beam_files(name = "test_suite_beam_files") + +# gazelle:erlang_app_dep_exclude amqp_client +# gazelle:erlang_app_dep_exclude rabbitmq_management_agent rabbitmq_app( + name = "erlang_app", + srcs = [":all_srcs"], + hdrs = [":public_hdrs"], app_description = APP_DESCRIPTION, app_env = APP_ENV, app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY, app_module = APP_MODULE, app_name = APP_NAME, - build_deps = BUILD_DEPS, - runtime_deps = RUNTIME_DEPS, - deps = DEPS, + beam_files = [":beam_files"], + license_files = [":license_files"], + priv = [":priv"], + deps = [ + "//deps/rabbit:erlang_app", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management:erlang_app", + ], ) -xref() +xref( + name = "xref", + target = ":erlang_app", +) plt( - name = "base_plt", - plt = "//:base_plt", - deps = BUILD_DEPS + DEPS, + name = "deps_plt", + for_target = ":erlang_app", ignore_warnings = True, + libs = ["//deps/rabbitmq_cli:elixir"], # keep + plt = "//:base_plt", ) dialyze( + name = "dialyze", dialyzer_opts = RABBITMQ_DIALYZER_OPTS, - plt = ":base_plt", + plt = ":deps_plt", + target = ":erlang_app", +) + +eunit( + name = "eunit", + target = ":test_erlang_app", ) broker_for_integration_suites() diff --git a/deps/rabbitmq_tracing/app.bzl b/deps/rabbitmq_tracing/app.bzl new file mode 100644 index 0000000000..89d6872573 --- /dev/null +++ b/deps/rabbitmq_tracing/app.bzl @@ -0,0 +1,89 @@ +load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode") +load("@rules_erlang//:filegroup.bzl", "filegroup") + +def all_beam_files(name = "all_beam_files"): + filegroup( + name = "beam_files", + srcs = [":other_beam"], + ) + erlang_bytecode( + name = "other_beam", + srcs = native.glob(["src/**/*.erl"]), + hdrs = [":public_and_private_hdrs"], + app_name = "rabbitmq_tracing", + dest = "ebin", + erlc_opts = "//:erlc_opts", + deps = [ + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management:erlang_app", + "//deps/rabbitmq_management_agent:erlang_app", + ], + ) + +def all_test_beam_files(name = "all_test_beam_files"): + filegroup( + name = "test_beam_files", + testonly = True, + srcs = [":test_other_beam"], + ) + erlang_bytecode( + name = "test_other_beam", + testonly = True, + srcs = native.glob(["src/**/*.erl"]), + hdrs = [":public_and_private_hdrs"], + app_name = "rabbitmq_tracing", + dest = "test", + erlc_opts = "//:test_erlc_opts", + deps = [ + "//deps/amqp_client:erlang_app", + "//deps/rabbit_common:erlang_app", + "//deps/rabbitmq_management:erlang_app", + "//deps/rabbitmq_management_agent:erlang_app", + ], + ) + +def all_srcs(name = "all_srcs"): + filegroup( + name = "all_srcs", + srcs = [":public_and_private_hdrs", ":srcs"], + ) + filegroup( + name = "public_and_private_hdrs", + srcs = [":private_hdrs", ":public_hdrs"], + ) + + filegroup( + name = "priv", + srcs = native.glob(["priv/**/*"]), + ) + filegroup( + name = "public_hdrs", + srcs = native.glob(["include/**/*.hrl"]), + ) + + filegroup( + name = "srcs", + srcs = native.glob([ + "src/**/*.app.src", + "src/**/*.erl", + ]), + ) + filegroup( + name = "private_hdrs", + srcs = native.glob(["src/**/*.hrl"]), + ) + filegroup( + name = "license_files", + srcs = native.glob(["LICENSE*"]), + ) + +def test_suite_beam_files(name = "test_suite_beam_files"): + erlang_bytecode( + name = "rabbit_tracing_SUITE_beam_files", + testonly = True, + srcs = ["test/rabbit_tracing_SUITE.erl"], + outs = ["test/rabbit_tracing_SUITE.beam"], + erlc_opts = "//:test_erlc_opts", + deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"], + ) |