diff options
| author | Philip Kuryloski <kuryloskip@vmware.com> | 2021-11-29 12:58:02 +0100 |
|---|---|---|
| committer | Philip Kuryloski <kuryloskip@vmware.com> | 2021-11-29 12:58:02 +0100 |
| commit | 67ad54151557f9e5f08f249a2f8f7eff6a8554ea (patch) | |
| tree | 6e8f6e95d581197ae7e5369f4c116fc5fa9689b4 | |
| parent | 83126f12851c499eb10c955b5e622446f1ddcdf3 (diff) | |
| download | rabbitmq-server-git-67ad54151557f9e5f08f249a2f8f7eff6a8554ea.tar.gz | |
Add a bazel rule for generating erlang_ls.config
If you are using bazel, you can switch to this with:
1. `bazelisk build //tools:erlang_ls.config`
2. `cp bazel-bin/tools/erlang_ls.config erlang_ls.config`
| -rw-r--r-- | tools/BUILD.bazel | 5 | ||||
| -rw-r--r-- | tools/erlang_ls.bzl | 35 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel new file mode 100644 index 0000000000..e90ac62a9b --- /dev/null +++ b/tools/BUILD.bazel @@ -0,0 +1,5 @@ +load(":erlang_ls.bzl", "erlang_ls_config") + +erlang_ls_config( + name = "erlang_ls.config", +) diff --git a/tools/erlang_ls.bzl b/tools/erlang_ls.bzl new file mode 100644 index 0000000000..c5820b08ec --- /dev/null +++ b/tools/erlang_ls.bzl @@ -0,0 +1,35 @@ +load("@bazel-erlang//:erlang_home.bzl", "ErlangHomeProvider") + +def _impl(ctx): + out = ctx.actions.declare_file(ctx.label.name) + + erlang_home = ctx.attr._erlang_home[ErlangHomeProvider].path + + ctx.actions.write( + output = out, + content = """otp_path: {erlang_home} +apps_dirs: + - deps/* +deps_dirs: + - bazel-bin/external/* +include_dirs: + - deps + - deps/*/include + - bazel-bin/external + - bazel-bin/external/*/include +plt_path: bazel-bin/deps/rabbit/.base_plt.plt +""".format( + erlang_home = erlang_home, + ), + ) + + return [ + DefaultInfo(files = depset([out])), + ] + +erlang_ls_config = rule( + implementation = _impl, + attrs = { + "_erlang_home": attr.label(default = "@bazel-erlang//:erlang_home"), + }, +) |
