Skip to content

Commit f66f60b

Browse files
committed
Add rabbitmq_federation_management to bazel
1 parent c975457 commit f66f60b

File tree

4 files changed

+362
-32
lines changed

4 files changed

+362
-32
lines changed

BUILD.systemd

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
2+
3+
erlang_lib(
4+
app_name = "systemd",
5+
# app_version = "master",
6+
# app_description = "New project",
7+
# app_module = "osiris_app",
8+
# app_env = APP_ENV,
9+
# extra_apps = [
10+
# "sasl",
11+
# "crypto",
12+
# ],
13+
deps = [
14+
"@enough//:bazel_erlang_lib",
15+
],
16+
)
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
load(
2+
"@bazel-erlang//:bazel_erlang_lib.bzl",
3+
"DEFAULT_TEST_ERLC_OPTS",
4+
"erlang_lib",
5+
"erlc",
6+
"test_erlang_lib",
7+
)
8+
load("@bazel-erlang//:ct.bzl", "ct_suite")
9+
load("//:rabbitmq_home.bzl", "rabbitmq_home")
10+
load("//:rabbitmq_run.bzl", "rabbitmq_run")
11+
load(
12+
"//:rabbitmq.bzl",
13+
"APP_VERSION",
14+
"RABBITMQ_ERLC_OPTS",
15+
"RABBITMQ_TEST_ERLC_OPTS",
16+
)
17+
18+
APP_NAME = "rabbitmq_federation_management"
19+
20+
APP_DESCRIPTION = "RabbitMQ Federation Management"
21+
22+
APP_MODULE = "rabbit_federation_app"
23+
24+
BUILD_DEPS = [
25+
# "//deps/rabbitmq_cli:rabbitmqctl",
26+
"//deps/rabbitmq_management_agent:bazel_erlang_lib",
27+
]
28+
29+
DEPS = [
30+
"//deps/rabbitmq_management:bazel_erlang_lib",
31+
]
32+
33+
RUNTIME_DEPS = [
34+
"//deps/amqp_client:bazel_erlang_lib",
35+
"//deps/rabbit_common:bazel_erlang_lib",
36+
"//deps/rabbit:bazel_erlang_lib",
37+
"//deps/rabbitmq_federation:bazel_erlang_lib",
38+
]
39+
40+
erlang_lib(
41+
app_description = APP_DESCRIPTION,
42+
app_module = APP_MODULE,
43+
app_name = APP_NAME,
44+
app_version = APP_VERSION,
45+
build_deps = BUILD_DEPS,
46+
erlc_opts = RABBITMQ_ERLC_OPTS,
47+
runtime_deps = RUNTIME_DEPS,
48+
deps = DEPS,
49+
)
50+
51+
test_erlang_lib(
52+
app_description = APP_DESCRIPTION,
53+
app_module = APP_MODULE,
54+
app_name = APP_NAME,
55+
app_version = APP_VERSION,
56+
build_deps = BUILD_DEPS,
57+
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
58+
runtime_deps = RUNTIME_DEPS,
59+
deps = DEPS,
60+
)
61+
62+
rabbitmq_home(
63+
name = "broker-for-tests-home",
64+
plugins = [
65+
"//deps/rabbit:bazel_erlang_lib",
66+
":bazel_erlang_lib",
67+
],
68+
)
69+
70+
rabbitmq_run(
71+
name = "rabbitmq-for-tests-run",
72+
home = ":broker-for-tests-home",
73+
)
74+
75+
# erlc(
76+
# name = "rabbit_federation_test_util",
77+
# testonly = True,
78+
# srcs = [
79+
# "test/rabbit_federation_test_util.erl",
80+
# ],
81+
# hdrs = glob([
82+
# "include/**/*.hrl",
83+
# "src/**/*.hrl",
84+
# ]),
85+
# dest = "test",
86+
# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
87+
# deps = [
88+
# ":test_bazel_erlang_lib",
89+
# "//deps/amqp_client:bazel_erlang_lib",
90+
# "//deps/rabbit_common:bazel_erlang_lib",
91+
# ],
92+
# )
93+
94+
ct_suite(
95+
name = "federation_mgmt_SUITE",
96+
# additional_beam = [
97+
# ":rabbit_federation_test_util",
98+
# ],
99+
data = [
100+
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
101+
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
102+
],
103+
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
104+
# groups = [
105+
# "without_automatic_setup",
106+
# "channel_use_mode_single",
107+
# "without_disambiguate",
108+
# "with_disambiguate",
109+
# ],
110+
test_env = {
111+
"SKIP_MAKE_TEST_DIST": "true",
112+
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
113+
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/rabbitmq-for-tests-run",
114+
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/broker-for-tests-home/sbin/rabbitmqctl",
115+
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/broker-for-tests-home/sbin/rabbitmq-plugins",
116+
"RABBITMQ_QUEUES": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation_management/broker-for-tests-home/sbin/rabbitmq-queues",
117+
},
118+
tools = [
119+
":rabbitmq-for-tests-run",
120+
],
121+
runtime_deps = [
122+
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
123+
"//deps/rabbitmq_cli:rabbitmqctl",
124+
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
125+
],
126+
deps = [
127+
"//deps/amqp_client:bazel_erlang_lib",
128+
"//deps/rabbit_common:bazel_erlang_lib",
129+
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
130+
],
131+
)
132+
133+
# ct_suite(
134+
# name = "federation_status_command_SUITE",
135+
# additional_beam = [
136+
# ":rabbit_federation_test_util",
137+
# ],
138+
# data = [
139+
# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
140+
# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
141+
# ],
142+
# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
143+
# test_env = {
144+
# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
145+
# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
146+
# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
147+
# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
148+
# },
149+
# tools = [
150+
# ":rabbitmq-for-tests-run",
151+
# ],
152+
# runtime_deps = [
153+
# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
154+
# "//deps/rabbitmq_cli:rabbitmqctl",
155+
# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
156+
# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
157+
# ],
158+
# deps = [
159+
# "//deps/amqp_client:bazel_erlang_lib",
160+
# "//deps/rabbit_common:bazel_erlang_lib",
161+
# ],
162+
# )
163+
164+
# ct_suite(
165+
# name = "queue_SUITE",
166+
# additional_beam = [
167+
# ":rabbit_federation_test_util",
168+
# ],
169+
# data = [
170+
# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
171+
# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
172+
# ],
173+
# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
174+
# test_env = {
175+
# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
176+
# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
177+
# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
178+
# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
179+
# },
180+
# tools = [
181+
# ":rabbitmq-for-tests-run",
182+
# ],
183+
# runtime_deps = [
184+
# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
185+
# "//deps/rabbitmq_cli:rabbitmqctl",
186+
# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
187+
# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
188+
# ],
189+
# deps = [
190+
# "//deps/amqp_client:bazel_erlang_lib",
191+
# "//deps/rabbit_common:bazel_erlang_lib",
192+
# ],
193+
# )
194+
195+
# ct_suite(
196+
# name = "restart_federation_link_command_SUITE",
197+
# additional_beam = [
198+
# ":rabbit_federation_test_util",
199+
# ],
200+
# data = [
201+
# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
202+
# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
203+
# ],
204+
# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
205+
# test_env = {
206+
# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
207+
# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
208+
# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
209+
# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
210+
# },
211+
# tools = [
212+
# ":rabbitmq-for-tests-run",
213+
# ],
214+
# runtime_deps = [
215+
# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
216+
# "//deps/rabbitmq_cli:rabbitmqctl",
217+
# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
218+
# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
219+
# ],
220+
# deps = [
221+
# "//deps/amqp_client:bazel_erlang_lib",
222+
# "//deps/rabbit_common:bazel_erlang_lib",
223+
# ],
224+
# )
225+
226+
# ct_suite(
227+
# name = "unit_inbroker_SUITE",
228+
# data = [
229+
# "@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
230+
# "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
231+
# ],
232+
# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
233+
# test_env = {
234+
# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
235+
# "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/rabbitmq-for-tests-run",
236+
# "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmqctl",
237+
# "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_federation/broker-for-tests-home/sbin/rabbitmq-plugins",
238+
# },
239+
# tools = [
240+
# ":rabbitmq-for-tests-run",
241+
# ],
242+
# runtime_deps = [
243+
# "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
244+
# "//deps/rabbitmq_cli:rabbitmqctl",
245+
# "@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
246+
# "@rabbitmq_ct_helpers//:bazel_erlang_lib",
247+
# ],
248+
# deps = [
249+
# "//deps/rabbit_common:bazel_erlang_lib",
250+
# ],
251+
# )
252+
253+
# ct_suite(
254+
# name = "unit_SUITE",
255+
# erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
256+
# test_env = {
257+
# "RABBITMQ_CT_SKIP_AS_ERROR": "true",
258+
# },
259+
# deps = [
260+
# "//deps/amqp_client:bazel_erlang_lib",
261+
# "//deps/rabbit_common:bazel_erlang_lib",
262+
# ],
263+
# )

