diff options
author | Philip Kuryloski <kuryloskip@vmware.com> | 2022-01-03 12:38:06 +0100 |
---|---|---|
committer | Philip Kuryloski <kuryloskip@vmware.com> | 2022-01-03 12:38:06 +0100 |
commit | 70ef6b69843812f29db327b0227615eb87b93557 (patch) | |
tree | e7e5a55af61f21cef73f35bc29f6e70cbf50a356 | |
parent | c8bc41f465813368634a67bbc65e1967883253c9 (diff) | |
download | rabbitmq-server-git-bazel-run-dev-broker.tar.gz |
Disable +deterministic in compilation_mode dbg under bazelbazel-run-dev-broker
This allows compiling and reloading code from the erlang shell when
running the broker with `bazel run -c dbg broker`
-rw-r--r-- | BUILD.bazel | 7 | ||||
-rw-r--r-- | WORKSPACE.bazel | 2 | ||||
-rw-r--r-- | deps/rabbit/BUILD.bazel | 6 | ||||
-rw-r--r-- | rabbitmq.bzl | 27 |
4 files changed, 29 insertions, 13 deletions
diff --git a/BUILD.bazel b/BUILD.bazel index d40110dec4..5c7b0dc4c1 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -12,6 +12,13 @@ exports_files([ "scripts/bazel/rabbitmq-run.sh", ]) +config_setting( + name = "debug_build", + values = { + "compilation_mode": "dbg", + }, +) + # This allows us to # `bazel build //my/target \ # --//:elixir_home=/path/to/elixir/installation` diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 00e4d4bebd..d7b090733c 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -59,7 +59,7 @@ rules_pkg_dependencies() git_repository( name = "bazel-erlang", - commit = "050faedb2a3422a60d6b98678c714ed1a61ec71d", + commit = "d62a13548b3d1e5bd2830f42e3f3933ae17db3cb", remote = "https://github.com/rabbitmq/bazel-erlang.git", ) diff --git a/deps/rabbit/BUILD.bazel b/deps/rabbit/BUILD.bazel index f607f38246..518f55f8ed 100644 --- a/deps/rabbit/BUILD.bazel +++ b/deps/rabbit/BUILD.bazel @@ -192,20 +192,14 @@ FIRST_SRCS = [ "src/rabbit_queue_master_locator.erl", ] -EXTRA_ERLC_OPTS = [ - "-DINSTR_MOD=gm", -] - rabbitmq_lib( app_description = "RabbitMQ", app_env = _APP_ENV, app_module = APP_MODULE, app_name = "rabbit", app_registered = APP_REGISTERED, - erlc_opts = RABBITMQ_ERLC_OPTS + EXTRA_ERLC_OPTS, extra_apps = EXTRA_APPS, first_srcs = FIRST_SRCS, - test_erlc_opts = RABBITMQ_TEST_ERLC_OPTS + EXTRA_ERLC_OPTS, runtime_deps = RUNTIME_DEPS, deps = DEPS, ) diff --git a/rabbitmq.bzl b/rabbitmq.bzl index 8e73b5922e..fe642421e0 100644 --- a/rabbitmq.bzl +++ b/rabbitmq.bzl @@ -9,10 +9,18 @@ load("@bazel-erlang//:ct_sharded.bzl", "ct_suite", "ct_suite_variant") load("//:rabbitmq_home.bzl", "rabbitmq_home") load("//:rabbitmq_run.bzl", "rabbitmq_run") -RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS +def without(item, elements): + c = list(elements) + c.remove(item) + return c + +RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS + [ + "-DINSTR_MOD=gm", +] RABBITMQ_TEST_ERLC_OPTS = DEFAULT_TEST_ERLC_OPTS + [ "+nowarn_export_all", + "-DINSTR_MOD=gm", ] RABBITMQ_DIALYZER_OPTS = [ @@ -85,8 +93,6 @@ def rabbitmq_lib( app_registered = [], app_env = "[]", extra_apps = [], - erlc_opts = RABBITMQ_ERLC_OPTS, - test_erlc_opts = RABBITMQ_TEST_ERLC_OPTS, first_srcs = [], extra_priv = [], build_deps = [], @@ -101,7 +107,10 @@ def rabbitmq_lib( app_env = app_env, extra_apps = extra_apps, extra_priv = extra_priv, - erlc_opts = erlc_opts, + erlc_opts = select({ + "//:debug_build": without("+deterministic", RABBITMQ_ERLC_OPTS), + "//conditions:default": RABBITMQ_ERLC_OPTS, + }), first_srcs = first_srcs, build_deps = build_deps, deps = deps, @@ -117,7 +126,10 @@ def rabbitmq_lib( app_env = app_env, extra_apps = extra_apps, extra_priv = extra_priv, - erlc_opts = test_erlc_opts, + erlc_opts = select({ + "//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS), + "//conditions:default": RABBITMQ_TEST_ERLC_OPTS, + }), first_srcs = first_srcs, build_deps = with_test_versions(build_deps), deps = with_test_versions(deps), @@ -167,7 +179,10 @@ def rabbitmq_integration_suite( name = name, suite_name = name, tags = tags, - erlc_opts = RABBITMQ_TEST_ERLC_OPTS + erlc_opts, + erlc_opts = select({ + "//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS + erlc_opts), + "//conditions:default": RABBITMQ_TEST_ERLC_OPTS + erlc_opts, + }), additional_hdrs = additional_hdrs, additional_srcs = additional_srcs, data = data, |