Skip to content

Commit a22234f

Browse files
committed
Updates for rules_erlang 2.5.0
rabbitmq_cli uses some private rules_erlang apis that have changed in the upcoming release Additionally: - Avoid including both standard and test versions of amqp_client in integration test suites - Eliminate most of the compilation order hints (explicit first_srcs) in the bazel build - Fix an include statement - in bazel, an app is not available to itself as a library at compilation time
1 parent 3ef0977 commit a22234f

File tree

15 files changed

+57
-141
lines changed

15 files changed

+57
-141
lines changed

BUILD.ranch

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,10 @@ load("@rules_erlang//:erlang_app_info.bzl", "erlang_app_info")
33
load("@rules_erlang//:erlang_app.bzl", "DEFAULT_ERLC_OPTS")
44
load("@rules_erlang//:erlc.bzl", "erlc")
55

6-
FIRST_SRCS = [
7-
"src/ranch_transport.erl",
8-
]
9-
10-
erlc(
11-
name = "first_beam_files",
12-
hdrs = glob(["include/**/*.hrl", "src/**/*.hrl"]),
13-
srcs = glob(FIRST_SRCS),
14-
erlc_opts = DEFAULT_ERLC_OPTS,
15-
dest = "ebin",
16-
)
17-
186
erlc(
197
name = "beam_files",
208
hdrs = glob(["include/**/*.hrl", "src/**/*.hrl"]),
21-
srcs = glob(["src/**/*.erl"], exclude = FIRST_SRCS),
22-
beam = [":first_beam_files"],
9+
srcs = glob(["src/**/*.erl"]),
2310
erlc_opts = DEFAULT_ERLC_OPTS,
2411
dest = "ebin",
2512
)
@@ -35,14 +22,14 @@ app_file(
3522
name = "app_file",
3623
app_name = "ranch",
3724
app_version = "2.1.0",
38-
modules = [":first_beam_files", ":beam_files"],
25+
modules = [":beam_files"],
3926
)
4027

4128
erlang_app_info(
4229
name = "erlang_app",
4330
app_name = "ranch",
4431
app = ":app_file",
4532
hdrs = glob(["include/**/*.hrl"]),
46-
beam = [":first_beam_files", ":beam_files", ":appup"],
33+
beam = [":beam_files", ":appup"],
4734
visibility = ["//visibility:public"],
4835
)

WORKSPACE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ rules_pkg_dependencies()
5959

6060
git_repository(
6161
name = "rules_erlang",
62-
commit = "04e49d17027b461864eab8dcc80ea6c298bfc331",
62+
commit = "a31781efbb39a7206ce0ae5ffbf64c588430d9f8",
6363
remote = "https://github.com/rabbitmq/rules_erlang.git",
6464
)
6565

deps/amqp10_client/BUILD.bazel

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,26 @@ APP_DESCRIPTION = "AMQP 1.0 client from the RabbitMQ Project"
1616

1717
APP_MODULE = "amqp10_client_app"
1818

