Adopt enhancements from @bazel-erlang

- no need to test version of ra since +debug_info is now default
- adjust the way default erlc_opts are handled
This commit is contained in:
Philip Kuryloski 2021-03-31 09:03:28 +02:00
parent 49726c794e
commit 128785b863
5 changed files with 64 additions and 59 deletions

View File

@ -1,33 +0,0 @@
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
DEPS = [
"@gen_batch_server//:bazel_erlang_lib",
]
RUNTIME_DEPS = [
"@aten//:bazel_erlang_lib",
]
NAME = "ra"
FIRST_SRCS = [
"src/ra_machine.erl",
"src/ra_snapshot.erl",
]
erlang_lib(
app_name = NAME,
first_srcs = FIRST_SRCS,
deps = DEPS,
runtime_deps = RUNTIME_DEPS,
)
test_erlang_lib(
app_name = NAME,
first_srcs = FIRST_SRCS,
erlc_opts = [
"+debug_info",
],
deps = DEPS,
runtime_deps = RUNTIME_DEPS,
)

View File

@ -178,7 +178,7 @@ FIRST_SRCS = [
"src/rabbit_queue_master_locator.erl", "src/rabbit_queue_master_locator.erl",
] ]
ERLC_OPTS = RABBITMQ_ERLC_OPTS + [ EXTRA_ERLC_OPTS = [
"-DINSTR_MOD=gm", "-DINSTR_MOD=gm",
] ]
@ -189,7 +189,7 @@ erlang_lib(
app_name = "rabbit", app_name = "rabbit",
app_registered = APP_REGISTERED, app_registered = APP_REGISTERED,
app_version = APP_VERSION, app_version = APP_VERSION,
erlc_opts = ERLC_OPTS, erlc_opts = RABBITMQ_ERLC_OPTS + EXTRA_ERLC_OPTS,
extra_apps = EXTRA_APPS, extra_apps = EXTRA_APPS,
first_srcs = FIRST_SRCS, first_srcs = FIRST_SRCS,
runtime_deps = RUNTIME_DEPS, runtime_deps = RUNTIME_DEPS,
@ -203,7 +203,7 @@ test_erlang_lib(
app_name = "rabbit", app_name = "rabbit",
app_registered = APP_REGISTERED, app_registered = APP_REGISTERED,
app_version = APP_VERSION, app_version = APP_VERSION,
erlc_opts = ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS, erlc_opts = RABBITMQ_TEST_ERLC_OPTS + EXTRA_ERLC_OPTS,
extra_apps = EXTRA_APPS, extra_apps = EXTRA_APPS,
first_srcs = FIRST_SRCS, first_srcs = FIRST_SRCS,
runtime_deps = [ runtime_deps = [
@ -215,9 +215,9 @@ test_erlang_lib(
"@sysmon_handler//:bazel_erlang_lib", "@sysmon_handler//:bazel_erlang_lib",
], ],
deps = [ deps = [
"//deps/amqp10_common:bazel_erlang_lib", "//deps/amqp10_common:test_bazel_erlang_lib",
"//deps/rabbit_common:test_bazel_erlang_lib", "//deps/rabbit_common:test_bazel_erlang_lib",
"@ra//:test_bazel_erlang_lib", # <- test version "@ra//:bazel_erlang_lib",
"@ranch//:bazel_erlang_lib", "@ranch//:bazel_erlang_lib",
"@stdout_formatter//:bazel_erlang_lib", "@stdout_formatter//:bazel_erlang_lib",
"@syslog//:bazel_erlang_lib", "@syslog//:bazel_erlang_lib",
@ -699,7 +699,7 @@ ct_suite(
"@aten//:bazel_erlang_lib", "@aten//:bazel_erlang_lib",
"@gen_batch_server//:bazel_erlang_lib", "@gen_batch_server//:bazel_erlang_lib",
"@meck//:bazel_erlang_lib", "@meck//:bazel_erlang_lib",
"@ra//:test_bazel_erlang_lib", "@ra//:bazel_erlang_lib",
], ],
deps = [ deps = [
"//deps/rabbit_common:bazel_erlang_lib", "//deps/rabbit_common:bazel_erlang_lib",

View File

@ -1,17 +1,39 @@
load("//:rabbitmq.bzl", "rabbitmq_lib") load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
load("@bazel-erlang//:ct.bzl", "ct_suite")
load("//:rabbitmq.bzl", "APP_VERSION")
DEPS = [ APP_NAME = "rabbitmq_prelaunch"
"//deps/rabbit_common:bazel_erlang_lib",
] APP_DESCRIPTION = "RabbitMQ prelaunch setup"
APP_MODULE = "rabbit_prelaunch_app"
RUNTIME_DEPS = [ RUNTIME_DEPS = [
"@jsx//:bazel_erlang_lib", "@jsx//:bazel_erlang_lib",
] ]
rabbitmq_lib( erlang_lib(
app_description = "RabbitMQ prelaunch setup", app_description = APP_DESCRIPTION,
app_module = "rabbit_prelaunch_app", app_module = APP_MODULE,
app_name = "rabbitmq_prelaunch", app_name = APP_NAME,
app_version = APP_VERSION,
runtime_deps = RUNTIME_DEPS, runtime_deps = RUNTIME_DEPS,
deps = DEPS, deps = [
"//deps/rabbit_common:bazel_erlang_lib",
],
)
test_erlang_lib(
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
app_version = APP_VERSION,
runtime_deps = RUNTIME_DEPS,
deps = [
"//deps/rabbit_common:test_bazel_erlang_lib",
],
)
ct_suite(
suite_name = "rabbit_logger_std_h_SUITE",
) )

View File

@ -1,12 +1,17 @@
load("@bazel-erlang//:bazel_erlang_lib.bzl", "TEST_ERLC_OPTS", "erlang_lib", "test_erlang_lib") load(
"@bazel-erlang//:bazel_erlang_lib.bzl",
"DEFAULT_ERLC_OPTS",
"DEFAULT_TEST_ERLC_OPTS",
"erlang_lib",
"test_erlang_lib",
)
load("@bazel-erlang//:ct.bzl", "ct_suite", "ct_test") load("@bazel-erlang//:ct.bzl", "ct_suite", "ct_test")
load("//deps/rabbitmq_cli:rabbitmqctl.bzl", "rabbitmqctl") load("//deps/rabbitmq_cli:rabbitmqctl.bzl", "rabbitmqctl")
load("//deps/rabbitmq_cli:rabbitmqctl_test.bzl", "rabbitmqctl_test") load("//deps/rabbitmq_cli:rabbitmqctl_test.bzl", "rabbitmqctl_test")
RABBITMQ_ERLC_OPTS = [] RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS
RABBITMQ_TEST_ERLC_OPTS = TEST_ERLC_OPTS + [ RABBITMQ_TEST_ERLC_OPTS = DEFAULT_TEST_ERLC_OPTS + [
"+debug_info",
"+nowarn_export_all", "+nowarn_export_all",
] ]
@ -58,7 +63,7 @@ def rabbitmq_lib(
app_registered = app_registered, app_registered = app_registered,
app_env = app_env, app_env = app_env,
extra_apps = extra_apps, extra_apps = extra_apps,
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS + extra_erlc_opts, erlc_opts = RABBITMQ_TEST_ERLC_OPTS + extra_erlc_opts,
first_srcs = first_srcs, first_srcs = first_srcs,
build_deps = build_deps, build_deps = build_deps,
deps = deps, deps = deps,
@ -74,7 +79,7 @@ def rabbitmq_integration_suite(
runtime_deps = [], runtime_deps = [],
**kwargs): **kwargs):
ct_suite( ct_suite(
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS + extra_erlc_opts, erlc_opts = RABBITMQ_TEST_ERLC_OPTS + extra_erlc_opts,
data = [ data = [
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile", "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in", "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",

View File

@ -93,15 +93,26 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
github_bazel_erlang_lib( github_bazel_erlang_lib(
name = "proper", name = "proper",
first_srcs = ["src/vararg.erl"], first_srcs = [
"src/vararg.erl",
"src/proper_target.erl",
],
org = "manopapad", org = "manopapad",
) )
http_archive( github_bazel_erlang_lib(
name = "ra", name = "ra",
build_file = rabbitmq_workspace + "//:BUILD.ra", first_srcs = [
strip_prefix = "ra-master", "src/ra_machine.erl",
urls = ["https://github.com/rabbitmq/ra/archive/master.zip"], "src/ra_snapshot.erl",
],
org = "rabbitmq",
deps = [
"@gen_batch_server//:bazel_erlang_lib",
],
runtime_deps = [
"@aten//:bazel_erlang_lib",
],
) )
hex_pm_bazel_erlang_lib( hex_pm_bazel_erlang_lib(