deps/rabbitmq_management/BUILD.bazel

Lines changed: 67 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
1+
load(
2+
"@bazel-erlang//:bazel_erlang_lib.bzl",
3+
"erlang_lib",
4+
"test_erlang_lib",
5+
)
16
load("@bazel-erlang//:ct.bzl", "ct_test")
2-
load("//:rabbitmq.bzl", "APP_VERSION", "RABBITMQ_ERLC_OPTS", "rabbitmq_lib")
7+
load(
8+
"//:rabbitmq.bzl",
9+
"APP_VERSION",
10+
"RABBITMQ_ERLC_OPTS",
11+
"RABBITMQ_TEST_ERLC_OPTS",
12+
)
13+
14+
APP_NAME = "rabbitmq_management"
15+
16+
APP_DESCRIPTION = "RabbitMQ Management Console"
17+
18+
APP_MODULE = "rabbit_mgmt_app"
19+
20+
EXTRA_APPS = [
21+
"mnesia",
22+
"ranch",
23+
"ssl",
24+
"crypto",
25+
"public_key",
26+
]
327

428
APP_ENV = """[
529
{http_log_dir, none},
@@ -13,28 +37,47 @@ APP_ENV = """[
1337
{content_security_policy, "script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'"}
1438
]"""
1539

16-
rabbitmq_lib(
17-
app_description = "RabbitMQ Management Console",
40+
FIRST_SRCS = [
41+
"src/rabbit_mgmt_extension.erl",
42+
]
43+
44+
DEPS = [
45+
"//deps/amqp_client:bazel_erlang_lib",
46+
"//deps/rabbit_common:bazel_erlang_lib",
47+
"//deps/rabbit:bazel_erlang_lib",
48+
"//deps/rabbitmq_management_agent:bazel_erlang_lib",
49+
]
50+
51+
RUNTIME_DEPS = [
52+
"//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
53+
"@cowboy//:bazel_erlang_lib",
54+
"@cowlib//:bazel_erlang_lib",
55+
]
56+
57+
erlang_lib(
58+
app_description = APP_DESCRIPTION,
59+
app_env = APP_ENV,
60+
app_module = APP_MODULE,
61+
app_name = APP_NAME,
62+
app_version = APP_VERSION,
63+
erlc_opts = RABBITMQ_ERLC_OPTS,
64+
extra_apps = EXTRA_APPS,
65+
first_srcs = FIRST_SRCS,
66+
runtime_deps = RUNTIME_DEPS,
67+
deps = DEPS,
68+
)
69+
70+
test_erlang_lib(
71+
app_description = APP_DESCRIPTION,
1872
app_env = APP_ENV,
19-
app_module = "rabbit_mgmt_app",
20-
app_name = "rabbitmq_management",
21-
extra_apps = [
22-
"mnesia",
23-
"ranch",
24-
"ssl",
25-
"crypto",
26-
"public_key",
27-
],
28-
first_srcs = [
29-
"src/rabbit_mgmt_extension.erl",
30-
],
31-
deps = [
32-
"//deps/amqp_client:bazel_erlang_lib",
33-
"//deps/rabbit:bazel_erlang_lib",
34-
"//deps/rabbit_common:bazel_erlang_lib",
35-
"//deps/rabbitmq_management_agent:bazel_erlang_lib",
36-
"//deps/rabbitmq_web_dispatch:bazel_erlang_lib",
37-
"@cowboy//:bazel_erlang_lib",
38-
"@cowlib//:bazel_erlang_lib",
39-
],
73+
app_module = APP_MODULE,
74+
app_name = APP_NAME,
75+
app_version = APP_VERSION,
76+
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
77+
extra_apps = EXTRA_APPS,
78+
first_srcs = FIRST_SRCS,
79+
runtime_deps = RUNTIME_DEPS,
80+
deps = DEPS,
4081
)
82+
83+
# TODO: prepare-dist equivalent from Makefile

0 commit comments

Comments
 (0)