diff options
| author | Michael Davis <mcarsondavis@gmail.com> | 2023-05-01 12:00:07 -0500 |
|---|---|---|
| committer | Diana Parra Corbacho <dparracorbac@vmware.com> | 2023-05-12 11:31:16 +0200 |
| commit | 71f525bdba0ace72c6d482a9b46d5d7a4c9f203b (patch) | |
| tree | 8ea9b4bc1a1bf714c6cc74b0b88fac691f46f857 | |
| parent | e435e83c4062afe68200e3af92d1e36407fbc1fc (diff) | |
| download | rabbitmq-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.bazel | 10 | ||||
| -rw-r--r-- | bazel/BUILD.horus | 114 | ||||
| -rw-r--r-- | bazel/BUILD.khepri | 356 | ||||
| -rw-r--r-- | deps/rabbit/Makefile | 1 | ||||
| -rw-r--r-- | deps/rabbit_common/Makefile | 1 |
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. |
