diff options
| author | Rin Kuryloski <kuryloskip@vmware.com> | 2022-09-30 13:39:25 +0200 |
|---|---|---|
| committer | Rin Kuryloski <kuryloskip@vmware.com> | 2022-09-30 13:48:53 +0200 |
| commit | 25ed8595c34e2bd167de7b502d11ceef91f5f056 (patch) | |
| tree | beffcbf2f35075cb5f5cc7d310d5b18408c5799e | |
| parent | ec337d0866c9f4faace338673a823cf5bb734fcc (diff) | |
| download | rabbitmq-server-git-25ed8595c34e2bd167de7b502d11ceef91f5f056.tar.gz | |
Turn the //tools:erlang_ls.config target into a generation script
So that one can `bazel run tools:erlang_ls.config > erlang_ls.config`
to generate a bazel friendly config
| -rw-r--r-- | tools/erlang_ls.bzl | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/tools/erlang_ls.bzl b/tools/erlang_ls.bzl index b1dc8bbd02..670a338f5f 100644 --- a/tools/erlang_ls.bzl +++ b/tools/erlang_ls.bzl @@ -3,10 +3,6 @@ load( "ErlangAppInfo", ) load( - "@rules_erlang//tools:erlang_toolchain.bzl", - "erlang_dirs", -) -load( "@rules_erlang//:util.bzl", "path_join", ) @@ -16,40 +12,37 @@ load( ) def _erlang_ls_config(ctx): - out = ctx.actions.declare_file(ctx.label.name) - - (erlang_home, _, _) = erlang_dirs(ctx) + runtime_prefix = path_join( + ctx.label.package, + ctx.label.name + ".runfiles", + ctx.workspace_name, + ) ctx.actions.write( - output = out, - content = """otp_path: {erlang_home} + output = ctx.outputs.executable, + content = """#!/usr/bin/env bash + +set -euo pipefail + +BAZEL_BIN_ABSOLUTE_PATH="${{PWD%/{}}}" + +cat << EOF apps_dirs: - - deps/* - - deps/rabbit/apps/* +- ${{BAZEL_BIN_ABSOLUTE_PATH}}/tools/erlang_ls_files/apps/* deps_dirs: - - bazel-bin/external/* +- ${{BAZEL_BIN_ABSOLUTE_PATH}}/tools/erlang_ls_files/deps/* include_dirs: - - deps - - deps/* - - deps/*/include - - deps/*/src - - bazel-bin/external - - bazel-bin/external/*/include -plt_path: bazel-bin/deps/rabbit/.base_plt.plt -""".format( - erlang_home = erlang_home, - ), +- ${{BAZEL_BIN_ABSOLUTE_PATH}}/tools/erlang_ls_files/apps +- ${{BAZEL_BIN_ABSOLUTE_PATH}}/tools/erlang_ls_files/apps/*/include +- ${{BAZEL_BIN_ABSOLUTE_PATH}}/tools/erlang_ls_files/deps +- ${{BAZEL_BIN_ABSOLUTE_PATH}}/tools/erlang_ls_files/deps/*/include +EOF +""".format(runtime_prefix), ) - return [ - DefaultInfo(files = depset([out])), - ] - erlang_ls_config = rule( implementation = _erlang_ls_config, - toolchains = [ - "@rules_erlang//tools:toolchain_type", - ], + executable = True, ) def _erlang_app_files(ctx, app, directory): |
