Skip to content

Commit 8eaa545

Browse files
Merge pull request #11510 from rabbitmq/mergify/bp/v3.12.x/pr-11485
Use rules_elixir for rabbitmqctl (backport #11456) (backport #11485)
2 parents f7da6c0 + 3362965 commit 8eaa545

File tree

51 files changed

+845
-1449
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+845
-1449
lines changed

.bazelrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ build --local_test_jobs=1
88

99
build --flag_alias=erlang_home=@rules_erlang//:erlang_home
1010
build --flag_alias=erlang_version=@rules_erlang//:erlang_version
11-
build --flag_alias=elixir_home=//:elixir_home
11+
build --flag_alias=elixir_home=@rules_elixir//:elixir_home
1212
build --flag_alias=test_build=//:enable_test_build
1313

1414
build --combined_report=lcov

BUILD.bazel

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
load(
22
"@bazel_skylib//rules:common_settings.bzl",
33
"bool_flag",
4-
"string_flag",
54
)
65
load("@rules_pkg//pkg:mappings.bzl", "pkg_files")
76
load("@bazel_gazelle//:def.bzl", "gazelle")
@@ -11,7 +10,7 @@ load("@rules_erlang//:dialyze.bzl", "DEFAULT_PLT_APPS", "plt")
1110
load("@rules_erlang//:shell.bzl", "shell")
1211
load("@rules_erlang//:erl_eval.bzl", "erl_eval")
1312
load("@rules_erlang//gazelle:moduleindex.bzl", "moduleindex")
14-
load("//bazel/elixir:iex_eval.bzl", "iex_eval")
13+
load("@rules_elixir//:iex_eval.bzl", "iex_eval")
1514
load(":rabbitmq_home.bzl", "rabbitmq_home")
1615
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
1716
load(":rabbitmqctl.bzl", "rabbitmqctl")
@@ -124,12 +123,6 @@ config_setting(
124123
},
125124
)
126125

