summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2021-04-14 00:03:06 +0200
committerPhilip Kuryloski <kuryloskip@vmware.com>2021-04-14 08:08:06 +0200
commitf66f60bc38fdf7d16b5f31c65e73adfb60c2c52f (patch)
tree246075cd9df0a87990d2ffe4ad52bfb79a9ed624
parentc975457199f80ad9ef2291756a075927b770f473 (diff)
downloadrabbitmq-server-git-f66f60bc38fdf7d16b5f31c65e73adfb60c2c52f.tar.gz
Add rabbitmq_federation_management to bazel
-rw-r--r--BUILD.systemd16
-rw-r--r--deps/rabbitmq_federation_management/BUILD.bazel263
-rw-r--r--deps/rabbitmq_management/BUILD.bazel91
-rw-r--r--workspace_helpers.bzl24
4 files changed, 362 insertions, 32 deletions
diff --git a/BUILD.systemd b/BUILD.systemd
new file mode 100644
index 0000000000..ca48e64dd1
--- /dev/null
+++ b/BUILD.systemd
@@ -0,0 +1,16 @@
+load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
+
+erlang_lib(
+ app_name = "systemd",
+ # app_version = "master",
+ # app_description = "New project",
+ # app_module = "osiris_app",
+ # app_env = APP_ENV,
+ # extra_apps = [
+ # "sasl",
+ # "crypto",
+ # ],
+ deps = [
+ "@enough//:bazel_erlang_lib",
+ ],
+)
diff --git a/deps/rabbitmq_federation_management/BUILD.bazel b/deps/rabbitmq_federation_management/BUILD.bazel
new file mode 100644
index 0000000000..ab8402caf6
--- /dev/null
+++ b/deps/rabbitmq_federation_management/BUILD.bazel
@@ -0,0 +1,263 @@
+load(
+ "@bazel-erlang//:bazel_erlang_lib.bzl",
+ "DEFAULT_TEST_ERLC_OPTS",
+ "erlang_lib",
+ "erlc",
+ "test_erlang_lib",
+)
+load("@bazel-erlang//:ct.bzl", "ct_suite")
+load("//:rabbitmq_home.bzl", "rabbitmq_home")
+load("//:rabbitmq_run.bzl", "rabbitmq_run")
+load(
+ "//:rabbitmq.bzl",
+ "APP_VERSION",
+ "RABBITMQ_ERLC_OPTS",
+ "RABBITMQ_TEST_ERLC_OPTS",
+)
+
+APP_NAME = "rabbitmq_federation_management"
+
+APP_DESCRIPTION = "RabbitMQ Federation Management"
+
+APP_MODULE = "rabbit_federation_app"
+
+BUILD_DEPS = [
+ # "//deps/rabbitmq_cli:rabbitmqctl",
+ "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+]
+
+DEPS = [
+ "//deps/rabbitmq_management:bazel_erlang_lib",
+]
+
+RUNTIME_DEPS = [
+ "//deps/amqp_client:bazel_erlang_lib",
+ "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbitmq_federation:bazel_erlang_lib",
+]
+
+erlang_lib(
+ app_description = APP_DESCRIPTION,
+ app_module = APP_MODULE,
+ app_name = APP_NAME,
+ app_version = APP_VERSION,
+ build_deps = BUILD_DEPS,
+ erlc_opts = RABBITMQ_ERLC_OPTS,
+ runtime_deps = RUNTIME_DEPS,
+ deps = DEPS,
+)
+
+test_erlang_lib(
+ app_description = APP_DESCRIPTION,
+ app_module = APP_MODULE,
+ app_name = APP_NAME,
+ app_version = APP_VERSION,
+ build_deps = BUILD_DEPS,
+ erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+ runtime_deps = RUNTIME_DEPS,
+ deps = DEPS,
+)
+
+rabbitmq_home(
+ name = "broker-for-tests-home",
+ plugins = [
+ "//deps/rabbit:bazel_erlang_lib",
+ ":bazel_erlang_lib",
+ ],
+)
+
+rabbitmq_run(
+ name = "rabbitmq-for-tests-run",
+ home = ":broker-for-tests-home",
+)
+
+# erlc(
+# name = "rabbit_federation_test_util",
+# testonly = True,
+# srcs = [
+# "test/rabbit_federation_test_util.erl",
+# ],
+# hdrs = glob([
+# "include/**/*.hrl",
+# "src/**/*.hrl",
+# ]),
+# dest = "test",
+# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+# deps = [
+# ":test_bazel_erlang_lib",
+# "//deps/amqp_client:bazel_erlang_lib",
+# "//deps/rabbit_common:bazel_erlang_lib",
+# ],
+# )
+
+ct_suite(
+ name = "federation_mgmt_SUITE",
+ # additional_beam = [
+ # ":rabbit_federation_test_util",
+ # ],
+ data = [
+ "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
+ "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
+ ],
+ erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+ # groups = [
+ # "without_automatic_setup",
+ # "channel_use_mode_single",
+ # "without_disambiguate",
+ # "with_disambiguate",
+ # ],
+ test_env = {
+ "SKIP_MAKE_TEST_DIST": "true",
+ "RABBITMQ_CT_SKIP_AS_ERROR": "true",
+ "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/rabbitmq-for-tests-run",
+ "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/broker-for-tests-home/sbin/rabbitmqctl",
+ "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/broker-for-tests-home/sbin/rabbitmq-plugins",
+ "RABBITMQ_QUEUES": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/broker-for-tests-home/sbin/rabbitmq-queues",
+ },
+ tools = [
+ ":rabbitmq-for-tests-run",
+ ],
+ runtime_deps = [
+ "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+ "//deps/rabbitmq_cli:rabbitmqctl",
+ "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
+ ],
+ deps = [
+ "//deps/amqp_client:bazel_erlang_lib",
+ "//deps/rabbit_common:bazel_erlang_lib",
+ "@rabbitmq_ct_helpers//:bazel_erlang_lib",
+ ],
+)
+
+# ct_suite(
+# name = "federation_status_command_SUITE",
+# additional_beam = [
+# ":rabbit_federation_test_util",
+# ],
+# data = [
+# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
+# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
+# ],
+# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+# test_env = {
+# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
+# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
+# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
+# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
+# },
+# tools = [
+# ":rabbitmq-for-tests-run",
+# ],
+# runtime_deps = [
+# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+# "//deps/rabbitmq_cli:rabbitmqctl",
+# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
+# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
+# ],
+# deps = [
+# "//deps/amqp_client:bazel_erlang_lib",
+# "//deps/rabbit_common:bazel_erlang_lib",
+# ],
+# )
+
+# ct_suite(
+# name = "queue_SUITE",
+# additional_beam = [
+# ":rabbit_federation_test_util",
+# ],
+# data = [
+# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
+# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
+# ],
+# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+# test_env = {
+# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
+# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
+# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
+# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
+# },
+# tools = [
+# ":rabbitmq-for-tests-run",
+# ],
+# runtime_deps = [
+# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+# "//deps/rabbitmq_cli:rabbitmqctl",
+# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
+# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
+# ],
+# deps = [
+# "//deps/amqp_client:bazel_erlang_lib",
+# "//deps/rabbit_common:bazel_erlang_lib",
+# ],
+# )
+
+# ct_suite(
+# name = "restart_federation_link_command_SUITE",
+# additional_beam = [
+# ":rabbit_federation_test_util",
+# ],
+# data = [
+# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
+# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
+# ],
+# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+# test_env = {
+# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
+# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
+# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
+# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
+# },
+# tools = [
+# ":rabbitmq-for-tests-run",
+# ],
+# runtime_deps = [
+# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+# "//deps/rabbitmq_cli:rabbitmqctl",
+# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
+# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
+# ],
+# deps = [
+# "//deps/amqp_client:bazel_erlang_lib",
+# "//deps/rabbit_common:bazel_erlang_lib",
+# ],
+# )
+
+# ct_suite(
+# name = "unit_inbroker_SUITE",
+# data = [
+# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
+# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
+# ],
+# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+# test_env = {
+# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
+# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
+# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
+# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
+# },
+# tools = [
+# ":rabbitmq-for-tests-run",
+# ],
+# runtime_deps = [
+# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
+# "//deps/rabbitmq_cli:rabbitmqctl",
+# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
+# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
+# ],
+# deps = [
+# "//deps/rabbit_common:bazel_erlang_lib",
+# ],
+# )
+
+# ct_suite(
+# name = "unit_SUITE",
+# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+# test_env = {
+# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
+# },
+# deps = [
+# "//deps/amqp_client:bazel_erlang_lib",
+# "//deps/rabbit_common:bazel_erlang_lib",
+# ],
+# )
diff --git a/deps/rabbitmq_management/BUILD.bazel b/deps/rabbitmq_management/BUILD.bazel
index ba72408709..9b1b5f25f3 100644
--- a/deps/rabbitmq_management/BUILD.bazel
+++ b/deps/rabbitmq_management/BUILD.bazel
@@ -1,5 +1,29 @@
+load(
+ "@bazel-erlang//:bazel_erlang_lib.bzl",
+ "erlang_lib",
+ "test_erlang_lib",
+)
load("@bazel-erlang//:ct.bzl", "ct_test")
-load("//:rabbitmq.bzl", "APP_VERSION", "RABBITMQ_ERLC_OPTS", "rabbitmq_lib")
+load(
+ "//:rabbitmq.bzl",
+ "APP_VERSION",
+ "RABBITMQ_ERLC_OPTS",
+ "RABBITMQ_TEST_ERLC_OPTS",
+)
+
+APP_NAME = "rabbitmq_management"
+
+APP_DESCRIPTION = "RabbitMQ Management Console"
+
+APP_MODULE = "rabbit_mgmt_app"
+
+EXTRA_APPS = [
+ "mnesia",
+ "ranch",
+ "ssl",
+ "crypto",
+ "public_key",
+]
APP_ENV = """[
{http_log_dir, none},
@@ -13,28 +37,47 @@ APP_ENV = """[
{content_security_policy, "script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'"}
]"""
-rabbitmq_lib(
- app_description = "RabbitMQ Management Console",
+FIRST_SRCS = [
+ "src/rabbit_mgmt_extension.erl",
+]
+
+DEPS = [
+ "//deps/amqp_client:bazel_erlang_lib",
+ "//deps/rabbit_common:bazel_erlang_lib",
+ "//deps/rabbit:bazel_erlang_lib",
+ "//deps/rabbitmq_management_agent:bazel_erlang_lib",
+]
+
+RUNTIME_DEPS = [
+ "//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
+ "@cowboy//:bazel_erlang_lib",
+ "@cowlib//:bazel_erlang_lib",
+]
+
+erlang_lib(
+ app_description = APP_DESCRIPTION,
+ app_env = APP_ENV,
+ app_module = APP_MODULE,
+ app_name = APP_NAME,
+ app_version = APP_VERSION,
+ erlc_opts = RABBITMQ_ERLC_OPTS,
+ extra_apps = EXTRA_APPS,
+ first_srcs = FIRST_SRCS,
+ runtime_deps = RUNTIME_DEPS,
+ deps = DEPS,
+)
+
+test_erlang_lib(
+ app_description = APP_DESCRIPTION,
app_env = APP_ENV,
- app_module = "rabbit_mgmt_app",
- app_name = "rabbitmq_management",
- extra_apps = [
- "mnesia",
- "ranch",
- "ssl",
- "crypto",
- "public_key",
- ],
- first_srcs = [
- "src/rabbit_mgmt_extension.erl",
- ],
- deps = [
- "//deps/amqp_client:bazel_erlang_lib",
- "//deps/rabbit:bazel_erlang_lib",
- "//deps/rabbit_common:bazel_erlang_lib",
- "//deps/rabbitmq_management_agent:bazel_erlang_lib",
- "//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
- "@cowboy//:bazel_erlang_lib",
- "@cowlib//:bazel_erlang_lib",
- ],
+ app_module = APP_MODULE,
+ app_name = APP_NAME,
+ app_version = APP_VERSION,
+ erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+ extra_apps = EXTRA_APPS,
+ first_srcs = FIRST_SRCS,
+ runtime_deps = RUNTIME_DEPS,
+ deps = DEPS,
)
+
+# TODO: prepare-dist equivalent from Makefile
diff --git a/workspace_helpers.bzl b/workspace_helpers.bzl
index f502eaf961..f3073b85f8 100644
--- a/workspace_helpers.bzl
+++ b/workspace_helpers.bzl
@@ -1,4 +1,5 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
load("@bazel-erlang//:github.bzl", "github_bazel_erlang_lib")
load("@bazel-erlang//:hex_pm.bzl", "hex_pm_bazel_erlang_lib")
load("//:rabbitmq.bzl", "APP_VERSION")
@@ -171,14 +172,21 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
sha256 = "922cf0dd558b9fdb1326168373315b52ed6a790ba943f6dcbd9ee22a74cebdef",
)
- github_bazel_erlang_lib(
+ new_git_repository(
name = "systemd",
- org = "hauleth",
- repo = "erlang-systemd",
- ref = "e732727b0b637eb29e8adc77a4eb46d7ebc0f41a",
- version = "e732727b0b637eb29e8adc77a4eb46d7ebc0f41a",
- deps = [
- "@enough//:bazel_erlang_lib",
+ remote = "https://github.com/hauleth/erlang-systemd.git",
+ commit = "e732727b0b637eb29e8adc77a4eb46d7ebc0f41a",
+ build_file = rabbitmq_workspace + "//:BUILD.systemd",
+ patch_cmds = [
+ INJECT_GIT_VERSION,
],
- sha256 = "41019287b59d995424ad274cd276ccc4a4fbeecc7f35dcd4e44347ba9812b46f",
)
+
+INJECT_GIT_VERSION = """set -euo pipefail
+V="$(git describe --dirty --abbrev=7 --tags --always --first-parent 2>/dev/null \\
+ || git describe --dirty --abbrev=7 --tags --always 2>/dev/null || true)"
+cat src/systemd.app.src \\
+ | sed "s/{vsn,[[:space:]]git}/{vsn, \\"0.6.0-8-g$V\\"}/" \\
+ > src/systemd.app.src.two
+mv src/systemd.app.src.two src/systemd.app.src
+"""