2023-01-31 22:05:52 +08:00
|
|
|
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
|
2021-03-29 17:01:43 +08:00
|
|
|
load(":rabbitmqctl.bzl", "rabbitmqctl")
|
2022-11-02 17:09:38 +08:00
|
|
|
load(":rabbitmqctl_check_formatted.bzl", "rabbitmqctl_check_formatted_test")
|
2021-03-29 17:01:43 +08:00
|
|
|
load(":rabbitmqctl_test.bzl", "rabbitmqctl_test")
|
2022-01-06 03:57:48 +08:00
|
|
|
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
|
|
|
|
load("//:rabbitmq_run.bzl", "rabbitmq_run")
|
2023-02-07 00:57:10 +08:00
|
|
|
load("//:rabbitmq.bzl", "RABBITMQ_DIALYZER_OPTS", "STARTS_BACKGROUND_BROKER_TAG", "without")
|
2021-03-29 17:01:43 +08:00
|
|
|
|
|
|
|
|
# Note: All the various rabbitmq-* scripts are just copies of rabbitmqctl
|
|
|
|
|
rabbitmqctl(
|
|
|
|
|
name = "rabbitmqctl",
|
2022-05-17 20:07:16 +08:00
|
|
|
srcs = [
|
2021-03-29 17:01:43 +08:00
|
|
|
"mix.exs",
|
|
|
|
|
"config/config.exs",
|
2022-05-17 20:07:16 +08:00
|
|
|
] + glob([
|
2021-03-29 17:01:43 +08:00
|
|
|
"lib/**/*.ex",
|
|
|
|
|
]),
|
2022-06-09 16:52:09 +08:00
|
|
|
license_files = glob(["LICENSE*"]),
|
2021-03-29 17:01:43 +08:00
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
|
deps = [
|
2022-01-06 03:57:48 +08:00
|
|
|
"//deps/rabbit_common:erlang_app",
|
2023-03-01 00:59:17 +08:00
|
|
|
"@observer_cli//:erlang_app",
|
|
|
|
|
"@stdout_formatter//:erlang_app",
|
2021-03-29 17:01:43 +08:00
|
|
|
],
|
2023-04-12 20:27:32 +08:00
|
|
|
archives = [
|
|
|
|
|
"@hex//:archive",
|
|
|
|
|
],
|
2023-03-14 21:27:47 +08:00
|
|
|
source_deps = {
|
|
|
|
|
"@csv//:sources": "csv",
|
|
|
|
|
"@json//:sources": "json",
|
2023-04-12 20:27:32 +08:00
|
|
|
"@parallel_stream//:sources": "parallel_stream", # transitive dep of csv 2.x
|
2023-03-14 21:27:47 +08:00
|
|
|
},
|
2021-03-29 17:01:43 +08:00
|
|
|
)
|
|
|
|
|
|
2022-01-06 03:57:48 +08:00
|
|
|
rabbitmq_home(
|
|
|
|
|
name = "broker-for-cli-tests-home",
|
|
|
|
|
testonly = True,
|
|
|
|
|
plugins = [
|
|
|
|
|
"//deps/rabbit:erlang_app",
|
|
|
|
|
"//deps/rabbitmq_federation:erlang_app",
|
|
|
|
|
"//deps/rabbitmq_stomp:erlang_app",
|
2022-11-02 02:19:50 +08:00
|
|
|
"//deps/rabbitmq_stream_management:erlang_app",
|
2022-01-06 03:57:48 +08:00
|
|
|
"//deps/amqp_client:erlang_app",
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
rabbitmq_run(
|
|
|
|
|
name = "rabbitmq-for-cli-tests-run",
|
|
|
|
|
testonly = True,
|
|
|
|
|
home = ":broker-for-cli-tests-home",
|
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
|
)
|
|
|
|
|
|
2022-11-02 17:09:38 +08:00
|
|
|
rabbitmqctl_check_formatted_test(
|
|
|
|
|
name = "check_formatted",
|
|
|
|
|
size = "small",
|
|
|
|
|
srcs = [
|
|
|
|
|
"mix.exs",
|
|
|
|
|
"config/config.exs",
|
|
|
|
|
".formatter.exs",
|
|
|
|
|
] + glob([
|
|
|
|
|
"lib/**/*.ex",
|
|
|
|
|
"test/**/*.exs",
|
|
|
|
|
]),
|
|
|
|
|
data = glob(["test/fixtures/**/*"]),
|
2022-11-02 20:56:02 +08:00
|
|
|
target_compatible_with = select({
|
|
|
|
|
"@platforms//os:macos": ["@platforms//os:macos"],
|
|
|
|
|
"//conditions:default": ["@platforms//os:linux"],
|
|
|
|
|
}),
|
2022-11-02 17:09:38 +08:00
|
|
|
)
|
|
|
|
|
|
2023-01-20 05:06:56 +08:00
|
|
|
test_suite(
|
2022-11-02 17:09:38 +08:00
|
|
|
name = "rabbitmqctl_check_formatted",
|
2023-01-20 05:06:56 +08:00
|
|
|
tests = ["check_formatted"],
|
2022-11-02 17:09:38 +08:00
|
|
|
)
|
|
|
|
|
|
2023-01-31 22:05:52 +08:00
|
|
|
plt(
|
|
|
|
|
name = "deps_plt",
|
2023-02-07 00:57:10 +08:00
|
|
|
apps = [
|
|
|
|
|
"kernel",
|
|
|
|
|
"stdlib",
|
|
|
|
|
"erts",
|
|
|
|
|
"mnesia",
|
|
|
|
|
"public_key",
|
|
|
|
|
"runtime_tools",
|
|
|
|
|
],
|
2023-01-31 22:05:52 +08:00
|
|
|
libs = [":elixir"],
|
|
|
|
|
deps = [
|
|
|
|
|
":elixir",
|
|
|
|
|
"//deps/rabbit:erlang_app",
|
|
|
|
|
"//deps/rabbit_common:erlang_app",
|
|
|
|
|
],
|
2023-04-15 00:22:02 +08:00
|
|
|
ignore_warnings = True,
|
2023-01-31 22:05:52 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
dialyze(
|
2023-02-07 00:57:10 +08:00
|
|
|
dialyzer_opts = without(
|
|
|
|
|
# Some Elixir.CSV, Elixir.JSON and Elixir.Logger functions are unknown
|
|
|
|
|
"-Wunknown",
|
|
|
|
|
RABBITMQ_DIALYZER_OPTS,
|
|
|
|
|
),
|
2023-01-31 22:05:52 +08:00
|
|
|
libs = [":elixir"],
|
|
|
|
|
plt = ":deps_plt",
|
|
|
|
|
)
|
|
|
|
|
|
2021-03-29 17:01:43 +08:00
|
|
|
rabbitmqctl_test(
|
2022-11-02 17:09:38 +08:00
|
|
|
name = "tests",
|
2021-03-29 17:01:43 +08:00
|
|
|
size = "large",
|
2022-05-17 20:07:16 +08:00
|
|
|
srcs = [
|
2021-03-29 17:01:43 +08:00
|
|
|
"mix.exs",
|
|
|
|
|
"config/config.exs",
|
2022-10-04 19:56:24 +08:00
|
|
|
".formatter.exs",
|
2022-05-17 20:07:16 +08:00
|
|
|
] + glob([
|
2021-03-29 17:01:43 +08:00
|
|
|
"lib/**/*.ex",
|
|
|
|
|
"test/**/*.exs",
|
|
|
|
|
]),
|
|
|
|
|
data = glob(["test/fixtures/**/*"]),
|
2021-05-03 16:27:36 +08:00
|
|
|
flaky = True,
|
2022-01-06 03:57:48 +08:00
|
|
|
rabbitmq_run = ":rabbitmq-for-cli-tests-run",
|
|
|
|
|
tags = [STARTS_BACKGROUND_BROKER_TAG],
|
2021-03-29 17:01:43 +08:00
|
|
|
deps = [
|
2022-01-06 03:57:48 +08:00
|
|
|
"//deps/amqp_client:erlang_app",
|
|
|
|
|
"//deps/rabbit:erlang_app",
|
|
|
|
|
"//deps/rabbit_common:erlang_app",
|
2023-03-01 00:59:17 +08:00
|
|
|
"@observer_cli//:erlang_app",
|
|
|
|
|
"@stdout_formatter//:erlang_app",
|
2021-03-29 17:01:43 +08:00
|
|
|
],
|
2023-04-12 20:27:32 +08:00
|
|
|
archives = [
|
|
|
|
|
"@hex//:archive",
|
|
|
|
|
],
|
2023-03-14 21:27:47 +08:00
|
|
|
source_deps = {
|
2023-04-12 20:27:32 +08:00
|
|
|
"@amqp//:sources": "amqp",
|
2023-03-14 21:27:47 +08:00
|
|
|
"@csv//:sources": "csv",
|
2023-04-12 20:27:32 +08:00
|
|
|
"@dialyxir//:sources": "dialyxir",
|
2023-03-14 21:27:47 +08:00
|
|
|
"@json//:sources": "json",
|
2023-04-12 20:27:32 +08:00
|
|
|
"@parallel_stream//:sources": "parallel_stream", # transitive dep of csv 2.x
|
|
|
|
|
"@temp//:sources": "temp",
|
|
|
|
|
"@x509//:sources": "x509",
|
2023-03-14 21:27:47 +08:00
|
|
|
},
|
2021-03-29 17:01:43 +08:00
|
|
|
)
|
2022-11-02 17:09:38 +08:00
|
|
|
|
2023-01-20 05:06:56 +08:00
|
|
|
test_suite(
|
2022-11-02 17:09:38 +08:00
|
|
|
name = "rabbitmqctl_tests",
|
2023-01-20 05:06:56 +08:00
|
|
|
tests = ["tests"],
|
2022-11-02 17:09:38 +08:00
|
|
|
)
|