127-
string_flag(
128-
name = "elixir_home",
129-
build_setting_default = "",
130-
visibility = ["//visibility:public"],
131-
)
132-
133126
plt(
134127
name = "base_plt",
135128
apps = DEFAULT_PLT_APPS + [

MODULE.bazel

+13-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@ bazel_dep(
1010

1111
bazel_dep(
1212
name = "bazel_skylib",
13-
version = "1.4.2",
13+
version = "1.7.1",
14+
)
15+
16+
bazel_dep(
17+
name = "aspect_bazel_lib",
18+
version = "2.5.3",
1419
)
1520

1621
bazel_dep(
@@ -41,7 +46,12 @@ bazel_dep(
4146

4247
bazel_dep(
4348
name = "rules_erlang",
44-
version = "3.15.1",
49+
version = "3.15.4",
50+
)
51+
52+
bazel_dep(
53+
name = "rules_elixir",
54+
version = "1.0.0",
4555
)
4656

4757
bazel_dep(
@@ -80,7 +90,7 @@ use_repo(
8090
)
8191

8292
elixir_config = use_extension(
83-
"//bazel/bzlmod:extensions.bzl",
93+
"@rules_elixir//bzlmod:extensions.bzl",
8494
"elixir_config",
8595
)
8696

bazel/BUILD.ranch

+1-6
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,7 @@ filegroup(name = "private_hdrs")
8888

8989
filegroup(name = "public_hdrs")
9090

91-
filegroup(
92-
name = "priv",
93-
srcs = [
94-
"ebin/ranch.appup", # keep
95-
],
96-
)
91+
filegroup(name = "priv")
9792

9893
filegroup(
9994
name = "licenses",

bazel/bzlmod/extensions.bzl

+1-91
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,9 @@
1-
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
21
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
2+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
33
load(
44
":secondary_umbrella.bzl",
55
fetch_secondary_umbrella = "secondary_umbrella",
66
)
7-
load(
8-
"//bazel/repositories:elixir_config.bzl",
9-
"INSTALLATION_TYPE_EXTERNAL",
10-
"INSTALLATION_TYPE_INTERNAL",
11-
_elixir_config_rule = "elixir_config",
12-
)
13-
load(
14-
"//bazel/elixir:elixir.bzl",
15-
"DEFAULT_ELIXIR_SHA256",
16-
"DEFAULT_ELIXIR_VERSION",
17-
)
18-
19-
def _elixir_config(ctx):
20-
types = {}
21-
versions = {}
22-
urls = {}
23-
strip_prefixs = {}
24-
sha256s = {}
25-
elixir_homes = {}
26-
27-
for mod in ctx.modules:
28-
for elixir in mod.tags.external_elixir_from_path:
29-
types[elixir.name] = INSTALLATION_TYPE_EXTERNAL
30-
versions[elixir.name] = elixir.version
31-
elixir_homes[elixir.name] = elixir.elixir_home
32-
33-
for elixir in mod.tags.internal_elixir_from_http_archive:
34-
types[elixir.name] = INSTALLATION_TYPE_INTERNAL
35-
versions[elixir.name] = elixir.version
36-
urls[elixir.name] = elixir.url
37-
strip_prefixs[elixir.name] = elixir.strip_prefix
38-
sha256s[elixir.name] = elixir.sha256
39-
40-
for elixir in mod.tags.internal_elixir_from_github_release:
41-
url = "https://github.com/elixir-lang/elixir/archive/refs/tags/v{}.tar.gz".format(
42-
elixir.version,
43-
)
44-
strip_prefix = "elixir-{}".format(elixir.version)
45-
46-
types[elixir.name] = INSTALLATION_TYPE_INTERNAL
47-
versions[elixir.name] = elixir.version
48-
urls[elixir.name] = url
49-
strip_prefixs[elixir.name] = strip_prefix
50-
sha256s[elixir.name] = elixir.sha256
51-
52-
_elixir_config_rule(
53-
name = "elixir_config",
54-
rabbitmq_server_workspace = "@rabbitmq-server",
55-
types = types,
56-
versions = versions,
57-
urls = urls,
58-
strip_prefixs = strip_prefixs,
59-
sha256s = sha256s,
60-
elixir_homes = elixir_homes,
61-
)
62-
63-
external_elixir_from_path = tag_class(attrs = {
64-
"name": attr.string(),
65-
"version": attr.string(),
66-
"elixir_home": attr.string(),
67-
})
68-
69-
internal_elixir_from_http_archive = tag_class(attrs = {
70-
"name": attr.string(),
71-
"version": attr.string(),
72-
"url": attr.string(),
73-
"strip_prefix": attr.string(),
74-
"sha256": attr.string(),
75-
})
76-
77-
internal_elixir_from_github_release = tag_class(attrs = {
78-
"name": attr.string(
79-
default = "internal",
80-
),
81-
"version": attr.string(
82-
default = DEFAULT_ELIXIR_VERSION,
83-
),
84-
"sha256": attr.string(
85-
default = DEFAULT_ELIXIR_SHA256,
86-
),
87-
})
88-
89-
elixir_config = module_extension(
90-
implementation = _elixir_config,
91-
tag_classes = {
92-
"external_elixir_from_path": external_elixir_from_path,
93-
"internal_elixir_from_http_archive": internal_elixir_from_http_archive,
94-
"internal_elixir_from_github_release": internal_elixir_from_github_release,
95-
},
96-
)
977

988
def _secondary_umbrella(_ctx):
999
fetch_secondary_umbrella()

bazel/elixir/BUILD.bazel

+1-26
Original file line numberDiff line numberDiff line change
@@ -1,26 +1 @@
1-
load(
2-
":elixir_as_app.bzl",
3-
"elixir_as_app",
4-
)
5-
6-
toolchain_type(
7-
name = "toolchain_type",
8-
visibility = ["//visibility:public"],
9-
)
10-
11-
elixir_as_app(
12-
name = "erlang_app",
13-
visibility = ["//visibility:public"],
14-
)
15-
16-
elixir_as_app(
17-
name = "logger",
18-
app = "logger",
19-
visibility = ["//visibility:public"],
20-
)
21-
22-
elixir_as_app(
23-
name = "iex",
24-
app = "iex",
25-
visibility = ["//visibility:public"],
26-
)
1+
exports_files(["elixir_escript_main.exs"])

bazel/elixir/elixir.bzl

-147
This file was deleted.

0 commit comments

Comments
 (0)