diff options
author | Rin Kuryloski <kuryloskip@vmware.com> | 2023-05-04 12:52:08 +0200 |
---|---|---|
committer | Rin Kuryloski <kuryloskip@vmware.com> | 2023-05-12 08:26:42 +0200 |
commit | ea895a00230874b0971eca18a735ad8826896bc1 (patch) | |
tree | b197faf52104a952721c20db21187c8533e6b289 | |
parent | 08061144ad32aa829b92ed0f4afb7273535c99b0 (diff) | |
download | rabbitmq-server-git-ea895a00230874b0971eca18a735ad8826896bc1.tar.gz |
Account for Elixir containing several core applications
- eex
- elixir
- ex_unit
- iex
- logger
- mix
So that apps (like rabbitmq_cli) can dialyze against the extra
components
-rw-r--r-- | bazel/elixir/BUILD.bazel | 12 | ||||
-rw-r--r-- | bazel/elixir/elixir_as_app.bzl | 14 | ||||
-rw-r--r-- | deps/rabbitmq_cli/BUILD.bazel | 1 |
3 files changed, 24 insertions, 3 deletions
diff --git a/bazel/elixir/BUILD.bazel b/bazel/elixir/BUILD.bazel index b362f11b13..f21e9181d4 100644 --- a/bazel/elixir/BUILD.bazel +++ b/bazel/elixir/BUILD.bazel @@ -12,3 +12,15 @@ elixir_as_app( name = "erlang_app", visibility = ["//visibility:public"], ) + +elixir_as_app( + name = "logger", + app = "logger", + visibility = ["//visibility:public"], +) + +elixir_as_app( + name = "iex", + app = "iex", + visibility = ["//visibility:public"], +) diff --git a/bazel/elixir/elixir_as_app.bzl b/bazel/elixir/elixir_as_app.bzl index b653a8dcdd..eb615722c9 100644 --- a/bazel/elixir/elixir_as_app.bzl +++ b/bazel/elixir/elixir_as_app.bzl @@ -3,12 +3,16 @@ load( "ErlangAppInfo", ) load( + "@rules_erlang//:util.bzl", + "path_join", +) +load( ":elixir_toolchain.bzl", "elixir_dirs", ) def _impl(ctx): - ebin = ctx.actions.declare_directory("ebin") + ebin = ctx.actions.declare_directory(path_join(ctx.label.name, "ebin")) (elixir_home, elixir_runfiles) = elixir_dirs(ctx) @@ -17,9 +21,10 @@ def _impl(ctx): outputs = [ebin], command = """set -euo pipefail -cp -r "{elixir_home}"/lib/elixir/ebin/* {ebin} +cp -r "{elixir_home}"/lib/{app}/ebin/* {ebin} """.format( elixir_home = elixir_home, + app = ctx.attr.app, ebin = ebin.path, ), ) @@ -27,7 +32,7 @@ cp -r "{elixir_home}"/lib/elixir/ebin/* {ebin} return [ DefaultInfo(files = depset([ebin])), ErlangAppInfo( - app_name = "elixir", + app_name = ctx.attr.app, include = [], beam = [ebin], priv = [], @@ -39,6 +44,9 @@ cp -r "{elixir_home}"/lib/elixir/ebin/* {ebin} elixir_as_app = rule( implementation = _impl, + attrs = { + "app": attr.string(default = "elixir"), + }, toolchains = [":toolchain_type"], provides = [ErlangAppInfo], ) diff --git a/deps/rabbitmq_cli/BUILD.bazel b/deps/rabbitmq_cli/BUILD.bazel index 79bc84f06a..cf212f27c0 100644 --- a/deps/rabbitmq_cli/BUILD.bazel +++ b/deps/rabbitmq_cli/BUILD.bazel @@ -116,6 +116,7 @@ plt( libs = [":elixir"], deps = [ ":elixir", + "//bazel/elixir:logger", "//deps/rabbit:erlang_app", "//deps/rabbit_common:erlang_app", ], |