summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Davis <mcarsondavis@gmail.com>2023-05-01 12:00:07 -0500
committerDiana Parra Corbacho <dparracorbac@vmware.com>2023-05-12 11:31:16 +0200
commit71f525bdba0ace72c6d482a9b46d5d7a4c9f203b (patch)
tree8ea9b4bc1a1bf714c6cc74b0b88fac691f46f857
parente435e83c4062afe68200e3af92d1e36407fbc1fc (diff)
downloadrabbitmq-server-git-71f525bdba0ace72c6d482a9b46d5d7a4c9f203b.tar.gz
Update Khepri, add Horus dependency
This commit updates Khepri to the 0.7.0 tag commit and adds Horus as a dependency using the following commands to regenerate the bazel build files: bazel run gazelle -- update-repos \ --verbose \ --build_files_dir=bazel \ github.com/rabbitmq/horus@d9061b945a3a3261f639fbd7e7fcd0624fa2e9ad bazel run gazelle -- update-repos \ --verbose \ --build_files_dir=bazel \ github.com/rabbitmq/khepri@e5b8753ef14212baaa53af8171ad71b3848003d4 Plus some manual tuning for the Khepri build file.
-rw-r--r--MODULE.bazel10
-rw-r--r--bazel/BUILD.horus114
-rw-r--r--bazel/BUILD.khepri356
-rw-r--r--deps/rabbit/Makefile1
-rw-r--r--deps/rabbit_common/Makefile1
5 files changed, 184 insertions, 298 deletions
diff --git a/MODULE.bazel b/MODULE.bazel
index 4c287ace36..93084b56d9 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -226,6 +226,13 @@ erlang_package.hex_package(
)
erlang_package.git_package(
+ name = "horus",
+ build_file = "@rabbitmq-server//bazel:BUILD.horus",
+ commit = "d9061b945a3a3261f639fbd7e7fcd0624fa2e9ad",
+ repository = "rabbitmq/horus",
+)
+
+erlang_package.git_package(
name = "jose",
build_file = "@rabbitmq-server//bazel:BUILD.jose",
commit = "d63c1c5c8f9c1a4f1438e234b886de8607a0034e",
@@ -242,7 +249,7 @@ erlang_package.hex_package(
erlang_package.git_package(
name = "khepri",
build_file = "@rabbitmq-server//bazel:BUILD.khepri",
- commit = "295bf1e91a20e5260ee3df9fdb8423b16c1d518a",
+ commit = "e5b8753ef14212baaa53af8171ad71b3848003d4",
repository = "rabbitmq/khepri",
)
@@ -368,6 +375,7 @@ use_repo(
"gen_batch_server",
"getopt",
"gun",
+ "horus",
"jose",
"json",
"khepri",
diff --git a/bazel/BUILD.horus b/bazel/BUILD.horus
new file mode 100644
index 0000000000..e3d75efe99
--- /dev/null
+++ b/bazel/BUILD.horus
@@ -0,0 +1,114 @@
+load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
+load("@rules_erlang//:erlang_app.bzl", "erlang_app")
+
+erlc_opts(
+ name = "erlc_opts",
+ values = select({
+ "@rules_erlang//:debug_build": [
+ "+debug_info",
+ "+warn_export_vars",
+ "+warnings_as_errors",
+ ],
+ "//conditions:default": [
+ "+debug_info",
+ "+deterministic",
+ "+warn_export_vars",
+ "+warnings_as_errors",
+ ],
+ }),
+ visibility = [":__subpackages__"],
+)
+
+erlang_bytecode(
+ name = "other_beam",
+ srcs = [
+ "src/horus.erl",
+ "src/horus_cover.erl",
+ "src/horus_utils.erl",
+ ],
+ hdrs = [":public_and_private_hdrs"],
+ app_name = "horus",
+ dest = "ebin",
+ erlc_opts = "//:erlc_opts",
+)
+
+filegroup(
+ name = "beam_files",
+ srcs = [":other_beam"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = [
+ "src/horus.app.src",
+ "src/horus.erl",
+ "src/horus_cover.erl",
+ "src/horus_utils.erl",
+ ],
+)
+
+filegroup(
+ name = "private_hdrs",
+ srcs = [
+ "src/horus_error.hrl",
+ "src/horus_fun.hrl",
+ ],
+)
+
+filegroup(
+ name = "public_hdrs",
+ srcs = [
+ "include/horus.hrl",
+ ],
+)
+
+filegroup(
+ name = "priv",
+ srcs = [
+ "priv/horus_cover_helper.erl",
+ ],
+)
+
+filegroup(
+ name = "license_files",
+ srcs = [
+ "LICENSE-Apache-2.0",
+ "LICENSE-MPL-2.0",
+ ],
+)
+
+filegroup(
+ name = "public_and_private_hdrs",
+ srcs = [
+ ":private_hdrs",
+ ":public_hdrs",
+ ],
+)
+
+filegroup(
+ name = "all_srcs",
+ srcs = [
+ ":public_and_private_hdrs",
+ ":srcs",
+ ],
+)
+
+erlang_app(
+ name = "erlang_app",
+ srcs = [":all_srcs"],
+ hdrs = [":public_hdrs"],
+ app_name = "horus",
+ beam_files = [":beam_files"],
+ extra_apps = [
+ "compiler",
+ "tools",
+ ],
+ license_files = [":license_files"],
+ priv = [":priv"],
+)
+
+alias(
+ name = "horus",
+ actual = ":erlang_app",
+ visibility = ["//visibility:public"],
+)
diff --git a/bazel/BUILD.khepri b/bazel/BUILD.khepri
index dc69828e5b..f30368da7c 100644
--- a/bazel/BUILD.khepri
+++ b/bazel/BUILD.khepri
@@ -20,310 +20,28 @@ erlc_opts(
)
erlang_bytecode(
- name = "ebin_khepri_beam",
- srcs = ["src/khepri.erl"],
- outs = ["ebin/khepri.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_bang.hrl",
- "src/khepri_cluster.hrl",
- "src/khepri_error.hrl",
- "src/khepri_fun.hrl",
- "src/khepri_ret.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_adv_beam",
- srcs = ["src/khepri_adv.erl"],
- outs = ["ebin/khepri_adv.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_cluster.hrl",
- "src/khepri_error.hrl",
- "src/khepri_ret.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_app_beam",
- srcs = ["src/khepri_app.erl"],
- outs = ["ebin/khepri_app.beam"],
- hdrs = [
- "src/khepri_cluster.hrl",
- "src/khepri_error.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_cluster_beam",
- srcs = ["src/khepri_cluster.erl"],
- outs = ["ebin/khepri_cluster.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_cluster.hrl",
- "src/khepri_error.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_condition_beam",
- srcs = ["src/khepri_condition.erl"],
- outs = ["ebin/khepri_condition.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_machine.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_tree.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_event_handler_beam",
- srcs = ["src/khepri_event_handler.erl"],
- outs = ["ebin/khepri_event_handler.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_machine.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_tree.hrl",
+ name = "behaviours",
+ srcs = [
+ "src/khepri_import_export.erl",
],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_evf_beam",
- srcs = ["src/khepri_evf.erl"],
- outs = ["ebin/khepri_evf.beam"],
- hdrs = ["src/khepri_evf.hrl"],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_export_erlang_beam",
- srcs = ["src/khepri_export_erlang.erl"],
- outs = ["ebin/khepri_export_erlang.beam"],
- app_name = "khepri",
- beam = ["ebin/khepri_import_export.beam"],
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_fun_beam",
- srcs = ["src/khepri_fun.erl"],
- outs = ["ebin/khepri_fun.beam"],
- hdrs = ["src/khepri_fun.hrl"],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_import_export_beam",
- srcs = ["src/khepri_import_export.erl"],
- outs = ["ebin/khepri_import_export.beam"],
- hdrs = [
- "src/khepri_cluster.hrl",
- "src/khepri_machine.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_tree.hrl",
+ outs = [
+ "ebin/khepri_import_export.beam",
],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_machine_beam",
- srcs = ["src/khepri_machine.erl"],
- outs = ["ebin/khepri_machine.beam"],
hdrs = [
- "include/khepri.hrl",
"src/khepri_cluster.hrl",
- "src/khepri_error.hrl",
- "src/khepri_evf.hrl",
- "src/khepri_fun.hrl",
"src/khepri_machine.hrl",
"src/khepri_payload.hrl",
- "src/khepri_projection.hrl",
- "src/khepri_ret.hrl",
- "src/khepri_tree.hrl",
- "src/khepri_tx.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
- deps = ["@ra//:erlang_app"],
-)
-
-erlang_bytecode(
- name = "ebin_khepri_path_beam",
- srcs = ["src/khepri_path.erl"],
- outs = ["ebin/khepri_path.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_error.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_pattern_tree_beam",
- srcs = ["src/khepri_pattern_tree.erl"],
- outs = ["ebin/khepri_pattern_tree.beam"],
- hdrs = [
- "src/khepri_payload.hrl",
"src/khepri_tree.hrl",
],
app_name = "khepri",
erlc_opts = "//:erlc_opts",
)
-erlang_bytecode(
- name = "ebin_khepri_payload_beam",
- srcs = ["src/khepri_payload.erl"],
- outs = ["ebin/khepri_payload.beam"],
- hdrs = [
- "src/khepri_error.hrl",
- "src/khepri_fun.hrl",
- "src/khepri_payload.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_projection_beam",
- srcs = ["src/khepri_projection.erl"],
- outs = ["ebin/khepri_projection.beam"],
- hdrs = [
- "src/khepri_fun.hrl",
- "src/khepri_machine.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_projection.hrl",
- "src/khepri_tree.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_sproc_beam",
- srcs = ["src/khepri_sproc.erl"],
- outs = ["ebin/khepri_sproc.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_error.hrl",
- "src/khepri_fun.hrl",
- "src/khepri_tx.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_sup_beam",
- srcs = ["src/khepri_sup.erl"],
- outs = ["ebin/khepri_sup.beam"],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_tree_beam",
- srcs = ["src/khepri_tree.erl"],
- outs = ["ebin/khepri_tree.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_error.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_tree.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_tx_beam",
- srcs = ["src/khepri_tx.erl"],
- outs = ["ebin/khepri_tx.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_error.hrl",
- "src/khepri_machine.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_ret.hrl",
- "src/khepri_tree.hrl",
- "src/khepri_tx.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_tx_adv_beam",
- srcs = ["src/khepri_tx_adv.erl"],
- outs = ["ebin/khepri_tx_adv.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_error.hrl",
- "src/khepri_fun.hrl",
- "src/khepri_machine.hrl",
- "src/khepri_payload.hrl",
- "src/khepri_ret.hrl",
- "src/khepri_tree.hrl",
- "src/khepri_tx.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
-erlang_bytecode(
- name = "ebin_khepri_utils_beam",
- srcs = ["src/khepri_utils.erl"],
- outs = ["ebin/khepri_utils.beam"],
- hdrs = [
- "include/khepri.hrl",
- "src/khepri_error.hrl",
- ],
- app_name = "khepri",
- erlc_opts = "//:erlc_opts",
-)
-
filegroup(
name = "beam_files",
srcs = [
- "ebin/khepri.beam",
- "ebin/khepri_adv.beam",
- "ebin/khepri_app.beam",
- "ebin/khepri_cluster.beam",
- "ebin/khepri_condition.beam",
- "ebin/khepri_event_handler.beam",
- "ebin/khepri_evf.beam",
- "ebin/khepri_export_erlang.beam",
- "ebin/khepri_fun.beam",
- "ebin/khepri_import_export.beam",
- "ebin/khepri_machine.beam",
- "ebin/khepri_path.beam",
- "ebin/khepri_pattern_tree.beam",
- "ebin/khepri_payload.beam",
- "ebin/khepri_projection.beam",
- "ebin/khepri_sproc.beam",
- "ebin/khepri_sup.beam",
- "ebin/khepri_tree.beam",
- "ebin/khepri_tx.beam",
- "ebin/khepri_tx_adv.beam",
- "ebin/khepri_utils.beam",
+ ":behaviours",
+ ":other_beam",
],
)
@@ -339,7 +57,6 @@ filegroup(
"src/khepri_event_handler.erl",
"src/khepri_evf.erl",
"src/khepri_export_erlang.erl",
- "src/khepri_fun.erl",
"src/khepri_import_export.erl",
"src/khepri_machine.erl",
"src/khepri_path.erl",
@@ -362,7 +79,6 @@ filegroup(
"src/khepri_cluster.hrl",
"src/khepri_error.hrl",
"src/khepri_evf.hrl",
- "src/khepri_fun.hrl",
"src/khepri_machine.hrl",
"src/khepri_payload.hrl",
"src/khepri_projection.hrl",
@@ -374,13 +90,12 @@ filegroup(
filegroup(
name = "public_hdrs",
- srcs = ["include/khepri.hrl"],
+ srcs = [
+ "include/khepri.hrl",
+ ],
)
-filegroup(
- name = "priv",
- srcs = [],
-)
+filegroup(name = "priv")
filegroup(
name = "licenses",
@@ -413,7 +128,12 @@ erlang_app(
app_name = "khepri",
beam_files = [":beam_files"],
extra_apps = ["compiler"],
- deps = ["@ra//:erlang_app"],
+ license_files = [":license_files"],
+ priv = [":priv"],
+ deps = [
+ "@horus//:erlang_app",
+ "@ra//:erlang_app",
+ ],
)
alias(
@@ -421,3 +141,45 @@ alias(
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
+
+erlang_bytecode(
+ name = "other_beam",
+ srcs = [
+ "src/khepri.erl",
+ "src/khepri_adv.erl",
+ "src/khepri_app.erl",
+ "src/khepri_cluster.erl",
+ "src/khepri_condition.erl",
+ "src/khepri_event_handler.erl",
+ "src/khepri_evf.erl",
+ "src/khepri_export_erlang.erl",
+ "src/khepri_machine.erl",
+ "src/khepri_path.erl",
+ "src/khepri_pattern_tree.erl",
+ "src/khepri_payload.erl",
+ "src/khepri_projection.erl",
+ "src/khepri_sproc.erl",
+ "src/khepri_sup.erl",
+ "src/khepri_tree.erl",
+ "src/khepri_tx.erl",
+ "src/khepri_tx_adv.erl",
+ "src/khepri_utils.erl",
+ ],
+ hdrs = [":public_and_private_hdrs"],
+ app_name = "khepri",
+ beam = [":behaviours"],
+ dest = "ebin",
+ erlc_opts = "//:erlc_opts",
+ deps = [
+ "@horus//:erlang_app",
+ "@ra//:erlang_app",
+ ],
+)
+
+filegroup(
+ name = "license_files",
+ srcs = [
+ "LICENSE-Apache-2.0",
+ "LICENSE-MPL-2.0",
+ ],
+)
diff --git a/deps/rabbit/Makefile b/deps/rabbit/Makefile
index 499b27ffb5..e49bcd16f1 100644
--- a/deps/rabbit/Makefile
+++ b/deps/rabbit/Makefile
@@ -153,6 +153,7 @@ dep_systemd = hex 0.6.1
dep_seshat = hex 0.4.0
dep_khepri = git https://github.com/rabbitmq/khepri.git main
dep_khepri_mnesia_migration = git https://github.com/rabbitmq/khepri_mnesia_migration.git main
+dep_horus = git https://github.com/rabbitmq/horus.git main
define usage_xml_to_erl
$(subst __,_,$(patsubst $(DOCS_DIR)/rabbitmq%.1.xml, src/rabbit_%_usage.erl, $(subst -,_,$(1))))
diff --git a/deps/rabbit_common/Makefile b/deps/rabbit_common/Makefile
index 8c64ed4029..62897f5306 100644
--- a/deps/rabbit_common/Makefile
+++ b/deps/rabbit_common/Makefile
@@ -30,6 +30,7 @@ DEPS = thoas recon credentials_obfuscation khepri
dep_credentials_obfuscation = hex 3.2.0
dep_khepri = git https://github.com/rabbitmq/khepri.git main
+dep_horus = git https://github.com/rabbitmq/horus.git main
# Variables and recipes in development.*.mk are meant to be used from
# any Git clone. They are excluded from the files published to Hex.pm.