diff options
| author | Philip Kuryloski <kuryloskip@vmware.com> | 2021-04-14 00:03:06 +0200 |
|---|---|---|
| committer | Philip Kuryloski <kuryloskip@vmware.com> | 2021-04-14 08:08:06 +0200 |
| commit | f66f60bc38fdf7d16b5f31c65e73adfb60c2c52f (patch) | |
| tree | 246075cd9df0a87990d2ffe4ad52bfb79a9ed624 | |
| parent | c975457199f80ad9ef2291756a075927b770f473 (diff) | |
| download | rabbitmq-server-git-f66f60bc38fdf7d16b5f31c65e73adfb60c2c52f.tar.gz | |
Add rabbitmq_federation_management to bazel
| -rw-r--r-- | BUILD.systemd | 16 | ||||
| -rw-r--r-- | deps/rabbitmq_federation_management/BUILD.bazel | 263 | ||||
| -rw-r--r-- | deps/rabbitmq_management/BUILD.bazel | 91 | ||||
| -rw-r--r-- | workspace_helpers.bzl | 24 |
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 +""" |
