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.
This commit is contained in:
parent
e507469387
commit
8de8f59d47
14
BAZEL.md
14
BAZEL.md
|
@ -71,15 +71,23 @@ Note: This takes quite some time on a single machine.
|
|||
|
||||
`bazel test //deps/rabbit:lazy_queue_SUITE`
|
||||
|
||||
## Add/update an external dependency from hex.pm
|
||||
## Add/update an external dependency
|
||||
|
||||
### from hex.pm
|
||||
|
||||
1. `bazel run gazelle-update-repos -- -args hex.pm/accept@0.3.5` to generate/update `bazel/BUILD.accept`
|
||||
1. `git checkout WORKSPACE` to reset the workspace file
|
||||
1. Add/update the entry in MODULE.bazel
|
||||
|
||||
## Add/update an external dependency from github
|
||||
### from github
|
||||
|
||||
`bazel run gazelle-update-repos -- -args --testonly github.com/extend/ct_helper`
|
||||
1. `bazel run gazelle-update-repos -- -args --testonly github.com/extend/ct_helper@master`
|
||||
1. `git checkout WORKSPACE` to reset the workspace file
|
||||
1. Add/update the entry in MODULE.bazel
|
||||
|
||||
## Update BUILD files
|
||||
|
||||
`bazel run gazelle`
|
||||
|
||||
## Additional Useful Commands
|
||||
|
||||
|
|
112
BUILD.bazel
112
BUILD.bazel
|
@ -4,17 +4,25 @@ load(
|
|||
"string_flag",
|
||||
)
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("@bazel_gazelle//:def.bzl", "gazelle")
|
||||
load("@rules_erlang//gazelle:def.bzl", "GAZELLE_ERLANG_RUNTIME_DEPS")
|
||||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
|
||||
load("@rules_erlang//:dialyze.bzl", "DEFAULT_PLT_APPS", "plt")
|
||||
load("@rules_erlang//:shell.bzl", "shell")
|
||||
load("@rules_erlang//:erl_eval.bzl", "erl_eval")
|
||||
load("@bazel_gazelle//:def.bzl", "gazelle")
|
||||
load("@rules_erlang//gazelle:def.bzl", "GAZELLE_ERLANG_RUNTIME_DEPS")
|
||||
load("@rules_erlang//gazelle:moduleindex.bzl", "moduleindex")
|
||||
load("//bazel/elixir:iex_eval.bzl", "iex_eval")
|
||||
load(":rabbitmq_home.bzl", "rabbitmq_home")
|
||||
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
|
||||
load(":rabbitmqctl.bzl", "rabbitmqctl")
|
||||
load(":dist.bzl", "package_generic_unix", "source_archive")
|
||||
load(":rabbitmq.bzl", "all_plugins")
|
||||
load(
|
||||
":rabbitmq.bzl",
|
||||
"RABBITMQ_ERLC_OPTS",
|
||||
"RABBITMQ_TEST_ERLC_OPTS",
|
||||
"all_plugins",
|
||||
"without",
|
||||
)
|
||||
|
||||
exports_files([
|
||||
"scripts/bazel/rabbitmq-run.sh",
|
||||
|
@ -22,11 +30,62 @@ exports_files([
|
|||
"release-notes",
|
||||
])
|
||||
|
||||
# gazelle:prefix github.com/rabbitmq/rabbitmq-server
|
||||
# gazelle:exclude .github
|
||||
# gazelle:exclude .elixir_ls
|
||||
# gazelle:exclude bazel
|
||||
# gazelle:exclude bazel-out
|
||||
# gazelle:exclude deps/*/priv
|
||||
# gazelle:exclude deps/accept
|
||||
# gazelle:exclude deps/aten
|
||||
# gazelle:exclude deps/base64url
|
||||
# gazelle:exclude deps/cowboy
|
||||
# gazelle:exclude deps/cowlib
|
||||
# gazelle:exclude deps/credentials_obfuscation
|
||||
# gazelle:exclude deps/csv
|
||||
# gazelle:exclude deps/cuttlefish
|
||||
# gazelle:exclude deps/eetcd
|
||||
# gazelle:exclude deps/elvis_mk
|
||||
# gazelle:exclude deps/enough
|
||||
# gazelle:exclude deps/gen_batch_server
|
||||
# gazelle:exclude deps/getopt
|
||||
# gazelle:exclude deps/gun
|
||||
# gazelle:exclude deps/jose
|
||||
# gazelle:exclude deps/json
|
||||
# gazelle:exclude deps/observer_cli
|
||||
# gazelle:exclude deps/osiris
|
||||
# gazelle:exclude deps/prometheus
|
||||
# gazelle:exclude deps/quantile_estimator
|
||||
# gazelle:exclude deps/ra
|
||||
# gazelle:exclude deps/rabbitmq_cli
|
||||
# gazelle:exclude deps/ranch
|
||||
# gazelle:exclude deps/recon
|
||||
# gazelle:exclude deps/redbug
|
||||
# gazelle:exclude deps/seshat
|
||||
# gazelle:exclude deps/stdout_formatter
|
||||
# gazelle:exclude deps/syslog
|
||||
# gazelle:exclude deps/sysmon_handler
|
||||
# gazelle:exclude deps/systemd
|
||||
# gazelle:exclude deps/thoas
|
||||
# gazelle:exclude packaging
|
||||
# gazelle:exclude PACKAGES
|
||||
# gazelle:exclude logs
|
||||
# gazelle:erlang_apps_dirs deps
|
||||
# gazelle:erlang_skip_rules test_erlang_app
|
||||
# gazelle:erlang_skip_rules ct_test
|
||||
# gazelle:erlang_generate_beam_files_macro
|
||||
# gazelle:erlang_generate_fewer_bytecode_rules
|
||||
# gazelle:erlang_app_dep_exclude rabbitmq_cli
|
||||
# gazelle:map_kind erlang_app rabbitmq_app //:rabbitmq.bzl
|
||||
# gazelle:map_kind assert_suites2 assert_suites //:rabbitmq.bzl
|
||||
|
||||
# gazelle:erlang_module_source_lib Elixir.RabbitMQ.CLI.CommandBehaviour:rabbitmq_cli
|
||||
|
||||
gazelle(
|
||||
name = "gazelle",
|
||||
data = GAZELLE_ERLANG_RUNTIME_DEPS,
|
||||
extra_args = [
|
||||
"--verbose",
|
||||
],
|
||||
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
|
||||
)
|
||||
|
||||
|
@ -63,7 +122,10 @@ string_flag(
|
|||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = DEFAULT_PLT_APPS + ["compiler", "crypto"],
|
||||
apps = DEFAULT_PLT_APPS + [
|
||||
"compiler",
|
||||
"crypto",
|
||||
], # keep
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
|
@ -194,6 +256,22 @@ source_archive(
|
|||
plugins = PLUGINS,
|
||||
)
|
||||
|
||||
moduleindex(
|
||||
name = "moduleindex",
|
||||
testonly = True,
|
||||
apps = PLUGINS + [
|
||||
"@ct_helper//:erlang_app",
|
||||
"@emqtt//:erlang_app",
|
||||
"@inet_tcp_proxy_dist//:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
"//deps/rabbitmq_ct_client_helpers:erlang_app",
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
"//deps/trust_store_http:erlang_app",
|
||||
],
|
||||
tags = ["manual"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "test-logs",
|
||||
actual = "//bazel/util:test-logs",
|
||||
|
@ -213,3 +291,27 @@ alias(
|
|||
name = "remote-test-node-data",
|
||||
actual = "//bazel/util:remote-test-node-data",
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_ERLC_OPTS),
|
||||
"//conditions:default": RABBITMQ_ERLC_OPTS,
|
||||
}) + select({
|
||||
":test_build": [
|
||||
"-DTEST=1",
|
||||
"+nowarn_export_all",
|
||||
],
|
||||
"//conditions:default": [],
|
||||
}), # keep
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
erlc_opts(
|
||||
name = "test_erlc_opts",
|
||||
values = select({
|
||||
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS),
|
||||
"//conditions:default": RABBITMQ_TEST_ERLC_OPTS,
|
||||
}), # keep
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
|
|
@ -11,7 +11,7 @@ erlc_opts(
|
|||
"+debug_info",
|
||||
"+deterministic",
|
||||
],
|
||||
}), # keep
|
||||
}),
|
||||
visibility = [":__subpackages__"],
|
||||
)
|
||||
|
||||
|
@ -87,9 +87,10 @@ erlang_bytecode(
|
|||
"ebin/kv_pb.beam",
|
||||
"ebin/router_pb.beam",
|
||||
],
|
||||
hdrs = ["include/eetcd.hrl"],
|
||||
hdrs = [
|
||||
"include/eetcd.hrl",
|
||||
],
|
||||
app_name = "eetcd",
|
||||
beam = [],
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
|
@ -138,14 +139,13 @@ filegroup(
|
|||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = [],
|
||||
)
|
||||
filegroup(name = "private_hdrs")
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = ["include/eetcd.hrl"],
|
||||
srcs = [
|
||||
"include/eetcd.hrl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
|
@ -161,7 +161,9 @@ filegroup(
|
|||
|
||||
filegroup(
|
||||
name = "licenses",
|
||||
srcs = ["LICENSE"],
|
||||
srcs = [
|
||||
"LICENSE",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
|
|
|
@ -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_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "amqp10_client"
|
||||
|
||||
|
@ -36,76 +44,85 @@ APP_EXTRA_KEYS = """%% Hex.pm package informations.
|
|||
]}
|
||||
"""
|
||||
|
||||
EXTRA_APPS = [
|
||||
"public_key",
|
||||
"ssl",
|
||||
"inets",
|
||||
"crypto",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_extra_keys = APP_EXTRA_KEYS,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
build_deps = BUILD_DEPS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"inets",
|
||||
"ssl",
|
||||
"public_key",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = ["//deps/amqp10_common:erlang_app"],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = BUILD_DEPS + DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
plt = ":base_plt",
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites(
|
||||
extra_plugins = ["//deps/rabbitmq_amqp1_0:erlang_app"],
|
||||
)
|
||||
|
||||
TEST_DEPS = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
]
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "msg_SUITE",
|
||||
deps = DEPS,
|
||||
deps = TEST_DEPS,
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "system_SUITE",
|
||||
size = "medium",
|
||||
additional_hdrs = [
|
||||
"src/amqp10_client.hrl",
|
||||
],
|
||||
additional_srcs = [
|
||||
"test/activemq_ct_helpers.erl",
|
||||
"test/mock_server.erl",
|
||||
additional_beam = [
|
||||
"test/activemq_ct_helpers.beam",
|
||||
"test/mock_server.beam",
|
||||
],
|
||||
data = [
|
||||
"@activemq//:exec_dir",
|
||||
],
|
||||
erlc_opts = [
|
||||
"-I",
|
||||
"deps/amqp10_client",
|
||||
],
|
||||
test_env = {
|
||||
"ACTIVEMQ": "$TEST_SRCDIR/$TEST_WORKSPACE/external/activemq/bin/activemq",
|
||||
},
|
||||
deps = DEPS,
|
||||
deps = TEST_DEPS,
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
@ -115,3 +132,12 @@ alias(
|
|||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_activemq_ct_helpers_beam",
|
||||
":test_mock_server_beam",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
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 = "amqp10_client",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/amqp10_common: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 = "amqp10_client",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp10_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "msg_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/msg_SUITE.erl"],
|
||||
outs = ["test/msg_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp10_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
hdrs = ["src/amqp10_client.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp10_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_activemq_ct_helpers_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/activemq_ct_helpers.erl"],
|
||||
outs = ["test/activemq_ct_helpers.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_mock_server_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/mock_server.erl"],
|
||||
outs = ["test/mock_server.beam"],
|
||||
hdrs = ["src/amqp10_client.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -16,7 +16,7 @@
|
|||
recv_amqp_header_step/1
|
||||
]).
|
||||
|
||||
-include_lib("src/amqp10_client.hrl").
|
||||
-include("amqp10_client.hrl").
|
||||
|
||||
start(Port) ->
|
||||
{ok, LSock} = gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]),
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
||||
|
||||
-include_lib("src/amqp10_client.hrl").
|
||||
-include("amqp10_client.hrl").
|
||||
|
||||
-compile(export_all).
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
|
@ -7,6 +8,13 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
py_binary(
|
||||
name = "codegen",
|
||||
|
@ -62,19 +70,42 @@ APP_EXTRA_KEYS = """%% Hex.pm package informations.
|
|||
]}
|
||||
"""
|
||||
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "Modules shared by rabbitmq-amqp1.0 and rabbitmq-amqp1.0-client",
|
||||
app_extra_keys = APP_EXTRA_KEYS,
|
||||
app_name = "amqp10_common",
|
||||
extra_hdrs = ["include/amqp10_framing.hrl"],
|
||||
extra_srcs = ["src/amqp10_framing0.erl"],
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
plt = "//:base_plt",
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
|
@ -92,3 +123,8 @@ alias(
|
|||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
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 = [
|
||||
"src/amqp10_framing0.erl",
|
||||
] + native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/amqp10_framing0.erl", # keep
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "amqp10_common",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
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 = [
|
||||
"src/amqp10_framing0.erl",
|
||||
] + native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/amqp10_framing0.erl", # keep
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "amqp10_common",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
|
||||
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 = "srcs",
|
||||
srcs = [
|
||||
"src/amqp10_framing0.erl",
|
||||
] + native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
], exclude = [
|
||||
"src/amqp10_framing0.erl", # keep
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/amqp10_framing.hrl",
|
||||
] + native.glob(
|
||||
["include/**/*.hrl"],
|
||||
exclude = [
|
||||
"include/amqp10_framing.hrl", # keep
|
||||
],
|
||||
),
|
||||
)
|
||||
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 = "binary_generator_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/binary_generator_SUITE.erl"],
|
||||
outs = ["test/binary_generator_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "binary_parser_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/binary_parser_SUITE.erl"],
|
||||
outs = ["test/binary_parser_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
|
@ -10,6 +11,13 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_ENV = """[
|
||||
{prefer_ipv6, false},
|
||||
|
@ -37,17 +45,22 @@ APP_EXTRA_KEYS = """%% Hex.pm package informations.
|
|||
]}
|
||||
"""
|
||||
|
||||
EXTRA_APPS = [
|
||||
"xmerl",
|
||||
"ssl",
|
||||
"public_key",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app xmerl
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "RabbitMQ AMQP Client",
|
||||
app_env = APP_ENV,
|
||||
app_extra_keys = APP_EXTRA_KEYS,
|
||||
|
@ -56,23 +69,37 @@ rabbitmq_app(
|
|||
app_registered = [
|
||||
"amqp_sup",
|
||||
],
|
||||
extra_apps = EXTRA_APPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"xmerl",
|
||||
"public_key",
|
||||
"ssl",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@credentials_obfuscation//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
|
@ -90,7 +117,7 @@ rabbitmq_run(
|
|||
rabbitmq_integration_suite(
|
||||
name = "system_SUITE",
|
||||
size = "large",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
@ -98,10 +125,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
@ -113,3 +138,8 @@ alias(
|
|||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
|
|
@ -40,7 +40,7 @@ endef
|
|||
PACKAGES_DIR ?= $(abspath PACKAGES)
|
||||
|
||||
LOCAL_DEPS = xmerl
|
||||
DEPS = rabbit_common
|
||||
DEPS = rabbit_common credentials_obfuscation
|
||||
TEST_DEPS = rabbitmq_ct_helpers rabbit meck
|
||||
|
||||
DEP_EARLY_PLUGINS = rabbit_common/mk/rabbitmq-early-test.mk
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
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 = [":behaviours", ":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/amqp_gen_connection.erl",
|
||||
"src/amqp_gen_consumer.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "amqp_client",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/amqp_gen_connection.erl",
|
||||
"src/amqp_gen_consumer.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "amqp_client",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
|
||||
def all_test_beam_files(name = "all_test_beam_files"):
|
||||
filegroup(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = [":test_behaviours", ":test_other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_behaviours",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/amqp_gen_connection.erl",
|
||||
"src/amqp_gen_consumer.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "amqp_client",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/amqp_gen_connection.erl",
|
||||
"src/amqp_gen_consumer.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "amqp_client",
|
||||
beam = [":test_behaviours"],
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
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 = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
hdrs = ["include/amqp_client.hrl", "include/amqp_client_internal.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
hdrs = ["include/amqp_client.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
|
@ -9,9 +10,15 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
"without",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
load(":bats.bzl", "bats")
|
||||
|
||||
exports_files(glob([
|
||||
|
@ -142,27 +149,6 @@ _APP_ENV = """[
|
|||
]
|
||||
"""
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@cuttlefish//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
"@stdout_formatter//:erlang_app",
|
||||
"@syslog//:erlang_app",
|
||||
]
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app",
|
||||
"@observer_cli//:erlang_app",
|
||||
"@osiris//:erlang_app",
|
||||
"@recon//:erlang_app",
|
||||
"@redbug//:erlang_app",
|
||||
"@seshat//:erlang_app",
|
||||
"@sysmon_handler//:erlang_app",
|
||||
"@systemd//:erlang_app",
|
||||
]
|
||||
|
||||
APP_MODULE = "rabbit"
|
||||
|
||||
APP_REGISTERED = [
|
||||
|
@ -173,51 +159,96 @@ APP_REGISTERED = [
|
|||
"rabbit_router",
|
||||
]
|
||||
|
||||
EXTRA_APPS = [
|
||||
"sasl",
|
||||
"rabbitmq_prelaunch",
|
||||
"os_mon",
|
||||
"inets",
|
||||
"compiler",
|
||||
"public_key",
|
||||
"crypto",
|
||||
"ssl",
|
||||
"syntax_tools",
|
||||
"xmerl",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_apps_dirs apps
|
||||
|
||||
# gazelle:erlang_app_extra_app sasl
|
||||
# gazelle:erlang_app_extra_app os_mon
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
# gazelle:erlang_app_extra_app compiler
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app syntax_tools
|
||||
# gazelle:erlang_app_extra_app xmerl
|
||||
|
||||
# gazelle:erlang_app_dep cuttlefish
|
||||
# gazelle:erlang_app_dep syslog
|
||||
# gazelle:erlang_app_dep observer_cli
|
||||
# gazelle:erlang_app_dep redbug
|
||||
# gazelle:erlang_app_dep sysmon_handler
|
||||
# gazelle:erlang_app_dep systemd
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "RabbitMQ",
|
||||
app_env = _APP_ENV,
|
||||
app_module = APP_MODULE,
|
||||
app_name = "rabbit",
|
||||
app_registered = APP_REGISTERED,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"compiler",
|
||||
"inets",
|
||||
"os_mon",
|
||||
"public_key",
|
||||
"sasl",
|
||||
"ssl",
|
||||
"syntax_tools",
|
||||
"xmerl",
|
||||
"crypto",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
"//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@cuttlefish//:erlang_app",
|
||||
"@observer_cli//:erlang_app",
|
||||
"@osiris//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
"@recon//:erlang_app",
|
||||
"@redbug//:erlang_app",
|
||||
"@seshat//:erlang_app",
|
||||
"@stdout_formatter//:erlang_app",
|
||||
"@syslog//:erlang_app",
|
||||
"@sysmon_handler//:erlang_app",
|
||||
"@systemd//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
|
||||
plt_apps = [
|
||||
"mnesia",
|
||||
"runtime_tools",
|
||||
] + EXTRA_APPS
|
||||
|
||||
plt_apps.remove("rabbitmq_prelaunch")
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = plt_apps,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"mnesia", # keep
|
||||
],
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
# A few `lg` functions are unknown
|
||||
dialyzer_opts = without("-Wunknown", RABBITMQ_DIALYZER_OPTS),
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
bats(
|
||||
|
@ -246,42 +277,6 @@ rabbitmq_run(
|
|||
home = ":broker-for-tests-home",
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "quorum_queue_utils",
|
||||
srcs = [
|
||||
"test/quorum_queue_utils.erl",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_ha_test_consumer",
|
||||
srcs = [
|
||||
"test/rabbit_ha_test_consumer.erl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_ha_test_producer",
|
||||
srcs = [
|
||||
"test/rabbit_ha_test_producer.erl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "test_util",
|
||||
srcs = [
|
||||
"test/test_util.erl",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "amqqueue_backward_compatibility_SUITE",
|
||||
size = "small",
|
||||
|
@ -295,17 +290,17 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "channel_interceptor_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/dummy_interceptor.erl",
|
||||
"test/failing_dummy_interceptor.erl",
|
||||
additional_beam = [
|
||||
"test/dummy_interceptor.beam",
|
||||
"test/failing_dummy_interceptor.beam",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "channel_operation_timeout_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/channel_operation_timeout_test_queue.erl",
|
||||
additional_beam = [
|
||||
"test/channel_operation_timeout_test_queue.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -356,7 +351,7 @@ rabbitmq_integration_suite(
|
|||
name = "consumer_timeout_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -369,7 +364,7 @@ rabbitmq_integration_suite(
|
|||
name = "dead_lettering_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
flaky = True,
|
||||
shard_count = 7,
|
||||
|
@ -405,7 +400,7 @@ rabbitmq_integration_suite(
|
|||
name = "dynamic_qq_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
flaky = True,
|
||||
deps = [
|
||||
|
@ -490,7 +485,7 @@ rabbitmq_integration_suite(
|
|||
name = "maintenance_mode_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -498,8 +493,8 @@ rabbitmq_integration_suite(
|
|||
name = "many_node_ha_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_ha_test_consumer",
|
||||
":rabbit_ha_test_producer",
|
||||
":test_rabbit_ha_test_consumer_beam",
|
||||
":test_rabbit_ha_test_producer_beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -524,8 +519,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "mirrored_supervisor_SUITE",
|
||||
size = "small",
|
||||
additional_srcs = [
|
||||
"test/mirrored_supervisor_SUITE_gs.erl",
|
||||
additional_beam = [
|
||||
"test/mirrored_supervisor_SUITE_gs.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -619,7 +614,7 @@ rabbitmq_integration_suite(
|
|||
name = "publisher_confirms_parallel_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -638,7 +633,7 @@ rabbitmq_integration_suite(
|
|||
name = "queue_parallel_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
flaky = True,
|
||||
shard_count = 6,
|
||||
|
@ -653,7 +648,7 @@ rabbitmq_integration_suite(
|
|||
name = "quorum_queue_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
flaky = True,
|
||||
shard_count = 6,
|
||||
|
@ -672,49 +667,38 @@ rabbitmq_integration_suite(
|
|||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_cuttlefish_SUITE",
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_fifo_int_SUITE",
|
||||
size = "medium",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@aten//:erlang_app",
|
||||
"@gen_batch_server//:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_fifo_prop_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":test_util",
|
||||
],
|
||||
additional_hdrs = [
|
||||
"src/rabbit_fifo.hrl",
|
||||
],
|
||||
erlc_opts = [
|
||||
"-I",
|
||||
"deps/rabbit", # allow rabbit_fifo.hrl to be included at src/rabbit_fifo.hrl
|
||||
],
|
||||
runtime_deps = [
|
||||
"@ra//:erlang_app",
|
||||
":test_test_util_beam",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_fifo_dlx_SUITE",
|
||||
size = "small",
|
||||
additional_hdrs = [
|
||||
"src/rabbit_fifo.hrl",
|
||||
"src/rabbit_fifo_dlx.hrl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
|
@ -724,19 +708,13 @@ rabbitmq_integration_suite(
|
|||
name = "rabbit_fifo_dlx_integration_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":test_util",
|
||||
":quorum_queue_utils",
|
||||
":test_test_util_beam",
|
||||
":test_quorum_queue_utils_beam",
|
||||
":quorum_queue_SUITE_beam_files",
|
||||
],
|
||||
additional_hdrs = [
|
||||
"src/rabbit_fifo.hrl",
|
||||
"src/rabbit_fifo_dlx.hrl",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"@proper//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -744,18 +722,13 @@ rabbitmq_suite(
|
|||
name = "rabbit_fifo_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":test_util",
|
||||
":test_test_util_beam",
|
||||
":rabbit_fifo_v0_SUITE_beam_files",
|
||||
],
|
||||
additional_hdrs = [
|
||||
"src/rabbit_fifo.hrl",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@meck//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -763,21 +736,12 @@ rabbitmq_suite(
|
|||
name = "rabbit_fifo_v0_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":test_util",
|
||||
],
|
||||
additional_hdrs = [
|
||||
"src/rabbit_fifo_v0.hrl",
|
||||
],
|
||||
erlc_opts = [
|
||||
"-I",
|
||||
"deps/rabbit", # allow rabbit_fifo.hrl to be included at src/rabbit_fifo.hrl
|
||||
],
|
||||
runtime_deps = [
|
||||
"@meck//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
":test_test_util_beam",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -811,7 +775,7 @@ rabbitmq_integration_suite(
|
|||
name = "rabbit_stream_queue_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
flaky = True,
|
||||
shard_count = 12,
|
||||
|
@ -845,8 +809,8 @@ rabbitmq_integration_suite(
|
|||
name = "simple_ha_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":rabbit_ha_test_consumer",
|
||||
":rabbit_ha_test_producer",
|
||||
":test_rabbit_ha_test_consumer_beam",
|
||||
":test_rabbit_ha_test_producer_beam",
|
||||
],
|
||||
shard_count = 4,
|
||||
)
|
||||
|
@ -855,7 +819,7 @@ rabbitmq_integration_suite(
|
|||
name = "single_active_consumer_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -879,9 +843,9 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "unit_access_control_authn_authz_context_propagation_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/rabbit_auth_backend_context_propagation_mock.erl",
|
||||
"test/rabbit_foo_protocol_connection_info.erl",
|
||||
additional_beam = [
|
||||
"test/rabbit_auth_backend_context_propagation_mock.beam",
|
||||
"test/rabbit_foo_protocol_connection_info.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -896,8 +860,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "unit_access_control_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/rabbit_dummy_protocol_connection_info.erl",
|
||||
additional_beam = [
|
||||
"test/rabbit_dummy_protocol_connection_info.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -922,7 +886,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_cluster_formation_locking_mocks_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
@ -930,7 +894,7 @@ rabbitmq_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_collections_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
@ -938,7 +902,7 @@ rabbitmq_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_config_value_encryption_SUITE",
|
||||
size = "medium",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"//deps/rabbit/apps/rabbitmq_prelaunch:test_erlang_app",
|
||||
"//deps/rabbit_common:test_erlang_app",
|
||||
"@credentials_obfuscation//:erlang_app",
|
||||
|
@ -973,7 +937,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_gm_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
|
@ -1028,16 +992,16 @@ rabbitmq_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "unit_stats_and_metrics_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/dummy_event_receiver.erl",
|
||||
additional_beam = [
|
||||
"test/dummy_event_receiver.beam",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "unit_supervisor2_SUITE",
|
||||
size = "small",
|
||||
additional_srcs = [
|
||||
"test/dummy_supervisor2.erl",
|
||||
additional_beam = [
|
||||
"test/dummy_supervisor2.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -1054,8 +1018,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "vhost_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/test_rabbit_event_handler.erl",
|
||||
additional_beam = [
|
||||
"test/test_rabbit_event_handler.beam",
|
||||
],
|
||||
flaky = True,
|
||||
)
|
||||
|
@ -1076,25 +1040,17 @@ rabbitmq_suite(
|
|||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_cuttlefish_SUITE",
|
||||
size = "small",
|
||||
deps = [
|
||||
"@cuttlefish//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "direct_exchange_routing_v2_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_direct_reply_to_prop_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
deps = [
|
||||
"@proper//:erlang_app",
|
||||
],
|
||||
|
@ -1102,14 +1058,14 @@ rabbitmq_integration_suite(
|
|||
|
||||
rabbitmq_integration_suite(
|
||||
name = "unicode_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "exchanges_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":quorum_queue_utils",
|
||||
":test_quorum_queue_utils_beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -1120,37 +1076,37 @@ rabbitmq_integration_suite(
|
|||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_queue_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_maintenance_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_topic_exchange_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_exchange_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_binding_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_msup_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "rabbit_db_policy_SUITE",
|
||||
size = "small",
|
||||
size = "medium",
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
@ -1223,3 +1179,31 @@ rm -dr web-manpages-tmp
|
|||
""",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "rabbit",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_channel_operation_timeout_test_queue_beam",
|
||||
":test_dummy_event_receiver_beam",
|
||||
":test_dummy_interceptor_beam",
|
||||
":test_dummy_runtime_parameters_beam",
|
||||
":test_dummy_supervisor2_beam",
|
||||
":test_failing_dummy_interceptor_beam",
|
||||
":test_mirrored_supervisor_SUITE_gs_beam",
|
||||
":test_quorum_queue_utils_beam",
|
||||
":test_rabbit_auth_backend_context_propagation_mock_beam",
|
||||
":test_rabbit_dummy_protocol_connection_info_beam",
|
||||
":test_rabbit_foo_protocol_connection_info_beam",
|
||||
":test_rabbit_ha_test_consumer_beam",
|
||||
":test_rabbit_ha_test_producer_beam",
|
||||
":test_test_util_beam",
|
||||
":test_test_rabbit_event_handler_beam",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +1,21 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"APP_VERSION",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"assert_suites",
|
||||
"rabbitmq_app",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_prelaunch"
|
||||
|
||||
|
@ -14,56 +23,83 @@ APP_DESCRIPTION = "RabbitMQ prelaunch setup"
|
|||
|
||||
APP_MODULE = "rabbit_prelaunch_app"
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"@cuttlefish//:erlang_app",
|
||||
"@thoas//:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_dep thoas
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@cuttlefish//:erlang_app",
|
||||
"@thoas//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"@systemd//:erlang_app",
|
||||
"@osiris//:erlang_app",
|
||||
"@systemd//:erlang_app", # keep
|
||||
"@osiris//:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"runtime_tools",
|
||||
"eunit",
|
||||
],
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS + [
|
||||
"@systemd//:erlang_app",
|
||||
"@osiris//:erlang_app",
|
||||
"runtime_tools", # keep
|
||||
"eunit", # keep
|
||||
],
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
deps = [
|
||||
"@osiris//:erlang_app", # keep
|
||||
"@systemd//:erlang_app", # keep
|
||||
],
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
suites = [
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_logger_std_h_SUITE",
|
||||
),
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_prelaunch_file_SUITE",
|
||||
size = "small",
|
||||
),
|
||||
]
|
||||
eunit(
|
||||
name = "eunit",
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_logger_std_h_SUITE",
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_prelaunch_file_SUITE",
|
||||
size = "small",
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
||||
alias(
|
||||
name = "rabbitmq_prelaunch",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
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_prelaunch",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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_prelaunch",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = native.glob(["priv/**/*"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "rabbit_logger_std_h_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_logger_std_h_SUITE.erl"],
|
||||
outs = ["test/rabbit_logger_std_h_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_prelaunch_file_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_prelaunch_file_SUITE.erl"],
|
||||
outs = ["test/rabbit_prelaunch_file_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -9,7 +9,7 @@
|
|||
-behaviour(rabbit_runtime_parameter).
|
||||
-behaviour(rabbit_policy_validator).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([validate/5, notify/5, notify_clear/4]).
|
||||
-export([register/0, unregister/0]).
|
||||
|
|
|
@ -1,15 +1,115 @@
|
|||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
load("//:rabbitmq.bzl", "BROKER_VERSION_REQUIREMENTS_ANY")
|
||||
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"BROKER_VERSION_REQUIREMENTS_ANY",
|
||||
"rabbitmq_app",
|
||||
)
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
# gazelle:erlang_generate_beam_files_macro false
|
||||
# gazelle:erlang_always_generate_test_beam_files
|
||||
# gazelle:erlang_skip_rules assert_suites2,xref,plt,dialyze
|
||||
|
||||
erlang_app(
|
||||
# gazelle:erlang_app_dep rabbit_common
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/my_plugin.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "my_plugin",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/my_plugin.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "my_plugin",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "beam_files",
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = [":test_other_beam"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = [
|
||||
"src/my_plugin.erl",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = glob(["src/**/*.hrl"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = glob(["include/**/*.hrl"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = glob(["priv/**/*"]),
|
||||
)
|
||||
|
||||
filegroup(name = "licenses")
|
||||
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
srcs = [
|
||||
":private_hdrs",
|
||||
":public_hdrs",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
srcs = [
|
||||
":public_and_private_hdrs",
|
||||
":srcs",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "Plugin to test feature flags",
|
||||
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
|
||||
app_name = "my_plugin",
|
||||
app_version = "1.0.0",
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "my_plugin",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = glob(["LICENSE*"]),
|
||||
)
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
-include_lib("rabbit/src/rabbit_fifo.hrl").
|
||||
-include("rabbit_fifo.hrl").
|
||||
|
||||
%%%===================================================================
|
||||
%%% Common Test callbacks
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
-compile(export_all).
|
||||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("rabbit/src/rabbit_fifo.hrl").
|
||||
-include_lib("rabbit/src/rabbit_fifo_dlx.hrl").
|
||||
-include("rabbit_fifo.hrl").
|
||||
-include("rabbit_fifo_dlx.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%%===================================================================
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
-include_lib("proper/include/proper.hrl").
|
||||
-include_lib("common_test/include/ct.hrl").
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("rabbit/src/rabbit_fifo.hrl").
|
||||
-include_lib("rabbit/src/rabbit_fifo_dlx.hrl").
|
||||
-include("rabbit_fifo.hrl").
|
||||
-include("rabbit_fifo_dlx.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(record_info(T,R),lists:zip(record_info(fields,T),tl(tuple_to_list(R)))).
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
-include_lib("common_test/include/ct.hrl").
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include("src/rabbit_fifo_v0.hrl").
|
||||
-include("rabbit_fifo_v0.hrl").
|
||||
|
||||
%%%===================================================================
|
||||
%%% Common Test callbacks
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit/src/rabbit_stream_coordinator.hrl").
|
||||
-include("rabbit_stream_coordinator.hrl").
|
||||
|
||||
-define(STATE, rabbit_stream_coordinator).
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
-compile(export_all).
|
||||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("rabbit/src/rabbit_stream_sac_coordinator.hrl").
|
||||
-include("rabbit_stream_sac_coordinator.hrl").
|
||||
|
||||
%%%===================================================================
|
||||
%%% Common Test callbacks
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -7,6 +8,13 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
py_binary(
|
||||
name = "codegen",
|
||||
|
@ -52,15 +60,6 @@ genrule(
|
|||
tools = [":codegen"],
|
||||
)
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"@thoas//:erlang_app",
|
||||
"@recon//:erlang_app",
|
||||
"@credentials_obfuscation//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
]
|
||||
|
||||
APP_NAME = "rabbit_common"
|
||||
|
||||
APP_EXTRA_KEYS = """
|
||||
%% Hex.pm package informations.
|
||||
{licenses, ["MPL-2.0"]},
|
||||
|
@ -82,47 +81,77 @@ APP_EXTRA_KEYS = """
|
|||
]}
|
||||
"""
|
||||
|
||||
EXTRA_APPS = [
|
||||
"compiler",
|
||||
"crypto",
|
||||
"public_key",
|
||||
"sasl",
|
||||
"ssl",
|
||||
"syntax_tools",
|
||||
"tools",
|
||||
"xmerl",
|
||||
"runtime_tools",
|
||||
"os_mon",
|
||||
]
|
||||
# gazelle:erlang_app_extra_app compiler
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
# gazelle:erlang_app_extra_app sasl
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app syntax_tools
|
||||
# gazelle:erlang_app_extra_app tools
|
||||
# gazelle:erlang_app_extra_app xmerl
|
||||
# gazelle:erlang_app_extra_app runtime_tools
|
||||
# gazelle:erlang_app_extra_app os_mon
|
||||
|
||||
# gazelle:erlang_app_dep_exclude ranch
|
||||
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
|
||||
app_extra_keys = APP_EXTRA_KEYS,
|
||||
app_name = APP_NAME,
|
||||
extra_apps = EXTRA_APPS,
|
||||
extra_hdrs = [
|
||||
"include/rabbit_framing.hrl",
|
||||
app_name = "rabbit_common",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"compiler",
|
||||
"crypto",
|
||||
"public_key",
|
||||
"sasl",
|
||||
"ssl",
|
||||
"syntax_tools",
|
||||
"tools",
|
||||
"xmerl",
|
||||
"os_mon",
|
||||
"runtime_tools",
|
||||
],
|
||||
extra_srcs = [
|
||||
"src/rabbit_framing_amqp_0_8.erl",
|
||||
"src/rabbit_framing_amqp_0_9_1.erl",
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"@credentials_obfuscation//:erlang_app",
|
||||
"@ranch//:erlang_app", # keep
|
||||
"@recon//:erlang_app",
|
||||
"@thoas//:erlang_app",
|
||||
],
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS + ["mnesia"],
|
||||
plt = "//:base_plt",
|
||||
deps = RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"mnesia", # keep
|
||||
],
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
|
@ -136,8 +165,8 @@ rabbitmq_suite(
|
|||
rabbitmq_suite(
|
||||
name = "supervisor2_SUITE",
|
||||
size = "small",
|
||||
additional_srcs = [
|
||||
"test/test_event_handler.erl",
|
||||
additional_beam = [
|
||||
"test/test_event_handler.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -154,8 +183,8 @@ rabbitmq_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/gen_server2_test_server.erl",
|
||||
additional_beam = [
|
||||
"test/gen_server2_test_server.beam",
|
||||
],
|
||||
deps = [
|
||||
"@credentials_obfuscation//:erlang_app",
|
||||
|
@ -175,3 +204,12 @@ alias(
|
|||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_gen_server2_test_server_beam",
|
||||
":test_test_event_handler_beam",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
|
|
@ -0,0 +1,203 @@
|
|||
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 = [":behaviours", ":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = [
|
||||
"src/gen_server2.erl",
|
||||
"src/rabbit_authn_backend.erl",
|
||||
"src/rabbit_authz_backend.erl",
|
||||
"src/rabbit_password_hashing.erl",
|
||||
"src/rabbit_registry_class.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbit_common",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = [
|
||||
"src/rabbit_framing_amqp_0_8.erl",
|
||||
"src/rabbit_framing_amqp_0_9_1.erl",
|
||||
] + native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/gen_server2.erl",
|
||||
"src/rabbit_authn_backend.erl",
|
||||
"src/rabbit_authz_backend.erl",
|
||||
"src/rabbit_framing_amqp_0_8.erl", # keep
|
||||
"src/rabbit_framing_amqp_0_9_1.erl", # keep
|
||||
"src/rabbit_password_hashing.erl",
|
||||
"src/rabbit_registry_class.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbit_common",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
def all_test_beam_files(name = "all_test_beam_files"):
|
||||
filegroup(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = [":test_behaviours", ":test_other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_behaviours",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/gen_server2.erl",
|
||||
"src/rabbit_authn_backend.erl",
|
||||
"src/rabbit_authz_backend.erl",
|
||||
"src/rabbit_password_hashing.erl",
|
||||
"src/rabbit_registry_class.erl",
|
||||
],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbit_common",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"src/rabbit_framing_amqp_0_8.erl",
|
||||
"src/rabbit_framing_amqp_0_9_1.erl",
|
||||
] + native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/gen_server2.erl",
|
||||
"src/rabbit_authn_backend.erl",
|
||||
"src/rabbit_authz_backend.erl",
|
||||
"src/rabbit_framing_amqp_0_8.erl", # keep
|
||||
"src/rabbit_framing_amqp_0_9_1.erl", # keep
|
||||
"src/rabbit_password_hashing.erl",
|
||||
"src/rabbit_registry_class.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbit_common",
|
||||
beam = [":test_behaviours"],
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
|
||||
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 = "srcs",
|
||||
srcs = [
|
||||
"src/rabbit_framing_amqp_0_8.erl",
|
||||
"src/rabbit_framing_amqp_0_9_1.erl",
|
||||
] + native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
], exclude = [
|
||||
"src/rabbit_framing_amqp_0_8.erl", # keep
|
||||
"src/rabbit_framing_amqp_0_9_1.erl", # keep
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = [
|
||||
"include/rabbit_framing.hrl",
|
||||
] + native.glob(
|
||||
["include/**/*.hrl"],
|
||||
exclude = [
|
||||
"include/rabbit_framing.hrl", # keep
|
||||
],
|
||||
),
|
||||
)
|
||||
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_env_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_env_SUITE.erl"],
|
||||
outs = ["test/rabbit_env_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "supervisor2_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/supervisor2_SUITE.erl"],
|
||||
outs = ["test/supervisor2_SUITE.beam"],
|
||||
hdrs = ["include/rabbit.hrl", "include/resource.hrl"],
|
||||
beam = ["ebin/supervisor2.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_gen_server2_test_server_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/gen_server2_test_server.erl"],
|
||||
outs = ["test/gen_server2_test_server.beam"],
|
||||
beam = ["ebin/gen_server2.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_test_event_handler_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/test_event_handler.erl"],
|
||||
outs = ["test/test_event_handler.beam"],
|
||||
hdrs = ["include/rabbit.hrl", "include/resource.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
hdrs = ["include/rabbit.hrl", "include/rabbit_memory.hrl", "include/resource.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["@proper//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_priority_queue_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_priority_queue_SUITE.erl"],
|
||||
outs = ["test/unit_priority_queue_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "worker_pool_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/worker_pool_SUITE.erl"],
|
||||
outs = ["test/worker_pool_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_password_hashing_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_password_hashing_SUITE.erl"],
|
||||
outs = ["test/unit_password_hashing_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -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,7 +10,13 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"without",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_ENV = """[
|
||||
|
@ -22,49 +29,64 @@ APP_NAME = "rabbitmq_amqp1_0"
|
|||
|
||||
APP_DESCRIPTION = "AMQP 1.0 support for RabbitMQ"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
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_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/amqp10_common:erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"ssl",
|
||||
"ssl", # keep
|
||||
],
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS + RUNTIME_DEPS,
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
size = "medium",
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
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_amqp1_0",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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_amqp1_0",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "amqp10_client_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/amqp10_client_SUITE.erl"],
|
||||
outs = ["test/amqp10_client_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/command_SUITE.erl"],
|
||||
outs = ["test/command_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_amqp1_0.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp10_common:erlang_app", "//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "proxy_protocol_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/proxy_protocol_SUITE.erl"],
|
||||
outs = ["test/proxy_protocol_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_amqp1_0.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp10_common:erlang_app"],
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,6 +11,13 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_ENV = """[
|
||||
{cache_ttl, 15000},
|
||||
|
@ -25,36 +33,56 @@ APP_DESCRIPTION = "RabbitMQ Authentication Backend cache"
|
|||
|
||||
APP_MODULE = "rabbit_auth_backend_cache_app"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
|
||||
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,
|
||||
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",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
@ -69,7 +97,7 @@ rabbitmq_integration_suite(
|
|||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_auth_cache_SUITE",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
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 = [":behaviours", ":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = ["src/rabbit_auth_cache.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_auth_backend_cache",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_auth_cache.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_auth_backend_cache",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
|
||||
def all_test_beam_files(name = "all_test_beam_files"):
|
||||
filegroup(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = [":test_behaviours", ":test_other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_behaviours",
|
||||
testonly = True,
|
||||
srcs = ["src/rabbit_auth_cache.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_auth_backend_cache",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_auth_cache.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_auth_backend_cache",
|
||||
beam = [":test_behaviours"],
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_auth_backend_cache_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_auth_backend_cache_SUITE.erl"],
|
||||
outs = ["test/rabbit_auth_backend_cache_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_auth_cache_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_auth_cache_SUITE.erl"],
|
||||
outs = ["test/rabbit_auth_cache_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,6 +11,13 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_ENV = """[
|
||||
{http_method, get},
|
||||
|
@ -25,43 +33,61 @@ APP_DESCRIPTION = "RabbitMQ HTTP Authentication Backend"
|
|||
|
||||
APP_MODULE = "rabbit_auth_backend_http_app"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"inets",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
|
||||
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,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["inets"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [":test_auth_http_mock_beam"],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
@ -69,14 +95,12 @@ broker_for_integration_suites()
|
|||
rabbitmq_suite(
|
||||
name = "auth_SUITE",
|
||||
size = "small",
|
||||
additional_srcs = [
|
||||
"test/auth_http_mock.erl",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@cowboy//:erlang_app",
|
||||
additional_beam = [
|
||||
"test/auth_http_mock.beam",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@cowboy//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
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_auth_backend_http",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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_auth_backend_http",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "auth_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/auth_SUITE.erl"],
|
||||
outs = ["test/auth_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_auth_http_mock_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/auth_http_mock.erl"],
|
||||
outs = ["test/auth_http_mock.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,6 +11,13 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_ENV = """[
|
||||
{servers, undefined},
|
||||
|
@ -41,43 +49,62 @@ APP_DESCRIPTION = "RabbitMQ LDAP Authentication Backend"
|
|||
|
||||
APP_MODULE = "rabbit_auth_backend_ldap_app"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"eldap",
|
||||
"public_key",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app eldap
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
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,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"eldap",
|
||||
"public_key",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [":test_rabbit_ldap_seed_beam"],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
@ -89,8 +116,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "system_SUITE",
|
||||
size = "medium",
|
||||
additional_srcs = [
|
||||
"test/rabbit_ldap_seed.erl",
|
||||
additional_beam = [
|
||||
"test/rabbit_ldap_seed.beam",
|
||||
],
|
||||
data = [
|
||||
"example/global.ldif",
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
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_auth_backend_ldap",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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_auth_backend_ldap",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbit_ldap_seed_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_ldap_seed.erl"],
|
||||
outs = ["test/rabbit_ldap_seed.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -8,61 +9,83 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
"without",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_auth_backend_oauth2"
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
APP_DESCRIPTION = "OAuth 2 and JWT-based AuthN and AuthZ backend"
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
EXTRA_APPS = [
|
||||
"inets",
|
||||
"public_key",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"@jose//:erlang_app",
|
||||
]
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"@base64url//:erlang_app",
|
||||
"@cowlib//:erlang_app",
|
||||
]
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
# gazelle:erlang_app_dep_exclude rabbit_common
|
||||
|
||||
rabbitmq_app(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_name = APP_NAME,
|
||||
build_deps = BUILD_DEPS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = "OAuth 2 and JWT-based AuthN and AuthZ backend",
|
||||
app_name = "rabbitmq_auth_backend_oauth2",
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"inets",
|
||||
"public_key",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"@base64url//:erlang_app",
|
||||
"@cowlib//:erlang_app",
|
||||
"@jose//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_jwks_http_app_beam",
|
||||
":test_jwks_http_handler_beam",
|
||||
":test_jwks_http_sup_beam",
|
||||
":test_rabbit_auth_backend_oauth2_test_util_beam",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites(
|
||||
|
@ -71,13 +94,6 @@ broker_for_integration_suites(
|
|||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_auth_backend_oauth2_test_util",
|
||||
srcs = [
|
||||
"test/rabbit_auth_backend_oauth2_test_util.erl",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "add_uaa_key_command_SUITE",
|
||||
size = "small",
|
||||
|
@ -90,14 +106,12 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "jwks_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_auth_backend_oauth2_test_util",
|
||||
"test/rabbit_auth_backend_oauth2_test_util.beam",
|
||||
"test/jwks_http_app.beam",
|
||||
"test/jwks_http_handler.beam",
|
||||
"test/jwks_http_sup.beam",
|
||||
],
|
||||
additional_srcs = [
|
||||
"test/jwks_http_app.erl",
|
||||
"test/jwks_http_handler.erl",
|
||||
"test/jwks_http_sup.erl",
|
||||
],
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"@cowboy//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
@ -114,7 +128,7 @@ rabbitmq_integration_suite(
|
|||
name = "system_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_auth_backend_oauth2_test_util",
|
||||
"test/rabbit_auth_backend_oauth2_test_util.beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
|
@ -125,7 +139,7 @@ rabbitmq_integration_suite(
|
|||
name = "unit_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_auth_backend_oauth2_test_util",
|
||||
"test/rabbit_auth_backend_oauth2_test_util.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,162 @@
|
|||
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_auth_backend_oauth2",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
"@jose//: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_auth_backend_oauth2",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
"@jose//: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 = "add_uaa_key_command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/add_uaa_key_command_SUITE.erl"],
|
||||
outs = ["test/add_uaa_key_command_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "jwks_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/jwks_SUITE.erl"],
|
||||
outs = ["test/jwks_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "scope_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/scope_SUITE.erl"],
|
||||
outs = ["test/scope_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_jwks_http_app_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/jwks_http_app.erl"],
|
||||
outs = ["test/jwks_http_app.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_jwks_http_handler_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/jwks_http_handler.erl"],
|
||||
outs = ["test/jwks_http_handler.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["@cowboy//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_jwks_http_sup_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/jwks_http_sup.erl"],
|
||||
outs = ["test/jwks_http_sup.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbit_auth_backend_oauth2_test_util_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_auth_backend_oauth2_test_util.erl"],
|
||||
outs = ["test/rabbit_auth_backend_oauth2_test_util.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "wildcard_match_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/wildcard_match_SUITE.erl"],
|
||||
outs = ["test/wildcard_match_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -4,8 +4,15 @@ load(
|
|||
"//:rabbitmq.bzl",
|
||||
"BROKER_VERSION_REQUIREMENTS_ANY",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"assert_suites",
|
||||
"rabbitmq_app",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_auth_mechanism_ssl"
|
||||
|
||||
|
@ -17,40 +24,56 @@ APP_ENV = """[
|
|||
{name_from, distinguished_name}
|
||||
]"""
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_test_beam_files()
|
||||
|
||||
EXTRA_APPS = [
|
||||
"public_key",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
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,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["public_key"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
||||
alias(
|
||||
name = "rabbitmq_auth_mechanism_ssl",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
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_auth_mechanism_ssl",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
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_auth_mechanism_ssl",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
pass
|
|
@ -1,10 +1,18 @@
|
|||
load("@rules_erlang//:eunit.bzl", "eunit")
|
||||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load("//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"RABBITMQ_TEST_ERLC_OPTS",
|
||||
"rabbitmq_app",
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"assert_suites",
|
||||
"rabbitmq_app",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_aws"
|
||||
|
@ -17,55 +25,95 @@ APP_REGISTERED = [
|
|||
"rabbitmq_aws",
|
||||
]
|
||||
|
||||
EXTRA_APPS = [
|
||||
"crypto",
|
||||
"inets",
|
||||
"public_key",
|
||||
"ssl",
|
||||
"xmerl",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app xmerl
|
||||
# gazelle:erlang_app_dep_exclude rabbit_common
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
app_registered = APP_REGISTERED,
|
||||
build_deps = BUILD_DEPS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"inets",
|
||||
"ssl",
|
||||
"xmerl",
|
||||
"public_key",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = BUILD_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app", # keep
|
||||
],
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
erlc_opts = RABBITMQ_TEST_ERLC_OPTS + [
|
||||
"-I",
|
||||
"deps/rabbitmq_aws",
|
||||
"+nowarn_export_all",
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_rabbitmq_aws_all_tests_beam",
|
||||
":test_rabbitmq_aws_app_tests_beam",
|
||||
":test_rabbitmq_aws_config_tests_beam",
|
||||
":test_rabbitmq_aws_json_tests_beam",
|
||||
":test_rabbitmq_aws_sign_tests_beam",
|
||||
":test_rabbitmq_aws_sup_tests_beam",
|
||||
":test_rabbitmq_aws_tests_beam",
|
||||
":test_rabbitmq_aws_urilib_tests_beam",
|
||||
":test_rabbitmq_aws_xml_tests_beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@thoas//:erlang_app",
|
||||
data = [
|
||||
"test/test_aws_config.ini",
|
||||
"test/test_aws_credentials.ini",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app", # keep
|
||||
"@meck//:erlang_app", # keep
|
||||
"@thoas//:erlang_app", # keep
|
||||
],
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
||||
alias(
|
||||
name = "rabbitmq_aws",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
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_aws",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
|
||||
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_aws",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
|
||||
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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_all_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_all_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_all_tests.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_app_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_app_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_app_tests.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_config_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_config_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_config_tests.beam"],
|
||||
hdrs = ["include/rabbitmq_aws.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_json_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_json_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_json_tests.beam"],
|
||||
hdrs = ["include/rabbitmq_aws.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_sign_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_sign_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_sign_tests.beam"],
|
||||
hdrs = ["include/rabbitmq_aws.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_sup_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_sup_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_sup_tests.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_tests.beam"],
|
||||
hdrs = ["include/rabbitmq_aws.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_urilib_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_urilib_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_urilib_tests.beam"],
|
||||
hdrs = ["include/rabbitmq_aws.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbitmq_aws_xml_tests_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_aws_xml_tests.erl"],
|
||||
outs = ["test/rabbitmq_aws_xml_tests.beam"],
|
||||
hdrs = ["include/rabbitmq_aws.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -437,7 +437,7 @@ setup_test_config_env_var() ->
|
|||
|
||||
setup_test_file_with_env_var(EnvVar, Filename) ->
|
||||
os:putenv(EnvVar,
|
||||
filename:join([filename:absname("."), "test", "src",
|
||||
filename:join([filename:absname("."), "test",
|
||||
Filename])).
|
||||
|
||||
setup_test_credentials_env_var() ->
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
|
||||
-include("include/rabbitmq_aws.hrl").
|
||||
-include("rabbitmq_aws.hrl").
|
||||
|
||||
init_test_() ->
|
||||
{foreach,
|
|
@ -242,6 +242,9 @@ def _elixir_app_to_erlang_app(ctx):
|
|||
ebin = ctx.actions.declare_directory(path_join(ctx.label.name, "ebin"))
|
||||
|
||||
if ctx.attr.mode == "elixir":
|
||||
if len(ctx.attr.deps) > 0:
|
||||
fail("deps cannot be specified in the 'elixir' mode")
|
||||
|
||||
ctx.actions.run_shell(
|
||||
inputs = ctx.files.elixir_as_app + ctx.files.elixir_app,
|
||||
outputs = [ebin],
|
||||
|
@ -268,6 +271,8 @@ done
|
|||
include = lib_info.include,
|
||||
beam = [ebin],
|
||||
priv = lib_info.priv,
|
||||
license_files = lib_info.license_files,
|
||||
srcs = lib_info.srcs,
|
||||
deps = lib_info.deps,
|
||||
),
|
||||
]
|
||||
|
@ -297,12 +302,14 @@ done
|
|||
|
||||
lib_info = ctx.attr.elixir_app[ElixirAppInfo]
|
||||
|
||||
deps = lib_info.deps + ctx.attr.deps
|
||||
|
||||
runfiles = ctx.runfiles([ebin]).merge_all([
|
||||
erlang_runfiles,
|
||||
elixir_runfiles,
|
||||
] + [
|
||||
dep[DefaultInfo].default_runfiles
|
||||
for dep in lib_info.deps
|
||||
for dep in deps
|
||||
])
|
||||
|
||||
return [
|
||||
|
@ -318,7 +325,7 @@ done
|
|||
priv = lib_info.priv,
|
||||
license_files = lib_info.license_files,
|
||||
srcs = lib_info.srcs,
|
||||
deps = lib_info.deps,
|
||||
deps = deps,
|
||||
),
|
||||
]
|
||||
|
||||
|
@ -339,6 +346,9 @@ elixir_app_to_erlang_app = rule(
|
|||
"app",
|
||||
],
|
||||
),
|
||||
"deps": attr.label_list(
|
||||
providers = [ErlangAppInfo],
|
||||
),
|
||||
},
|
||||
toolchains = [
|
||||
"//bazel/elixir:toolchain_type",
|
||||
|
@ -387,4 +397,5 @@ def rabbitmqctl(
|
|||
elixir_app = ":" + name,
|
||||
mode = "app",
|
||||
visibility = visibility,
|
||||
deps = [":elixir"],
|
||||
)
|
||||
|
|
|
@ -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,49 +10,72 @@ 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_consistent_hash_exchange"
|
||||
|
||||
APP_DESCRIPTION = "Consistent Hash Exchange Type"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
|
||||
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",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = ["mnesia"],
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS,
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"mnesia", # keep
|
||||
],
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,88 @@
|
|||
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_consistent_hash_exchange",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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_consistent_hash_exchange",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
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_exchange_type_consistent_hash_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_exchange_type_consistent_hash_SUITE.erl"],
|
||||
outs = ["test/rabbit_exchange_type_consistent_hash_SUITE.beam"],
|
||||
hdrs = ["include/rabbitmq_consistent_hash_exchange.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
|
@ -1,12 +1,73 @@
|
|||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"assert_suites",
|
||||
"rabbitmq_app",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
# gazelle:erlang_app_testonly
|
||||
|
||||
# gazelle:erlang_always_generate_test_beam_files
|
||||
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
testonly = True,
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "rabbitmq_ct_client_helpers",
|
||||
app_version = "main",
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "rabbitmq_ct_client_helpers",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"common_test", # keep
|
||||
],
|
||||
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 = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
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",
|
||||
testonly = True,
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(["src/**/*.erl"]),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_ct_client_helpers",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
|
||||
def all_srcs(name = "all_srcs"):
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
testonly = True,
|
||||
srcs = [":public_and_private_hdrs", ":srcs"],
|
||||
)
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [":private_hdrs", ":public_hdrs"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
testonly = True,
|
||||
srcs = native.glob(["priv/**/*"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
testonly = True,
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
testonly = True,
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
testonly = True,
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
testonly = True,
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
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_ct_client_helpers",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
pass
|
|
@ -1,16 +1,114 @@
|
|||
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
|
||||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.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",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
erlang_app(
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_testonly
|
||||
|
||||
# gazelle:erlang_app_dep meck
|
||||
# gazelle:erlang_app_dep_exclude rabbit
|
||||
# gazelle:erlang_app_dep_exclude rabbitmq_prelaunch
|
||||
# gazelle:erlang_app_dep_exclude rabbitmq_management_agent
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
testonly = True,
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_name = "rabbitmq_ct_helpers",
|
||||
app_version = "main",
|
||||
extra_priv = [
|
||||
"tools/tls-certs/Makefile",
|
||||
"tools/tls-certs/openssl.cnf.in",
|
||||
],
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "rabbitmq_ct_helpers",
|
||||
actual = ":erlang_app",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:elixir", # keep
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
"//deps/rabbit:erlang_app", # keep
|
||||
"//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app", # keep
|
||||
"//deps/rabbitmq_management_agent:erlang_app", # keep
|
||||
"@proper//:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"common_test", # keep
|
||||
"eunit", # keep
|
||||
"inets", # keep
|
||||
],
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = [
|
||||
"//deps/rabbitmq_cli:elixir", # keep
|
||||
],
|
||||
plt = "//:base_plt",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app", # keep
|
||||
"//deps/rabbit/apps/rabbitmq_prelaunch:erlang_app", # keep
|
||||
"//deps/rabbitmq_cli:elixir", # keep
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
"//deps/rabbitmq_management_agent:erlang_app", # keep
|
||||
"@proper//:erlang_app", # keep
|
||||
],
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
warnings_as_errors = False,
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "terraform_SUITE",
|
||||
# requires SSH_KEY to create vms, skip running as part of CI
|
||||
tags = ["manual"],
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
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",
|
||||
testonly = True,
|
||||
srcs = [":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(["src/**/*.erl"]),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_ct_helpers",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@proper//: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_ct_helpers",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
def all_srcs(name = "all_srcs"):
|
||||
filegroup(
|
||||
name = "all_srcs",
|
||||
testonly = True,
|
||||
srcs = [":public_and_private_hdrs", ":srcs"],
|
||||
)
|
||||
filegroup(
|
||||
name = "public_and_private_hdrs",
|
||||
testonly = True,
|
||||
srcs = [":private_hdrs", ":public_hdrs"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
testonly = True,
|
||||
srcs = native.glob(
|
||||
["tools/terraform/**/*"],
|
||||
) + [
|
||||
"tools/tls-certs/Makefile",
|
||||
"tools/tls-certs/openssl.cnf.in",
|
||||
], # keep
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
testonly = True,
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
testonly = True,
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
testonly = True,
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
testonly = True,
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "terraform_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/terraform_SUITE.erl"],
|
||||
outs = ["test/terraform_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -897,9 +897,8 @@ exec([Cmd | Args], Options) when is_list(Cmd) orelse is_binary(Cmd) ->
|
|||
| proplists:delete(env, PortOptions1)],
|
||||
Log ++ "~n~nEnvironment variables:~n" ++
|
||||
string:join(
|
||||
[string:replace(
|
||||
rabbit_misc:format(" ~ts=~ts", [K, V]),
|
||||
"~", "~~", all) || {K, V} <- Env1],
|
||||
[rabbit_misc:format(" ~ts=~ts", [K, string:replace(V, "~", "~~", all)])
|
||||
|| {K, V} <- Env1],
|
||||
"~n")
|
||||
}
|
||||
end,
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,35 +11,64 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_event_exchange"
|
||||
|
||||
APP_DESCRIPTION = "Event Exchange Type"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
|
||||
app_name = APP_NAME,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
@ -53,7 +83,7 @@ rabbitmq_integration_suite(
|
|||
|
||||
rabbitmq_suite(
|
||||
name = "unit_SUITE",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
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_event_exchange",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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_event_exchange",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -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,7 +10,13 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_federation"
|
||||
|
@ -23,66 +30,70 @@ APP_ENV = """[
|
|||
{internal_exchange_check_interval, 90000}
|
||||
]"""
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
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,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS,
|
||||
ignore_warnings = True,
|
||||
)
|
||||
|
||||
dialyze(
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_federation_test_util",
|
||||
srcs = [
|
||||
"test/rabbit_federation_test_util.erl",
|
||||
],
|
||||
hdrs = glob([
|
||||
"include/**/*.hrl",
|
||||
"src/**/*.hrl",
|
||||
]),
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
":test_erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [":test_rabbit_federation_test_util_beam"],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "exchange_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":rabbit_federation_test_util",
|
||||
"test/rabbit_federation_test_util.beam",
|
||||
],
|
||||
flaky = True,
|
||||
shard_count = 2,
|
||||
|
@ -91,14 +102,14 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "federation_status_command_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_federation_test_util",
|
||||
"test/rabbit_federation_test_util.beam",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "queue_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_federation_test_util",
|
||||
"test/rabbit_federation_test_util.beam",
|
||||
],
|
||||
flaky = True,
|
||||
shard_count = 6,
|
||||
|
@ -107,7 +118,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "rabbit_federation_status_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_federation_test_util",
|
||||
"test/rabbit_federation_test_util.beam",
|
||||
":exchange_SUITE_beam_files",
|
||||
":queue_SUITE_beam_files",
|
||||
],
|
||||
|
@ -116,7 +127,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "restart_federation_link_command_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_federation_test_util",
|
||||
"test/rabbit_federation_test_util.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,150 @@
|
|||
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_federation",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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_federation",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
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 = "exchange_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/exchange_SUITE.erl"],
|
||||
outs = ["test/exchange_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_federation.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "federation_status_command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/federation_status_command_SUITE.erl"],
|
||||
outs = ["test/federation_status_command_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "queue_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/queue_SUITE.erl"],
|
||||
outs = ["test/queue_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_federation_status_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_federation_status_SUITE.erl"],
|
||||
outs = ["test/rabbit_federation_status_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_federation.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "restart_federation_link_command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/restart_federation_link_command_SUITE.erl"],
|
||||
outs = ["test/restart_federation_link_command_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbit_federation_test_util_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_federation_test_util.erl"],
|
||||
outs = ["test/rabbit_federation_test_util.beam"],
|
||||
hdrs = ["include/rabbit_federation.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_federation.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_inbroker_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_inbroker_SUITE.erl"],
|
||||
outs = ["test/unit_inbroker_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_federation.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
|
@ -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_federation_management"
|
||||
|
||||
|
@ -16,43 +24,63 @@ APP_DESCRIPTION = "RabbitMQ Federation Management"
|
|||
|
||||
APP_MODULE = "rabbit_federation_app"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbitmq_management:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbitmq_federation:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_dep amqp_client
|
||||
# gazelle:erlang_app_dep rabbit_common
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
# gazelle:erlang_app_dep rabbitmq_federation
|
||||
# gazelle:erlang_app_dep_exclude rabbitmq_management_agent
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
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/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_federation: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()
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
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_federation_management",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//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_federation_management",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//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 = "federation_mgmt_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/federation_mgmt_SUITE.erl"],
|
||||
outs = ["test/federation_mgmt_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
|
@ -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_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_jms_topic_exchange"
|
||||
|
||||
|
@ -16,45 +24,55 @@ APP_DESCRIPTION = "RabbitMQ JMS topic selector exchange plugin"
|
|||
|
||||
APP_MODULE = "rabbit_federation_app"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
EXTRA_APPS = [
|
||||
"mnesia",
|
||||
]
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app mnesia
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
build_deps = BUILD_DEPS,
|
||||
deps = DEPS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["mnesia"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
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_jms_topic_exchange",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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_jms_topic_exchange",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
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 = "rjms_topic_selector_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rjms_topic_selector_SUITE.erl"],
|
||||
outs = ["test/rjms_topic_selector_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_jms_topic_exchange.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rjms_topic_selector_unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rjms_topic_selector_unit_SUITE.erl"],
|
||||
outs = ["test/rjms_topic_selector_unit_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_jms_topic_exchange.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "sjx_evaluation_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/sjx_evaluation_SUITE.erl"],
|
||||
outs = ["test/sjx_evaluation_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,7 +11,13 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_management"
|
||||
|
@ -19,13 +26,6 @@ APP_DESCRIPTION = "RabbitMQ Management Console"
|
|||
|
||||
APP_MODULE = "rabbit_mgmt_app"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"mnesia",
|
||||
"ssl",
|
||||
"crypto",
|
||||
"public_key",
|
||||
]
|
||||
|
||||
APP_ENV = """[
|
||||
{http_log_dir, none},
|
||||
{load_definitions, none},
|
||||
|
@ -38,19 +38,6 @@ APP_ENV = """[
|
|||
{content_security_policy, "script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'"}
|
||||
]"""
|
||||
|
||||
DEPS = [
|
||||
"//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:erlang_app",
|
||||
"@cowboy//:erlang_app",
|
||||
"@cowlib//:erlang_app",
|
||||
]
|
||||
|
||||
genrule(
|
||||
name = "rabbitmqadmin",
|
||||
srcs = ["bin/rabbitmqadmin"],
|
||||
|
@ -61,52 +48,83 @@ sed 's/%%VSN%%/{}/' $< > $@
|
|||
""".format(APP_VERSION),
|
||||
)
|
||||
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app mnesia
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
# gazelle:erlang_app_dep_exclude ranch
|
||||
|
||||
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,
|
||||
extra_apps = EXTRA_APPS,
|
||||
extra_priv = [":rabbitmqadmin"],
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"mnesia",
|
||||
"public_key",
|
||||
"ssl",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
"//deps/rabbitmq_web_dispatch:erlang_app",
|
||||
"@cowboy//:erlang_app",
|
||||
"@cowlib//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
deps = DEPS + RUNTIME_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",
|
||||
compiled_suites = [":test_rabbit_mgmt_runtime_parameters_util_beam"],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_mgmt_runtime_parameters_util",
|
||||
srcs = [
|
||||
"test/rabbit_mgmt_runtime_parameters_util.erl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "cache_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
@ -146,7 +164,7 @@ rabbitmq_integration_suite(
|
|||
name = "rabbit_mgmt_http_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":rabbit_mgmt_runtime_parameters_util",
|
||||
"test/rabbit_mgmt_runtime_parameters_util.beam",
|
||||
],
|
||||
shard_count = 2,
|
||||
)
|
||||
|
@ -158,7 +176,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "rabbit_mgmt_rabbitmqadmin_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_mgmt_runtime_parameters_util",
|
||||
"test/rabbit_mgmt_runtime_parameters_util.beam",
|
||||
],
|
||||
data = [
|
||||
":bin/rabbitmqadmin",
|
||||
|
@ -168,10 +186,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "rabbit_mgmt_stats_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
],
|
||||
|
|
|
@ -0,0 +1,221 @@
|
|||
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 = [":behaviours", ":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = ["src/rabbit_mgmt_extension.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_management",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_mgmt_extension.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_management",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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_behaviours", ":test_other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_behaviours",
|
||||
testonly = True,
|
||||
srcs = ["src/rabbit_mgmt_extension.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_management",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_mgmt_extension.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_management",
|
||||
beam = [":test_behaviours"],
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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 = [
|
||||
"priv/www/cli/rabbitmqadmin",
|
||||
] + native.glob(["priv/**/*"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "cache_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/cache_SUITE.erl"],
|
||||
outs = ["test/cache_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["@proper//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "clustering_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/clustering_SUITE.erl"],
|
||||
outs = ["test/clustering_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbit_common:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app", "//deps/rabbitmq_management_agent:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "clustering_prop_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/clustering_prop_SUITE.erl"],
|
||||
outs = ["test/clustering_prop_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbit_common:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app", "//deps/rabbitmq_management_agent:erlang_app", "@proper//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "listener_config_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/listener_config_SUITE.erl"],
|
||||
outs = ["test/listener_config_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_http_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_http_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_http_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_http_health_checks_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_http_health_checks_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_http_health_checks_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_mgmt.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_only_http_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_only_http_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_only_http_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_rabbitmqadmin_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_rabbitmqadmin_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_rabbitmqadmin_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_stats_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_stats_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_stats_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbitmq_management_agent:erlang_app", "@proper//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_test_db_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_test_db_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_test_db_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_mgmt.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app", "//deps/rabbitmq_management_agent:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_test_unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_test_unit_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_test_unit_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "stats_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/stats_SUITE.erl"],
|
||||
outs = ["test/stats_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbitmq_management_agent:erlang_app", "@proper//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbit_mgmt_runtime_parameters_util_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_runtime_parameters_util.erl"],
|
||||
outs = ["test/rabbit_mgmt_runtime_parameters_util.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,6 +11,13 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_ENV = """[
|
||||
{rates_mode, basic},
|
||||
|
@ -26,55 +34,75 @@ APP_DESCRIPTION = "RabbitMQ Management Agent"
|
|||
|
||||
APP_MODULE = "rabbit_mgmt_agent_app"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"xmerl",
|
||||
"mnesia",
|
||||
"ranch",
|
||||
"ssl",
|
||||
"crypto",
|
||||
"public_key",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app xmerl
|
||||
# gazelle:erlang_app_extra_app mnesia
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
# gazelle:erlang_app_extra_app public_key
|
||||
|
||||
# gazelle:erlang_app_dep ranch
|
||||
|
||||
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,
|
||||
extra_apps = EXTRA_APPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = [
|
||||
"crypto",
|
||||
"mnesia",
|
||||
"public_key",
|
||||
"ssl",
|
||||
"xmerl",
|
||||
],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt_apps = list(EXTRA_APPS)
|
||||
|
||||
plt_apps.remove("ranch")
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = plt_apps,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
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()
|
||||
|
@ -100,10 +128,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "rabbit_mgmt_slide_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbitmq_ct_helpers:erlang_app",
|
||||
"@proper//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
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_management_agent",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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_management_agent",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "exometer_slide_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/exometer_slide_SUITE.erl"],
|
||||
outs = ["test/exometer_slide_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["@proper//:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "metrics_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/metrics_SUITE.erl"],
|
||||
outs = ["test/metrics_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_gc_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_gc_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_gc_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_mgmt_metrics.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_mgmt_slide_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_mgmt_slide_SUITE.erl"],
|
||||
outs = ["test/rabbit_mgmt_slide_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["@proper//:erlang_app"],
|
||||
)
|
|
@ -1,15 +1,23 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"BROKER_VERSION_REQUIREMENTS_ANY",
|
||||
"ENABLE_FEATURE_MAYBE_EXPR",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"assert_suites",
|
||||
"broker_for_integration_suites",
|
||||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_mqtt"
|
||||
|
@ -45,47 +53,73 @@ APP_ENV = """[
|
|||
{mailbox_soft_limit, 200}
|
||||
]"""
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
EXTRA_APPS = [ "ssl" ]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
|
||||
# gazelle:erlang_app_dep amqp_client
|
||||
|
||||
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,
|
||||
deps = DEPS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["ssl"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_rabbit_auth_backend_mqtt_mock_beam",
|
||||
":test_event_recorder_beam",
|
||||
":test_util_beam",
|
||||
],
|
||||
erl_extra_args = [ENABLE_FEATURE_MAYBE_EXPR],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites(
|
||||
|
@ -95,82 +129,61 @@ broker_for_integration_suites(
|
|||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_auth_backend_mqtt_mock",
|
||||
srcs = [
|
||||
"test/rabbit_auth_backend_mqtt_mock.erl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "util",
|
||||
srcs = [
|
||||
"test/util.erl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
hdrs = [
|
||||
"include/rabbit_mqtt.hrl"
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "event_recorder",
|
||||
srcs = [
|
||||
"test/event_recorder.erl",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "auth_SUITE",
|
||||
additional_beam = [
|
||||
":rabbit_auth_backend_mqtt_mock",
|
||||
":util",
|
||||
"test/rabbit_auth_backend_mqtt_mock.beam",
|
||||
"test/util.beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "cluster_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":test_util_beam",
|
||||
],
|
||||
flaky = True,
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
],
|
||||
additional_beam = [
|
||||
":util",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "command_SUITE",
|
||||
additional_beam = [
|
||||
":test_util_beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
],
|
||||
additional_beam = [
|
||||
":util",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "config_schema_SUITE",
|
||||
)
|
||||
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "config_SUITE",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "config_schema_SUITE",
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "ff_SUITE",
|
||||
additional_beam = [
|
||||
":test_util_beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "java_SUITE",
|
||||
flaky = True,
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
|
@ -193,22 +206,38 @@ rabbitmq_integration_suite(
|
|||
|
||||
rabbitmq_integration_suite(
|
||||
name = "reader_SUITE",
|
||||
additional_beam = [
|
||||
":test_util_beam",
|
||||
":test_event_recorder_beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
],
|
||||
additional_beam = [
|
||||
":event_recorder",
|
||||
":util",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "retainer_SUITE",
|
||||
additional_beam = [
|
||||
":test_util_beam",
|
||||
],
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "shared_SUITE",
|
||||
size = "large",
|
||||
additional_beam = [
|
||||
":util",
|
||||
":test_util_beam",
|
||||
":test_event_recorder_beam",
|
||||
],
|
||||
shard_count = 6,
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
"@emqtt//:erlang_app",
|
||||
"@gun//:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -220,31 +249,6 @@ rabbitmq_suite(
|
|||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "ff_SUITE",
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
],
|
||||
additional_beam = [
|
||||
":util",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "shared_SUITE",
|
||||
shard_count = 6,
|
||||
size = "large",
|
||||
runtime_deps = [
|
||||
"@emqtt//:erlang_app",
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
"@gun//:erlang_app",
|
||||
],
|
||||
additional_beam = [
|
||||
":event_recorder",
|
||||
":util",
|
||||
],
|
||||
)
|
||||
|
||||
assert_suites()
|
||||
|
||||
alias(
|
||||
|
|
|
@ -0,0 +1,233 @@
|
|||
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 = [":behaviours", ":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = ["src/rabbit_mqtt_retained_msg_store.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_mqtt",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_mqtt_retained_msg_store.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_mqtt",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit:erlang_app", "//deps/rabbit_common:erlang_app", "//deps/rabbitmq_cli:erlang_app", "@ra//:erlang_app", "@ranch//:erlang_app"],
|
||||
)
|
||||
|
||||
def all_test_beam_files(name = "all_test_beam_files"):
|
||||
filegroup(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = [":test_behaviours", ":test_other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_behaviours",
|
||||
testonly = True,
|
||||
srcs = ["src/rabbit_mqtt_retained_msg_store.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_mqtt",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_mqtt_retained_msg_store.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_mqtt",
|
||||
beam = [":test_behaviours"],
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
"@ra//:erlang_app",
|
||||
"@ranch//: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "auth_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/auth_SUITE.erl"],
|
||||
outs = ["test/auth_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "cluster_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/cluster_SUITE.erl"],
|
||||
outs = ["test/cluster_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/command_SUITE.erl"],
|
||||
outs = ["test/command_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_mqtt.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "java_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/java_SUITE.erl"],
|
||||
outs = ["test/java_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "mqtt_machine_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/mqtt_machine_SUITE.erl"],
|
||||
outs = ["test/mqtt_machine_SUITE.beam"],
|
||||
hdrs = ["include/mqtt_machine.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "processor_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/processor_SUITE.erl"],
|
||||
outs = ["test/processor_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "proxy_protocol_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/proxy_protocol_SUITE.erl"],
|
||||
outs = ["test/proxy_protocol_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "reader_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/reader_SUITE.erl"],
|
||||
outs = ["test/reader_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "retainer_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/retainer_SUITE.erl"],
|
||||
outs = ["test/retainer_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_rabbit_auth_backend_mqtt_mock_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_auth_backend_mqtt_mock.erl"],
|
||||
outs = ["test/rabbit_auth_backend_mqtt_mock.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "util_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/util_SUITE.erl"],
|
||||
outs = ["test/util_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_SUITE.erl"],
|
||||
outs = ["test/config_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "ff_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/ff_SUITE.erl"],
|
||||
outs = ["test/ff_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "shared_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/shared_SUITE.erl"],
|
||||
outs = ["test/shared_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_event_recorder_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/event_recorder.erl"],
|
||||
outs = ["test/event_recorder.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_util_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/util.erl"],
|
||||
outs = ["test/util.beam"],
|
||||
hdrs = ["include/rabbit_mqtt.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
|
@ -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,46 +10,69 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_peer_discovery_aws"
|
||||
|
||||
APP_DESCRIPTION = "AWS-based RabbitMQ peer discovery backend"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"inets",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbitmq_aws:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_name = APP_NAME,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["inets"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_aws:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [":test_aws_ecs_util_beam"],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
@ -66,8 +90,8 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "integration_SUITE",
|
||||
size = "large",
|
||||
additional_srcs = [
|
||||
"test/aws_ecs_util.erl",
|
||||
additional_beam = [
|
||||
"test/aws_ecs_util.beam",
|
||||
],
|
||||
tags = [
|
||||
"aws",
|
||||
|
@ -81,7 +105,7 @@ rabbitmq_suite(
|
|||
rabbitmq_suite(
|
||||
name = "unit_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
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_peer_discovery_aws",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app", "//deps/rabbitmq_peer_discovery_common: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_peer_discovery_aws",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app", "//deps/rabbitmq_peer_discovery_common: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 = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "integration_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/integration_SUITE.erl"],
|
||||
outs = ["test/integration_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_aws_ecs_util_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/aws_ecs_util.erl"],
|
||||
outs = ["test/aws_ecs_util.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,15 +1,21 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
"//:rabbitmq.bzl",
|
||||
"RABBITMQ_DIALYZER_OPTS",
|
||||
"RABBITMQ_ERLC_OPTS",
|
||||
"RABBITMQ_TEST_ERLC_OPTS",
|
||||
"assert_suites",
|
||||
"broker_for_integration_suites",
|
||||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_peer_discovery_common"
|
||||
|
||||
|
@ -17,40 +23,55 @@ APP_DESCRIPTION = "Modules shared by various peer discovery backends"
|
|||
|
||||
APP_MODULE = "rabbit_peer_discovery_common_app"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"inets",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app inets
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["inets"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
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_peer_discovery_common",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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_peer_discovery_common",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -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_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_peer_discovery_consul"
|
||||
|
||||
|
@ -16,35 +24,53 @@ APP_DESCRIPTION = "Consult-based RabbitMQ peer discovery backend"
|
|||
|
||||
APP_MODULE = "rabbitmq_peer_discovery_consul_app"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
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_peer_discovery_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
@ -56,7 +82,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "rabbitmq_peer_discovery_consul_SUITE",
|
||||
size = "medium",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
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_peer_discovery_consul",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common: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_peer_discovery_consul",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbitmq_peer_discovery_consul_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_peer_discovery_consul_SUITE.erl"],
|
||||
outs = ["test/rabbitmq_peer_discovery_consul_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -10,6 +11,13 @@ load(
|
|||
"rabbitmq_suite",
|
||||
"without",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_peer_discovery_etcd"
|
||||
|
||||
|
@ -17,44 +25,70 @@ APP_DESCRIPTION = "etcd-based RabbitMQ peer discovery backend"
|
|||
|
||||
APP_MODULE = "rabbitmq_peer_discovery_etcd_app"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"@eetcd//:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
# gazelle:erlang_app_dep gun
|
||||
# gazelle:erlang_app_dep_exclude credentials_obfuscation
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
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_peer_discovery_common:erlang_app",
|
||||
"@eetcd//:erlang_app",
|
||||
"@gun//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS + without(
|
||||
# eetcd depends on gun, which still uses erlang:get_stacktrace/0
|
||||
# and fails this rule if included
|
||||
"@eetcd//:erlang_app",
|
||||
RUNTIME_DEPS,
|
||||
),
|
||||
name = "deps_plt",
|
||||
# rather that setting for_target, which will include @gun
|
||||
# (via @eetcd) and fail, we produce the equivalent plt
|
||||
# without it
|
||||
for_target = None, # keep
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app", # keep
|
||||
"//deps/rabbit_common:erlang_app", # keep
|
||||
"//deps/rabbitmq_peer_discovery_common:erlang_app", # keep
|
||||
],
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = without(
|
||||
"-Wunknown", # also because of `eetcd'
|
||||
RABBITMQ_DIALYZER_OPTS
|
||||
"-Wunknown", # also because of `eetcd'
|
||||
RABBITMQ_DIALYZER_OPTS,
|
||||
),
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
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_peer_discovery_etcd",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common: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_peer_discovery_etcd",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_peer_discovery_etcd.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_SUITE.erl"],
|
||||
outs = ["test/unit_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_peer_discovery_etcd.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -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_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_peer_discovery_k8s"
|
||||
|
||||
|
@ -16,35 +24,53 @@ APP_DESCRIPTION = "Kubernetes-based RabbitMQ peer discovery backend"
|
|||
|
||||
APP_MODULE = "rabbitmq_peer_discovery_k8s_app"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
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_peer_discovery_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
@ -56,7 +82,7 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "rabbitmq_peer_discovery_k8s_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
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_peer_discovery_k8s",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common: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_peer_discovery_k8s",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_peer_discovery_common: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbitmq_peer_discovery_k8s_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbitmq_peer_discovery_k8s_SUITE.erl"],
|
||||
outs = ["test/rabbitmq_peer_discovery_k8s_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -8,6 +9,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_prometheus"
|
||||
|
||||
|
@ -17,43 +25,60 @@ APP_ENV = """[
|
|||
{return_per_object_metrics, false}
|
||||
]"""
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"@prometheus//:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
"//deps/rabbitmq_web_dispatch:erlang_app",
|
||||
"@accept//:erlang_app",
|
||||
"@cowboy//:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_dep rabbitmq_management_agent
|
||||
# gazelle:erlang_app_dep_exclude amqp_client
|
||||
# gazelle:erlang_app_dep_exclude rabbit_common
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_env = APP_ENV,
|
||||
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/rabbitmq_management_agent:erlang_app",
|
||||
"//deps/rabbitmq_web_dispatch:erlang_app",
|
||||
"@accept//:erlang_app",
|
||||
"@cowboy//:erlang_app",
|
||||
"@prometheus//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = BUILD_DEPS + DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
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_prometheus",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@prometheus//: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_prometheus",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@prometheus//: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 = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_prometheus_http_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_prometheus_http_SUITE.erl"],
|
||||
outs = ["test/rabbit_prometheus_http_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
|
@ -6,43 +6,60 @@ load(
|
|||
"assert_suites",
|
||||
"rabbitmq_app",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
# gazelle:erlang_always_generate_test_beam_files
|
||||
|
||||
APP_NAME = "rabbitmq_random_exchange"
|
||||
|
||||
APP_DESCRIPTION = "RabbitMQ Random Exchange"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
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",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
deps = BUILD_DEPS + DEPS,
|
||||
plt = "//:base_plt",
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
plt = "//:base_plt",
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
alias(
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
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_random_exchange",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
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_random_exchange",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit:erlang_app", "//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
pass
|
|
@ -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,45 +10,67 @@ 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_recent_history_exchange"
|
||||
|
||||
APP_DESCRIPTION = "RabbitMQ Recent History Exchange"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
|
||||
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",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
apps = [ "mnesia" ],
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
apps = [
|
||||
"mnesia", # keep
|
||||
],
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
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_recent_history_exchange",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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_recent_history_exchange",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
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 = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_recent_history.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
|
@ -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,35 +10,64 @@ 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_sharding"
|
||||
|
||||
APP_DESCRIPTION = "RabbitMQ Sharding Plugin"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
|
||||
app_name = APP_NAME,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref()
|
||||
xref(
|
||||
name = "xref",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
deps = DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
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()
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
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_sharding",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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_sharding",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "rabbit_hash_exchange_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_hash_exchange_SUITE.erl"],
|
||||
outs = ["test/rabbit_hash_exchange_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_sharding_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_sharding_SUITE.erl"],
|
||||
outs = ["test/rabbit_sharding_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app", "//deps/rabbit:erlang_app"],
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
|
@ -10,7 +11,13 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_shovel"
|
||||
|
@ -29,52 +36,65 @@ APP_ENV = """[
|
|||
]}
|
||||
]"""
|
||||
|
||||
EXTRA_APPS = [
|
||||
"crypto",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/amqp10_client:erlang_app",
|
||||
]
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app crypto
|
||||
|
||||
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,
|
||||
extra_apps = EXTRA_APPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["crypto"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/amqp10_client:erlang_app",
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
apps = EXTRA_APPS,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [":test_shovel_test_utils_beam"],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
|
@ -91,17 +111,10 @@ rabbitmq_run(
|
|||
home = ":broker-for-tests-home",
|
||||
)
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "shovel_test_utils",
|
||||
srcs = [
|
||||
"test/shovel_test_utils.erl",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "amqp10_dynamic_SUITE",
|
||||
additional_beam = [
|
||||
":shovel_test_utils",
|
||||
"test/shovel_test_utils.beam",
|
||||
],
|
||||
flaky = True,
|
||||
)
|
||||
|
@ -109,11 +122,9 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_suite(
|
||||
name = "amqp10_shovel_SUITE",
|
||||
size = "small",
|
||||
runtime_deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/amqp10_common:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -133,14 +144,14 @@ rabbitmq_integration_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "delete_shovel_command_SUITE",
|
||||
additional_beam = [
|
||||
":shovel_test_utils",
|
||||
"test/shovel_test_utils.beam",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "dynamic_SUITE",
|
||||
additional_beam = [
|
||||
":shovel_test_utils",
|
||||
"test/shovel_test_utils.beam",
|
||||
],
|
||||
flaky = True,
|
||||
)
|
||||
|
@ -156,7 +167,7 @@ rabbitmq_suite(
|
|||
rabbitmq_integration_suite(
|
||||
name = "shovel_status_command_SUITE",
|
||||
additional_beam = [
|
||||
":shovel_test_utils",
|
||||
"test/shovel_test_utils.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,188 @@
|
|||
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 = [":behaviours", ":other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "behaviours",
|
||||
srcs = ["src/rabbit_shovel_behaviour.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_shovel",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "other_beam",
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_shovel_behaviour.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_shovel",
|
||||
beam = [":behaviours"],
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
def all_test_beam_files(name = "all_test_beam_files"):
|
||||
filegroup(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = [":test_behaviours", ":test_other_beam"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_behaviours",
|
||||
testonly = True,
|
||||
srcs = ["src/rabbit_shovel_behaviour.erl"],
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_shovel",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_other_beam",
|
||||
testonly = True,
|
||||
srcs = native.glob(
|
||||
["src/**/*.erl"],
|
||||
exclude = [
|
||||
"src/rabbit_shovel_behaviour.erl",
|
||||
],
|
||||
),
|
||||
hdrs = [":public_and_private_hdrs"],
|
||||
app_name = "rabbitmq_shovel",
|
||||
beam = [":test_behaviours"],
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli: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 = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
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 = "amqp10_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/amqp10_SUITE.erl"],
|
||||
outs = ["test/amqp10_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "amqp10_dynamic_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/amqp10_dynamic_SUITE.erl"],
|
||||
outs = ["test/amqp10_dynamic_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "amqp10_shovel_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/amqp10_shovel_SUITE.erl"],
|
||||
outs = ["test/amqp10_shovel_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp10_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_SUITE.erl"],
|
||||
outs = ["test/config_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "configuration_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/configuration_SUITE.erl"],
|
||||
outs = ["test/configuration_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "delete_shovel_command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/delete_shovel_command_SUITE.erl"],
|
||||
outs = ["test/delete_shovel_command_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "dynamic_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/dynamic_SUITE.erl"],
|
||||
outs = ["test/dynamic_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "parameters_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/parameters_SUITE.erl"],
|
||||
outs = ["test/parameters_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "shovel_status_command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/shovel_status_command_SUITE.erl"],
|
||||
outs = ["test/shovel_status_command_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_shovel_test_utils_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/shovel_test_utils.erl"],
|
||||
outs = ["test/shovel_test_utils.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
|
@ -11,47 +12,73 @@ load(
|
|||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_shovel_management"
|
||||
|
||||
APP_DESCRIPTION = "Management extension for the Shovel plugin"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_management:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbitmq_shovel:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_dep rabbit
|
||||
# gazelle:erlang_app_dep rabbitmq_shovel
|
||||
# gazelle:erlang_app_dep_exclude cowboy
|
||||
# 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_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
|
||||
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",
|
||||
"//deps/rabbitmq_shovel: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",
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
|
@ -74,23 +101,19 @@ rabbitmq_integration_suite(
|
|||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_shovel_mgmt_SUITE",
|
||||
runtime_deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_management_agent:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_suite(
|
||||
name = "rabbit_shovel_mgmt_util_SUITE",
|
||||
runtime_deps = [
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_shovel:erlang_app",
|
||||
"@meck//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
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_shovel_management",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client: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_shovel_management",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client: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 = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "priv",
|
||||
srcs = native.glob(["priv/**/*"]),
|
||||
)
|
||||
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 = "http_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/http_SUITE.erl"],
|
||||
outs = ["test/http_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app", "//deps/rabbitmq_ct_helpers:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_shovel_mgmt_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_shovel_mgmt_SUITE.erl"],
|
||||
outs = ["test/rabbit_shovel_mgmt_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/rabbit_common:erlang_app", "//deps/rabbitmq_management_agent:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "rabbit_shovel_mgmt_util_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_shovel_mgmt_util_SUITE.erl"],
|
||||
outs = ["test/rabbit_shovel_mgmt_util_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
-include_lib("rabbitmq_management_agent/include/rabbit_mgmt_records.hrl").
|
||||
-include_lib("amqp_client/include/amqp_client.hrl").
|
||||
-include_lib("rabbit_shovel_mgmt.hrl").
|
||||
-include("rabbit_shovel_mgmt.hrl").
|
||||
|
||||
dispatcher() -> [{"/shovels", ?MODULE, []},
|
||||
{"/shovels/:vhost", ?MODULE, []},
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
-include_lib("rabbitmq_management_agent/include/rabbit_mgmt_records.hrl").
|
||||
-include_lib("amqp_client/include/amqp_client.hrl").
|
||||
-include_lib("rabbit_shovel_mgmt.hrl").
|
||||
-include("rabbit_shovel_mgmt.hrl").
|
||||
|
||||
%% Allow users to see things in the vhosts they are authorised. But
|
||||
%% static shovels do not have a vhost, so only allow admins (not
|
||||
|
|
|
@ -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,8 +10,16 @@ load(
|
|||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"rabbitmq_suite",
|
||||
"rabbitmq_test_helper",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
# gazelle:exclude test/src
|
||||
|
||||
APP_NAME = "rabbitmq_stomp"
|
||||
|
||||
|
@ -40,69 +49,74 @@ APP_ENV = """[
|
|||
{proxy_protocol, false}
|
||||
]"""
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
]
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
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/amqp_client:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
additional_libs = BUILD_DEPS,
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS + RUNTIME_DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
dialyze(
|
||||
name = "dialyze",
|
||||
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
|
||||
plt = ":base_plt",
|
||||
plt = ":deps_plt",
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
eunit(
|
||||
name = "eunit",
|
||||
compiled_suites = [
|
||||
":test_src_rabbit_stomp_client_beam",
|
||||
":test_src_rabbit_stomp_publish_test_beam",
|
||||
],
|
||||
target = ":test_erlang_app",
|
||||
)
|
||||
|
||||
broker_for_integration_suites()
|
||||
|
||||
rabbitmq_test_helper(
|
||||
name = "rabbit_stomp_client",
|
||||
srcs = [
|
||||
"test/src/rabbit_stomp_client.erl",
|
||||
],
|
||||
hdrs = glob([
|
||||
"include/**/*.hrl",
|
||||
"src/**/*.hrl",
|
||||
]),
|
||||
deps = [
|
||||
":test_erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_integration_suite(
|
||||
name = "command_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_stomp_client",
|
||||
"test/src/rabbit_stomp_client.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -115,7 +129,7 @@ rabbitmq_integration_suite(
|
|||
name = "connections_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_stomp_client",
|
||||
"test/src/rabbit_stomp_client.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -143,7 +157,7 @@ rabbitmq_integration_suite(
|
|||
name = "system_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_stomp_client",
|
||||
"test/src/rabbit_stomp_client.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -151,7 +165,7 @@ rabbitmq_integration_suite(
|
|||
name = "topic_SUITE",
|
||||
size = "medium",
|
||||
additional_beam = [
|
||||
":rabbit_stomp_client",
|
||||
"test/src/rabbit_stomp_client.beam",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,171 @@
|
|||
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_stomp",
|
||||
dest = "ebin",
|
||||
erlc_opts = "//:erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
"@ranch//: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_stomp",
|
||||
dest = "test",
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = [
|
||||
"//deps/amqp_client:erlang_app",
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
"@ranch//: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 = "private_hdrs",
|
||||
srcs = native.glob(["src/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "srcs",
|
||||
srcs = native.glob([
|
||||
"src/**/*.app.src",
|
||||
"src/**/*.erl",
|
||||
]),
|
||||
)
|
||||
filegroup(
|
||||
name = "public_hdrs",
|
||||
srcs = native.glob(["include/**/*.hrl"]),
|
||||
)
|
||||
filegroup(
|
||||
name = "license_files",
|
||||
srcs = native.glob(["LICENSE*"]),
|
||||
)
|
||||
|
||||
def test_suite_beam_files(name = "test_suite_beam_files"):
|
||||
erlang_bytecode(
|
||||
name = "command_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/command_SUITE.erl"],
|
||||
outs = ["test/command_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_stomp.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "config_schema_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/config_schema_SUITE.erl"],
|
||||
outs = ["test/config_schema_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "connections_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/connections_SUITE.erl"],
|
||||
outs = ["test/connections_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_stomp_frame.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "frame_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/frame_SUITE.erl"],
|
||||
outs = ["test/frame_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_stomp_frame.hrl", "include/rabbit_stomp_headers.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "proxy_protocol_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/proxy_protocol_SUITE.erl"],
|
||||
outs = ["test/proxy_protocol_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "python_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/python_SUITE.erl"],
|
||||
outs = ["test/python_SUITE.beam"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "system_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/system_SUITE.erl"],
|
||||
outs = ["test/system_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_stomp.hrl", "include/rabbit_stomp_frame.hrl", "include/rabbit_stomp_headers.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_src_rabbit_stomp_client_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/src/rabbit_stomp_client.erl"],
|
||||
outs = ["test/src/rabbit_stomp_client.beam"],
|
||||
hdrs = ["include/rabbit_stomp_frame.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "test_src_rabbit_stomp_publish_test_beam",
|
||||
testonly = True,
|
||||
srcs = ["test/src/rabbit_stomp_publish_test.erl"],
|
||||
outs = ["test/src/rabbit_stomp_publish_test.beam"],
|
||||
hdrs = ["include/rabbit_stomp_frame.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "topic_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/topic_SUITE.erl"],
|
||||
outs = ["test/topic_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_stomp.hrl", "include/rabbit_stomp_frame.hrl", "include/rabbit_stomp_headers.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
||||
erlang_bytecode(
|
||||
name = "util_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/util_SUITE.erl"],
|
||||
outs = ["test/util_SUITE.beam"],
|
||||
hdrs = ["include/rabbit_stomp_frame.hrl"],
|
||||
erlc_opts = "//:test_erlc_opts",
|
||||
deps = ["//deps/amqp_client:erlang_app"],
|
||||
)
|
|
@ -1,3 +1,4 @@
|
|||
load("@rules_erlang//:eunit2.bzl", "eunit")
|
||||
load("@rules_erlang//:xref2.bzl", "xref")
|
||||
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
||||
load(
|
||||
|
@ -7,7 +8,13 @@ load(
|
|||
"broker_for_integration_suites",
|
||||
"rabbitmq_app",
|
||||
"rabbitmq_integration_suite",
|
||||
"without",
|
||||
)
|
||||
load(
|
||||
":app.bzl",
|
||||
"all_beam_files",
|
||||
"all_srcs",
|
||||
"all_test_beam_files",
|
||||
"test_suite_beam_files",
|
||||
)
|
||||
|
||||
APP_NAME = "rabbitmq_stream"
|
||||
|
@ -32,47 +39,65 @@ APP_ENV = """[
|
|||
{advertised_port, undefined}
|
||||
]"""
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit_common:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
]
|
||||
all_beam_files(name = "all_beam_files")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbitmq_stream_common:erlang_app",
|
||||
"//deps/rabbit:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
"@osiris//:erlang_app",
|
||||
]
|
||||
all_test_beam_files(name = "all_test_beam_files")
|
||||
|
||||
all_srcs(name = "all_srcs")
|
||||
|
||||
test_suite_beam_files(name = "test_suite_beam_files")
|
||||
|
||||
# gazelle:erlang_app_extra_app ssl
|
||||
|
||||
# gazelle:erlang_app_dep_exclude rabbit_common
|
||||
|
||||
rabbitmq_app(
|
||||
name = "erlang_app",
|
||||
srcs = [":all_srcs"],
|
||||
hdrs = [":public_hdrs"],
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_env = APP_ENV,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
build_deps = BUILD_DEPS,
|
||||
deps = DEPS,
|
||||
beam_files = [":beam_files"],
|
||||
extra_apps = ["ssl"],
|
||||
license_files = [":license_files"],
|
||||
priv = [":priv"],
|
||||
deps = [
|
||||
"//deps/rabbit:erlang_app",
|
||||
"//deps/rabbitmq_stream_common:erlang_app",
|
||||
"@osiris//:erlang_app",
|
||||
"@ranch//:erlang_app",
|
||||
],
|
||||
)
|
||||
|
||||
xref(
|
||||
name = "xref",
|
||||
additional_libs = [
|
||||
"//deps/rabbitmq_cli:erlang_app",
|
||||
"//deps/rabbitmq_cli:erlang_app", # keep
|
||||
],
|
||||
target = ":erlang_app",
|
||||
)
|
||||
|
||||
plt(
|
||||
name = "base_plt",
|
||||
plt = "//:base_plt",
|
||||
apps = [
|
||||
"ssl",
|
||||
],
|
||||
libs = ["//deps/rabbitmq_cli:elixir"],
|
||||
deps = ["//deps/rabbitmq_cli:elixir"] + BUILD_DEPS + DEPS,
|
||||
name = "deps_plt",
|
||||
for_target = ":erlang_app",
|
||||
ignore_warnings = True,
|
||||
libs = ["//deps/rabbitmq_cli:elixir"], # keep
|
||||
plt = "//:base_plt",
|
||||
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
|
||||
)
|
||||
|
||||
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()
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue