加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
BUILD.bazel 8.41 KB
一键复制 编辑 原始数据 按行查看 历史
GitHub GPG Bot 提交于 2023-09-20 04:03 . bazel run gazelle
load(
"@bazel_skylib//rules:common_settings.bzl",
"bool_flag",
"string_flag",
)
load("@rules_pkg//pkg:mappings.bzl", "pkg_files")
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@rules_erlang//gazelle:def.bzl", "GAZELLE_ERLANG_RUNTIME_DEPS")
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
load("@rules_erlang//:dialyze.bzl", "DEFAULT_PLT_APPS", "plt")
load("@rules_erlang//:shell.bzl", "shell")
load("@rules_erlang//:erl_eval.bzl", "erl_eval")
load("@rules_erlang//gazelle:moduleindex.bzl", "moduleindex")
load("//bazel/elixir:iex_eval.bzl", "iex_eval")
load(":rabbitmq_home.bzl", "rabbitmq_home")
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
load(":rabbitmqctl.bzl", "rabbitmqctl")
load(":dist.bzl", "package_generic_unix", "source_archive")
load(
":rabbitmq.bzl",
"RABBITMQ_ERLC_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"all_plugins",
"without",
)
exports_files([
"scripts/bazel/rabbitmq-run.sh",
"scripts/bazel/rabbitmq-run.bat",
"release-notes",
])
# gazelle:exclude .github
# gazelle:exclude .elixir_ls
# gazelle:exclude .erlang.mk
# gazelle:exclude bazel
# gazelle:exclude bazel-out
# gazelle:exclude deps/*/priv
# gazelle:exclude deps/accept
# gazelle:exclude deps/aten
# gazelle:exclude deps/base64url
# gazelle:exclude deps/cowboy
# gazelle:exclude deps/cowlib
# gazelle:exclude deps/credentials_obfuscation
# gazelle:exclude deps/csv
# gazelle:exclude deps/cth_styledout
# gazelle:exclude deps/cuttlefish
# gazelle:exclude deps/eetcd
# gazelle:exclude deps/elvis_mk
# gazelle:exclude deps/enough
# gazelle:exclude deps/gen_batch_server
# gazelle:exclude deps/getopt
# gazelle:exclude deps/gun
# gazelle:exclude deps/inet_tcp_proxy
# gazelle:exclude deps/jose
# gazelle:exclude deps/json
# gazelle:exclude deps/meck
# gazelle:exclude deps/observer_cli
# gazelle:exclude deps/osiris
# gazelle:exclude deps/prometheus
# gazelle:exclude deps/proper
# gazelle:exclude deps/quantile_estimator
# gazelle:exclude deps/ra
# gazelle:exclude deps/ranch
# gazelle:exclude deps/recon
# gazelle:exclude deps/redbug
# gazelle:exclude deps/seshat
# gazelle:exclude deps/stdout_formatter
# gazelle:exclude deps/syslog
# gazelle:exclude deps/sysmon_handler
# gazelle:exclude deps/systemd
# gazelle:exclude deps/thoas
# gazelle:exclude deps/*/deps
# gazelle:exclude deps/*/.erlang.mk
# gazelle:exclude deps/rabbitmq_cli/_build
# gazelle:exclude extra_deps
# gazelle:exclude packaging
# gazelle:exclude PACKAGES
# gazelle:exclude plugins
# gazelle:exclude release-notes
# gazelle:exclude logs
# gazelle:erlang_apps_dirs deps
# gazelle:erlang_skip_rules test_erlang_app
# gazelle:erlang_skip_rules ct_test
# gazelle:erlang_generate_beam_files_macro
# gazelle:erlang_generate_fewer_bytecode_rules
# gazelle:erlang_app_dep_exclude rabbitmq_cli
# gazelle:map_kind erlang_app rabbitmq_app //:rabbitmq.bzl
# gazelle:map_kind assert_suites2 assert_suites //:rabbitmq.bzl
# gazelle:erlang_module_source_lib Elixir.RabbitMQ.CLI.CommandBehaviour:rabbitmq_cli
gazelle(
name = "gazelle",
data = GAZELLE_ERLANG_RUNTIME_DEPS,
extra_args = [
"--verbose",
],
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
)
gazelle(
name = "gazelle-update-repos",
command = "update-repos",
data = GAZELLE_ERLANG_RUNTIME_DEPS,
extra_args = [
"--verbose",
"--build_files_dir=bazel",
"--recurse_with=gazelle-update-repos",
],
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
)
bool_flag(
name = "enable_test_build",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "test_build",
flag_values = {
"//:enable_test_build": "true",
},
)
string_flag(
name = "elixir_home",
build_setting_default = "",
visibility = ["//visibility:public"],
)
plt(
name = "base_plt",
apps = DEFAULT_PLT_APPS + [
"compiler",
"crypto",
], # keep
visibility = ["//visibility:public"],
)
PLUGINS = all_plugins(
rabbitmq_workspace = "",
) + select({
"@rules_erlang//:debug_build": ["@looking_glass//:erlang_app"],
"//conditions:default": [],
})
rabbitmq_home(
name = "broker-home",
plugins = PLUGINS,
)
rabbitmq_run(
name = "rabbitmq-run",
home = ":broker-home",
visibility = ["//visibility:public"],
)
# Allows us to `bazel run broker`
# for the equivalent of `make run-broker`
rabbitmq_run_command(
name = "broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "run-broker",
)
# Allows us to `bazel run background-broker`
# to start a broker in the background
rabbitmq_run_command(
name = "background-broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "start-background-broker",
)
# Allows us to `bazel run stop-broker`
# Useful is broker started in the background
rabbitmq_run_command(
name = "stop-broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "stop-node",
)
# Allows us to `bazel run start-cluster`
# for the equivalent of `make start-cluster`
rabbitmq_run_command(
name = "start-cluster",
rabbitmq_run = ":rabbitmq-run",
subcommand = "start-cluster",
)
# Allows us to `bazel run stop-cluster`
# for the equivalent of `make stop-cluster`
rabbitmq_run_command(
name = "stop-cluster",
rabbitmq_run = ":rabbitmq-run",
subcommand = "stop-cluster",
)
# `bazel run rabbitmqctl`
rabbitmqctl(
name = "rabbitmqctl",
home = ":broker-home",
visibility = ["//visibility:public"],
)
rabbitmqctl(
name = "rabbitmq-diagnostics",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-plugins",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-streams",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-queues",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-upgrade",
home = ":broker-home",
)
shell(
name = "repl",
deps = PLUGINS,
)
erl_eval(
name = "otp_version",
outs = ["otp_version.txt"],
expression = """{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), file:write_file(os:getenv("OUTS"), Version), halt().""",
)
iex_eval(
name = "elixir_version",
outs = ["elixir_version.txt"],
expression = """File.write!(System.get_env("OUTS"), System.version()); System.halt()""",
)
filegroup(
name = "root-licenses",
srcs = glob(["LICENSE*"]),
visibility = ["//visibility:public"],
)
pkg_files(
name = "scripts-files",
srcs = [
"scripts/bash_autocomplete.sh",
"scripts/rabbitmq-script-wrapper",
"scripts/rabbitmqctl-autocomplete.sh",
"scripts/zsh_autocomplete.sh",
],
prefix = "scripts",
visibility = ["//visibility:public"],
)
pkg_files(
name = "release-notes-files",
srcs = glob([
"release-notes/*.md",
"release-notes/*.txt",
]),
prefix = "release-notes",
visibility = ["//visibility:public"],
)
package_generic_unix(
name = "package-generic-unix",
plugins = PLUGINS,
)
source_archive(
name = "source_archive",
plugins = PLUGINS,
)
moduleindex(
name = "moduleindex",
testonly = True,
apps = PLUGINS + [
"@ct_helper//:erlang_app",
"@emqtt//:erlang_app",
"@inet_tcp_proxy_dist//:erlang_app",
"@meck//:erlang_app",
"@proper//:erlang_app",
"//deps/rabbitmq_ct_client_helpers:erlang_app",
"//deps/rabbitmq_ct_helpers:erlang_app",
"//deps/trust_store_http:erlang_app",
],
tags = ["manual"],
)
alias(
name = "test-logs",
actual = "//bazel/util:test-logs",
)
alias(
name = "remote-test-logs",
actual = "//bazel/util:remote-test-logs",
)
alias(
name = "test-node-data",
actual = "//bazel/util:test-node-data",
)
alias(
name = "remote-test-node-data",
actual = "//bazel/util:remote-test-node-data",
)
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_ERLC_OPTS),
"//conditions:default": RABBITMQ_ERLC_OPTS,
}) + select({
":test_build": [
"-DTEST=1",
"+nowarn_export_all",
],
"//conditions:default": [],
}), # keep
visibility = [":__subpackages__"],
)
erlc_opts(
name = "test_erlc_opts",
values = select({
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS),
"//conditions:default": RABBITMQ_TEST_ERLC_OPTS,
}), # keep
visibility = [":__subpackages__"],
)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化