Skip to content

Commit 6e267a6

Browse files
committed
version 4.0.0-beta.1
1 parent c76e212 commit 6e267a6

File tree

2 files changed

+103
-16
lines changed

2 files changed

+103
-16
lines changed

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module(
22
name = "rules_erlang",
3-
version = "4.0.0",
3+
version = "4.0.0-beta.1",
44
compatibility_level = 4,
55
)
66

README.md

Lines changed: 102 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
1111

1212
http_archive(
1313
name = "bazel_skylib",
14-
sha256 = "af87959afe497dc8dfd4c6cb66e1279cb98ccc84284619ebfec27d9c09a903de",
14+
sha256 = "66ffd9315665bfaafc96b52278f57c7e2dd09f5ede279ea6d39b2be471e7e3aa",
1515
urls = [
16-
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz",
17-
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz",
16+
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz",
17+
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz",
1818
],
1919
)
2020

@@ -24,8 +24,8 @@ bazel_skylib_workspace()
2424

2525
http_archive(
2626
name = "rules_erlang",
27-
strip_prefix = "rules_erlang-3.15.2",
28-
urls = ["https://github.com/rabbitmq/rules_erlang/archive/refs/tags/3.15.2.zip"],
27+
strip_prefix = "rules_erlang-4.0.0-beta.1",
28+
urls = ["https://github.com/rabbitmq/rules_erlang/archive/refs/tags/4.0.0-beta.1.zip"],
2929
)
3030

3131
load(
@@ -47,27 +47,114 @@ register_defaults()
4747
### `BUILD` file
4848

4949
```starlark
50-
load("@rules_erlang//:erlang_app.bzl", "erlang_app", "test_erlang_app")
50+
load("@rules_erlang//:compile_many.bzl", "compile_many")
51+
load("@rules_erlang//:dialyze.bzl", "DEFAULT_PLT_APPS", "dialyze", "plt")
52+
load("@rules_erlang//:erlang_app_sources.bzl", "erlang_app_sources")
53+
load("@rules_erlang//:erlc_opts_file.bzl", "erlc_opts_file")
54+
load("@rules_erlang//:eunit2.bzl", "eunit")
5155
load("@rules_erlang//:xref.bzl", "xref")
52-
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
53-
load("@rules_erlang//:ct.bzl", "ct_suite", "assert_suites2")
56+
load("@rules_erlang//private:extract_app.bzl", "extract_app")
5457

5558
APP_NAME = "my_cool_app"
56-
APP_VERSION = "0.1.0"
5759

58-
erlang_app(
60+
erlc_opts_file(
61+
name = "erlc_opts_file",
62+
values = select({
63+
"@rules_erlang//:debug_build": [
64+
"+debug_info",
65+
"+recv_opt_info",
66+
"+warn_export_vars",
67+
"+warn_shadow_vars",
68+
"+warn_obsolete_guard",
69+
],
70+
"//conditions:default": [
71+
"+debug_info",
72+
"+recv_opt_info",
73+
"+warn_export_vars",
74+
"+warn_shadow_vars",
75+
"+warn_obsolete_guard",
76+
"+deterministic",
77+
],
78+
}),
79+
out = "erlc_opts_file",
80+
)
81+
82+
erlc_opts_file(
83+
name = "test_erlc_opts_file",
84+
values = select({
85+
"@rules_erlang//:debug_build": [
86+
"+debug_info",
87+
"-DTEST=1",
88+
],
89+
"//conditions:default": [
90+
"+debug_info",
91+
"-DTEST=1",
92+
"+deterministic",
93+
],
94+
}),
95+
out = "test_erlc_opts_file",
96+
)
97+
98+
erlang_app_sources(
99+
name = "%s_srcs" % APP_NAME,
100+
app_name = APP_NAME,
101+
app_src = ":app_src",
102+
erlc_opts_file = ":erlc_opts_file",
103+
visibility = ["//visibility:public"],
104+
)
105+
106+
erlang_app_sources(
107+
name = "test_%s_srcs" % APP_NAME,
108+
app_name = APP_NAME,
109+
app_src = ":app_src",
110+
erlc_opts_file = ":test_erlc_opts_file",
111+
visibility = ["//visibility:public"],
112+
)
113+
114+
compile_many(
115+
name = "apps",
116+
apps = [
117+
":%s_srcs" % APP_NAME,
118+
],
119+
)
120+
121+
compile_many(
122+
name = "test_apps",
123+
apps = [
124+
":test_%s_srcs" % APP_NAME,
125+
],
126+
testonly = True,
127+
)
128+
129+
extract_app(
130+
name = "erlang_app",
131+
erl_libs = ":apps",
59132
app_name = APP_NAME,
60-
app_version = APP_VERSION,
133+
visibility = ["//visibility:public"],
61134
)
62135

63-
test_erlang_app(
136+
extract_app(
137+
name = "test_erlang_app",
138+
erl_libs = ":test_apps",
64139
app_name = APP_NAME,
65-
app_version = APP_VERSION,
140+
beam_dest = "test",
141+
testonly = True,
66142
)
67143

68-
xref()
144+
xref(name = "xref")
145+
146+
plt(
147+
name = "deps_plt",
148+
apps = DEFAULT_PLT_APPS,
149+
for_target = ":erlang_app",
150+
)
151+
152+
dialyze(
153+
name = "dialyze",
154+
plt = ":deps_plt",
155+
)
69156

70-
dialyze()
157+
eunit(name = "xref")
71158

72159
ct_suite(
73160
name = "unit_SUITE",

0 commit comments

Comments
 (0)