summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2022-01-04 09:30:15 +0100
committerGitHub <noreply@github.com>2022-01-04 09:30:15 +0100
commit12f58beb04174b46f145491902c8d34f7d1d08a2 (patch)
tree3c7c6d35e8cf9f4e01d4335515165398197d3285
parent0bd8d41b72e32435178520fd382f46e835f312fd (diff)
parent70ef6b69843812f29db327b0227615eb87b93557 (diff)
downloadrabbitmq-server-git-12f58beb04174b46f145491902c8d34f7d1d08a2.tar.gz
Merge pull request #3941 from rabbitmq/bazel-run-dev-broker
Disable +deterministic in compilation_mode dbg under bazel
-rw-r--r--BUILD.bazel18
-rw-r--r--WORKSPACE.bazel2
-rw-r--r--deps/rabbit/BUILD.bazel6
-rw-r--r--rabbitmq.bzl27
4 files changed, 34 insertions, 19 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index 771f0f259c..5c7b0dc4c1 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -5,13 +5,20 @@ load("elixir_home.bzl", "elixir_home")
load(":rabbitmq_home.bzl", "rabbitmq_home")
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
load(":rabbitmqctl.bzl", "rabbitmqctl")
-load(":rabbitmq.bzl", "ALL_PLUGINS", "APP_VERSION")
+load(":rabbitmq.bzl", "APP_VERSION", "all_plugins")
load(":dist.bzl", "collect_licenses", "versioned_rabbitmq_home")
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`
@@ -42,7 +49,7 @@ plt(
rabbitmq_home(
name = "broker-home",
- plugins = ALL_PLUGINS,
+ plugins = all_plugins(rabbitmq_workspace = ""),
)
rabbitmq_home(
@@ -71,7 +78,6 @@ rabbitmq_run(
# Allow us to `bazel run broker`
# for the equivalent of `make run-broker`
-# (though it as of yet includes no plugins)
rabbitmq_run_command(
name = "broker",
rabbitmq_run = ":rabbitmq-run",
@@ -97,7 +103,7 @@ rabbitmqctl(
shell(
name = "repl",
- deps = ALL_PLUGINS,
+ deps = all_plugins(rabbitmq_workspace = ""),
)
collect_licenses(
@@ -109,12 +115,12 @@ collect_licenses(
"LICENSE.txt",
],
),
- deps = ALL_PLUGINS,
+ deps = all_plugins(rabbitmq_workspace = ""),
)
versioned_rabbitmq_home(
name = "dist-home",
- plugins = ALL_PLUGINS,
+ plugins = all_plugins(rabbitmq_workspace = ""),
)
pkg_tar(
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 c7d8687498..5b7ea4b2df 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,