19+
APP_EXTRA_KEYS = """%% Hex.pm package informations.
20+
{licenses, ["MPL-2.0"]},
21+
{links, [
22+
{"Website", "https://www.rabbitmq.com/"},
23+
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/deps/amqp10_client"}
24+
]},
25+
{build_tools, ["make", "rebar3"]},
26+
{files, [
27+
"erlang.mk",
28+
"git-revisions.txt",
29+
"include",
30+
"LICENSE*",
31+
"Makefile",
32+
"rabbitmq-components.mk",
33+
"README",
34+
"README.md",
35+
"src"
36+
]}
37+
"""
38+
1939
EXTRA_APPS = [
2040
"ssl",
2141
"inets",
@@ -32,6 +52,7 @@ DEPS = [
3252

3353
rabbitmq_app(
3454
app_description = APP_DESCRIPTION,
55+
app_extra_keys = APP_EXTRA_KEYS,
3556
app_module = APP_MODULE,
3657
app_name = APP_NAME,
3758
build_deps = BUILD_DEPS,

deps/amqp_client/BUILD.bazel

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,6 @@ rabbitmq_app(
3333
"amqp_sup",
3434
],
3535
extra_apps = EXTRA_APPS,
36-
first_srcs = [
37-
"src/amqp_gen_connection.erl",
38-
"src/amqp_gen_consumer.erl",
39-
],
4036
deps = DEPS,
4137
)
4238

deps/rabbit/BUILD.bazel

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -194,22 +194,13 @@ EXTRA_APPS = [
194194
"xmerl",
195195
]
196196

197-
FIRST_SRCS = [
198-
"src/rabbit_tracking.erl",
199-
"src/rabbit_queue_type.erl",
200-
"src/rabbit_credential_validator.erl",
201-
"src/rabbit_policy_merge_strategy.erl",
202-
"src/rabbit_queue_master_locator.erl",
203-
]
204-
205197
rabbitmq_app(
206198
app_description = "RabbitMQ",
207199
app_env = _APP_ENV,
208200
app_module = APP_MODULE,
209201
app_name = "rabbit",
210202
app_registered = APP_REGISTERED,
211203
extra_apps = EXTRA_APPS,
212-
first_srcs = FIRST_SRCS,
213204
runtime_deps = RUNTIME_DEPS,
214205
deps = DEPS,
215206
)

deps/rabbit_common/BUILD.bazel

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -89,33 +89,13 @@ app_file(
8989
deps = DEPS + RUNTIME_DEPS,
9090
)
9191

92-
FIRST_SRCS = [
93-
"src/gen_server2.erl",
94-
"src/rabbit_authn_backend.erl",
95-
"src/rabbit_authz_backend.erl",
96-
"src/rabbit_registry_class.erl",
97-
]
98-
99-
erlc(
100-
name = "first_beam_files",
101-
srcs = glob(FIRST_SRCS),
102-
hdrs = HDRS,
103-
dest = "ebin",
104-
erlc_opts = RABBITMQ_ERLC_OPTS,
105-
deps = DEPS,
106-
)
107-
10892
erlc(
10993
name = "beam_files",
110-
srcs = glob(
111-
["src/*.erl"],
112-
exclude = FIRST_SRCS,
113-
) + [
94+
srcs = glob(["src/*.erl"]) + [
11495
"src/rabbit_framing_amqp_0_8.erl",
11596
"src/rabbit_framing_amqp_0_9_1.erl",
11697
],
11798
hdrs = HDRS,
118-
beam = [":first_beam_files"],
11999
dest = "ebin",
120100
erlc_opts = RABBITMQ_ERLC_OPTS,
121101
deps = DEPS,
@@ -126,36 +106,19 @@ erlang_app_info(
126106
hdrs = HDRS,
127107
app = ":app_file",
128108
app_name = APP_NAME,
129-
beam = [
130-
":first_beam_files",
131-
":beam_files",
132-
],
109+
beam = [":beam_files"],
133110
visibility = ["//visibility:public"],
134111
deps = DEPS + RUNTIME_DEPS,
135112
)
136113

137-
erlc(
138-
name = "first_test_beam_files",
139-
testonly = True,
140-
srcs = glob(FIRST_SRCS),
141-
hdrs = HDRS,
142-
dest = "src",
143-
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
144-
deps = DEPS,
145-
)
146-
147114
erlc(
148115
name = "test_beam_files",
149116
testonly = True,
150-
srcs = glob(
151-
["src/*.erl"],
152-
exclude = FIRST_SRCS,
153-
) + [
117+
srcs = glob(["src/*.erl"]) + [
154118
"src/rabbit_framing_amqp_0_8.erl",
155119
"src/rabbit_framing_amqp_0_9_1.erl",
156120
],
157121
hdrs = HDRS,
158-
beam = [":first_test_beam_files"],
159122
dest = "src",
160123
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
161124
deps = DEPS,
@@ -167,10 +130,7 @@ erlang_app_info(
167130
hdrs = HDRS,
168131
app = ":app_file",
169132
app_name = APP_NAME,
170-
beam = [
171-
":first_test_beam_files",
172-
":test_beam_files",
173-
],
133+
beam = [":test_beam_files"],
174134
visibility = ["//:__subpackages__"],
175135
deps = DEPS + RUNTIME_DEPS,
176136
)

deps/rabbitmq_auth_backend_cache/BUILD.bazel

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,11 @@ RUNTIME_DEPS = [
3232
"//deps/rabbit:erlang_app",
3333
]
3434

35-
FIRST_SRCS = [
36-
"src/rabbit_auth_cache.erl",
37-
]
38-
3935
rabbitmq_app(
4036
app_description = APP_DESCRIPTION,
4137
app_env = APP_ENV,
4238
app_module = APP_MODULE,
4339
app_name = APP_NAME,
44-
first_srcs = FIRST_SRCS,
4540
runtime_deps = RUNTIME_DEPS,
4641
deps = DEPS,
4742
)

deps/rabbitmq_cli/rabbitmqctl_test.bzl

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
load("@rules_erlang//:erlang_home.bzl", "ErlangHomeProvider", "ErlangVersionProvider")
1+
load(
2+
"@rules_erlang//:erlang_home.bzl",
3+
"ErlangHomeProvider",
4+
"ErlangVersionProvider",
5+
)
26
load(
37
"@rules_erlang//:erlang_app_info.bzl",
48
"ErlangAppInfo",
@@ -11,23 +15,26 @@ load(
1115
"windows_path",
1216
)
1317
load(
14-
"@rules_erlang//private:ct.bzl",
15-
"ERL_LIBS_DIR",
16-
"code_paths",
18+
"@rules_erlang//private:util.bzl",
1719
"erl_libs_contents",
1820
)
19-
load("//:elixir_home.bzl", "ElixirHomeProvider")
21+
load(
22+
"//:elixir_home.bzl",
23+
"ElixirHomeProvider",
24+
)
2025

2126
def _impl(ctx):
2227
erlang_version = ctx.attr._erlang_version[ErlangVersionProvider].version
2328
erlang_home = ctx.attr._erlang_home[ErlangHomeProvider].path
2429
elixir_home = ctx.attr._elixir_home[ElixirHomeProvider].path
2530

26-
erl_libs_files = erl_libs_contents(ctx, headers = True)
31+
erl_libs_dir = ctx.label.name + "_deps"
32+
33+
erl_libs_files = erl_libs_contents(ctx, headers = True, dir = erl_libs_dir)
2734

2835
package_dir = path_join(ctx.label.workspace_root, ctx.label.package)
2936

30-
erl_libs_path = path_join(package_dir, ERL_LIBS_DIR)
37+
erl_libs_path = path_join(package_dir, erl_libs_dir)
3138

3239
if not ctx.attr.is_windows:
3340
output = ctx.actions.declare_file(ctx.label.name)

deps/rabbitmq_management/BUILD.bazel

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@ APP_ENV = """[
3838
{content_security_policy, "script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'"}
3939
]"""
4040

41-
FIRST_SRCS = [
42-
"src/rabbit_mgmt_extension.erl",
43-
]
44-
4541
DEPS = [
4642
"//deps/amqp_client:erlang_app",
4743
"//deps/rabbit_common:erlang_app",
@@ -72,7 +68,6 @@ rabbitmq_app(
7268
app_name = APP_NAME,
7369
extra_apps = EXTRA_APPS,
7470
extra_priv = [":rabbitmqadmin"],
75-
first_srcs = FIRST_SRCS,
7671
runtime_deps = RUNTIME_DEPS,
7772
deps = DEPS,
7873
)

deps/rabbitmq_mqtt/BUILD.bazel

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,6 @@ APP_ENV = """[
4141
{sparkplug, false}
4242
]"""
4343

44-
FIRST_SRCS = [
45-
"src/rabbit_mqtt_retained_msg_store.erl",
46-
]
47-
4844
BUILD_DEPS = [
4945
"//deps/rabbitmq_cli:rabbitmqctl",
5046
]
@@ -66,7 +62,6 @@ rabbitmq_app(
6662
app_module = APP_MODULE,
6763
app_name = APP_NAME,
6864
build_deps = BUILD_DEPS,
69-
first_srcs = FIRST_SRCS,
7065
runtime_deps = RUNTIME_DEPS,
7166
deps = DEPS,
7267
)

deps/rabbitmq_shovel/BUILD.bazel

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ rabbitmq_app(
5454
app_name = APP_NAME,
5555
build_deps = BUILD_DEPS,
5656
extra_apps = EXTRA_APPS,
57-
first_srcs = [
58-
"src/rabbit_shovel_behaviour.erl",
59-
],
6057
runtime_deps = RUNTIME_DEPS,
6158
deps = DEPS,
6259
)

deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
-behaviour(gen_server).
2020

21-
-include_lib("rabbitmq_stream/include/rabbit_stream_metrics.hrl").
21+
-include("rabbit_stream_metrics.hrl").
2222

2323
-record(state, {timer, interval}).
2424

deps/rabbitmq_trust_store/BUILD.bazel

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,6 @@ rabbitmq_app(
4141
app_module = APP_MODULE,
4242
app_name = APP_NAME,
4343
extra_apps = EXTRA_APPS,
44-
first_srcs = [
45-
"src/rabbit_trust_store_certificate_provider.erl",
46-
],
4744
runtime_deps = RUNTIME_DEPS,
4845
deps = DEPS,
4946
)

0 commit comments

Comments
 (0)