Bazel: Bump to 8.6.0
Update Bazel version from 7.6.1 to 8.6.0.
This requires a few follow-up adjustments:
* Re-enable WORKSPACE support
Bazel 8 disables WORKSPACE by default. Gerrit still relies on
WORKSPACE.bzlmod for parts of the frontend (PolyGerrit) build
toolchain (e.g. rules_nodejs / npm setup), so
--enable_workspace is added back until the migration to pure
bzlmod is complete.
* Update MODULE.bazel.lock
The Bazel version bump requires regenerating MODULE.bazel.lock
to keep dependency resolution consistent with Bazel 8.
* Exclude duplicate protobuf runtime jars from WAR packaging
With Bazel 8, java_proto_library() exposes protobuf runtime jars
from @protobuf//java/core as transitive runtime dependencies.
This causes libcore.jar and liblite_runtime_only.jar to be
included in WEB-INF/lib.
Gerrit already packages the protobuf-java Maven artifact, and
these jars duplicate the same classes (confirmed via class-level
comparison). Exclude them during WAR packaging to avoid
duplication and keep the runtime classpath stable.
* Fix PolyGerrit web_test_runner under Bazel runfiles
Bazel 8 changes the runfiles layout for external repositories.
npm dependencies are no longer available under
_main/external/<repo>, but instead as siblings of _main in the
runfiles tree.
The Web Test Runner configuration was still resolving node_modules
relative to process.cwd() (which points to _main), resulting in
invalid paths such as:
_main/external/ui_dev_npm/node_modules
This caused module resolution failures in tests, e.g.
"@open-wc/testing" could not be imported.
Fix this by resolving modulePaths relative to the runfiles root
(parent of _main), so that external repositories like
ui_dev_npm, ui_npm and plugins_npm are correctly located.
* Forward test arguments in web_test_runner.sh
The wrapper script previously ignored additional arguments passed
via --test_arg, which prevented passing flags such as
--test-files or --ts-config to the Web Test Runner.
Forward all additional arguments to restore expected behavior, e.g.:
bazel test //polygerrit-ui:web_test_runner --test_output=streamed \
--test_arg=--test-files=polygerrit-ui/app/services/label-suggestions-provider_test.ts
* Fix Prolog tests under Bazel runfiles
Bazel 8 changes the runfiles layout for external repositories, so Java
toolchain paths such as external/<repo> no longer resolve under
_main/external.
Normalize these paths in run.sh relative to TEST_SRCDIR and resolve
Java home paths to the Java binary.
No functional Java changes are introduced; this is a build system
upgrade with minor packaging adjustments.
Bug: Issue 365461928
Release-Notes: Update Bazel version to 8.6.0
Change-Id: Id8ab3fe68a60e9a4e5951021230ca3d43205891b
diff --git a/.bazelrc b/.bazelrc
index 14ef5ff..7a2ed39 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -1,10 +1,14 @@
# TODO(davido): Migrate all dependencies from WORKSPACE to MODULE.bazel
# https://issues.gerritcodereview.com/issues/303819949
+# Remove hybrid mode option once bzlmod migration is completed
+common --enable_workspace
common --enable_bzlmod --lockfile_mode=error
common --incompatible_enable_proto_toolchain_resolution
common --@protobuf//bazel/toolchains:prefer_prebuilt_protoc
# Enable Gerrit-tree-only plugin checks (standalone plugin builds skip them).
common --@com_googlesource_gerrit_bazlets//flags:in_gerrit_tree=true
+common --incompatible_disallow_struct_provider_syntax=false
+common --incompatible_disallow_empty_glob=false
build --workspace_status_command="python3 ./tools/workspace_status.py"
build --repository_cache=~/.gerritcodereview/bazel-cache/repository
diff --git a/.bazelversion b/.bazelversion
index e8be684..acd405b 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-7.6.1
+8.6.0
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 4b22c7a..ce00ad7 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -1,5 +1,5 @@
{
- "lockFileVersion": 13,
+ "lockFileVersion": 24,
"registryFileHashes": {
"https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497",
"https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2",
@@ -19,8 +19,8 @@
"https://bcr.bazel.build/modules/abseil-py/2.1.0/source.json": "0e8fc4f088ce07099c1cd6594c20c7ddbb48b4b3c0849b7d94ba94be88ff042b",
"https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896",
"https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85",
- "https://bcr.bazel.build/modules/apple_support/1.15.1/source.json": "517f2b77430084c541bc9be2db63fdcbb7102938c5f64c17ee60ffda2e5cf07b",
- "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef",
+ "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442",
+ "https://bcr.bazel.build/modules/apple_support/1.23.1/source.json": "d888b44312eb0ad2c21a91d026753f330caa48a25c9b2102fae75eb2b0dcfdd2",
"https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b",
"https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd",
"https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8",
@@ -31,6 +31,7 @@
"https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58",
"https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b",
"https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a",
+ "https://bcr.bazel.build/modules/bazel_features/1.27.0/MODULE.bazel": "621eeee06c4458a9121d1f104efb80f39d34deff4984e778359c60eaf1a8cb65",
"https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d",
"https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9",
"https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87",
@@ -100,6 +101,7 @@
"https://bcr.bazel.build/modules/protobuf/27.2/MODULE.bazel": "32450b50673882e4c8c3d10a83f3bc82161b213ed2f80d17e38bece8f165c295",
"https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df",
"https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92",
+ "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e",
"https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95",
"https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0",
"https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573",
@@ -123,6 +125,7 @@
"https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647",
"https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002",
"https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191",
+ "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac",
"https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc",
"https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87",
"https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a",
@@ -146,17 +149,20 @@
"https://bcr.bazel.build/modules/rules_go/0.51.0-rc2/source.json": "6b5cd0b3da2bd0e6949580851db990a04af0a285f072b9a0f059424457cd8cc9",
"https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74",
"https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86",
+ "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39",
"https://bcr.bazel.build/modules/rules_java/6.3.0/MODULE.bazel": "a97c7678c19f236a956ad260d59c86e10a463badb7eb2eda787490f4c969b963",
+ "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6",
"https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31",
"https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel": "30d9135a2b6561c761bd67bd4990da591e6bdc128790ce3e7afd6a3558b2fb64",
"https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a",
"https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6",
"https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab",
+ "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2",
"https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel": "a592852f8a3dd539e82ee6542013bf2cadfc4c6946be8941e189d224500a8934",
"https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe",
- "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1",
"https://bcr.bazel.build/modules/rules_java/8.11.0/MODULE.bazel": "c3d280bc5ff1038dcb3bacb95d3f6b83da8dd27bba57820ec89ea4085da767ad",
"https://bcr.bazel.build/modules/rules_java/8.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e",
+ "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615",
"https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3",
"https://bcr.bazel.build/modules/rules_java/8.16.1/source.json": "072f8d11264edc499621be2dc9ea01d6395db5aa6f8799c034ae01a3e857f2e4",
"https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017",
@@ -166,12 +172,15 @@
"https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7",
"https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909",
"https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036",
+ "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d",
+ "https://bcr.bazel.build/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4",
"https://bcr.bazel.build/modules/rules_jvm_external/6.10/MODULE.bazel": "33e636ca6bc9ee0fa090a38aa33c631ded2d8cf6fead4124181d1b35dc474f7c",
"https://bcr.bazel.build/modules/rules_jvm_external/6.10/source.json": "c191249787625db72616a3fb3cc2786ab57355a2e3b615402b8b3b66b0f995b7",
"https://bcr.bazel.build/modules/rules_jvm_external/6.2/MODULE.bazel": "36a6e52487a855f33cb960724eb56547fa87e2c98a0474c3acad94339d7f8e99",
"https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0",
"https://bcr.bazel.build/modules/rules_jvm_external/6.6/MODULE.bazel": "153042249c7060536dc95b6bb9f9bb8063b8a0b0cb7acdb381bddbc2374aed55",
"https://bcr.bazel.build/modules/rules_jvm_external/6.7/MODULE.bazel": "e717beabc4d091ecb2c803c2d341b88590e9116b8bf7947915eeb33aab4f96dd",
+ "https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59",
"https://bcr.bazel.build/modules/rules_kotlin/1.9.5/MODULE.bazel": "043a16a572f610558ec2030db3ff0c9938574e7dd9f58bded1bb07c0192ef025",
"https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3",
"https://bcr.bazel.build/modules/rules_kotlin/2.1.3/MODULE.bazel": "ce7def6d576aa8d3a9c6d10e13b4d157296229674371f67dbf788dae0afae3d5",
@@ -192,7 +201,6 @@
"https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96",
"https://bcr.bazel.build/modules/rules_proto/7.1.0/source.json": "39f89066c12c24097854e8f57ab8558929f9c8d474d34b2c00ac04630ad8940e",
"https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f",
- "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7",
"https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300",
"https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382",
"https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed",
@@ -201,6 +209,7 @@
"https://bcr.bazel.build/modules/rules_python/0.37.1/MODULE.bazel": "3faeb2d9fa0a81f8980643ee33f212308f4d93eea4b9ce6f36d0b742e71e9500",
"https://bcr.bazel.build/modules/rules_python/0.37.2/MODULE.bazel": "b5ffde91410745750b6c13be1c5dc4555ef5bc50562af4a89fd77807fdde626a",
"https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c",
+ "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7",
"https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43",
"https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6",
"https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8",
@@ -220,8 +229,10 @@
"https://bcr.bazel.build/modules/rules_swift/2.1.1/source.json": "40fc69dfaac64deddbb75bd99cdac55f4427d9ca0afbe408576a65428427a186",
"https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8",
"https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c",
+ "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef",
"https://bcr.bazel.build/modules/stardoc/0.6.2/MODULE.bazel": "7060193196395f5dd668eda046ccbeacebfd98efc77fed418dbe2b82ffaa39fd",
"https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c",
+ "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7",
"https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5",
"https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216",
"https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91",
@@ -230,56 +241,26 @@
"https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9",
"https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0",
"https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27",
- "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79",
"https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca",
"https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/source.json": "22bc55c47af97246cfc093d0acf683a7869377de362b5d1c552c2c2e16b7a806",
"https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198"
},
"selectedYankedVersions": {},
"moduleExtensions": {
- "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": {
+ "@@pybind11_bazel+//:internal_configure.bzl%internal_configure_extension": {
"general": {
- "bzlTransitiveDigest": "ltCGFbl/LQQZXn/LEMXfKX7pGwyqNiOCHcmiQW0tmjM=",
- "usagesDigest": "0sv83SRsyI6lGvOdlpRn0tc9RjvaEXPpa1yYtUlWLWk=",
- "recordedFileInputs": {},
- "recordedDirentsInputs": {},
- "envVariables": {},
- "generatedRepoSpecs": {
- "local_config_apple_cc_toolchains": {
- "bzlFile": "@@apple_support~//crosstool:setup.bzl",
- "ruleClassName": "_apple_cc_autoconf_toolchains",
- "attributes": {}
- },
- "local_config_apple_cc": {
- "bzlFile": "@@apple_support~//crosstool:setup.bzl",
- "ruleClassName": "_apple_cc_autoconf",
- "attributes": {}
- }
- },
- "recordedRepoMappingEntries": [
- [
- "apple_support~",
- "bazel_tools",
- "bazel_tools"
- ]
- ]
- }
- },
- "@@pybind11_bazel~//:internal_configure.bzl%internal_configure_extension": {
- "general": {
- "bzlTransitiveDigest": "CyAKLVVonohnkTSqg9II/HA7M49sOlnMkgMHL3CmDuc=",
- "usagesDigest": "mFrTHX5eCiNU/OIIGVHH3cOILY9Zmjqk8RQYv8o6Thk=",
+ "bzlTransitiveDigest": "NFQjcZF+fAvf5fDH+pqsx4JrfzP9PuHBz6S6ZutIbnw=",
+ "usagesDigest": "D1r3lfzMuUBFxgG8V6o0bQTLMk3GkaGOaPzw53wrwyw=",
"recordedFileInputs": {
- "@@pybind11_bazel~//MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34"
+ "@@pybind11_bazel+//MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34"
},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"pybind11": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
- "build_file": "@@pybind11_bazel~//:pybind11-BUILD.bazel",
+ "build_file": "@@pybind11_bazel+//:pybind11-BUILD.bazel",
"strip_prefix": "pybind11-2.12.0",
"urls": [
"https://github.com/pybind/pybind11/archive/v2.12.0.zip"
@@ -289,161 +270,181 @@
},
"recordedRepoMappingEntries": [
[
- "pybind11_bazel~",
+ "pybind11_bazel+",
"bazel_tools",
"bazel_tools"
]
]
}
},
- "@@rules_android~//bzlmod_extensions:apksig.bzl%apksig_extension": {
+ "@@rules_android+//bzlmod_extensions:apksig.bzl%apksig_extension": {
"general": {
- "bzlTransitiveDigest": "+fNvC5PNWx1aA64JjkW33+1zGbG9xgfi70xQhxbglhY=",
- "usagesDigest": "TaGkNxVMBZxl1ANdUNPmIjKrA33bO+BpI06yTlpHdos=",
+ "bzlTransitiveDigest": "By9qVNN7G4oL1vYOJXye7Dp/CbR2ar9oxAW8WXAVcVw=",
+ "usagesDigest": "xq6OVkELeJvOgYo3oY/sUBsGFbcqdV+9BYiNgSPV/po=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"apksig": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://android.googlesource.com/platform/tools/apksig/+archive/24e3075e68ebe17c0b529bb24bfda819db5e2f3b.tar.gz",
- "build_file": "@@rules_android~//bzlmod_extensions:apksig.BUILD"
+ "build_file": "@@rules_android+//bzlmod_extensions:apksig.BUILD"
}
}
},
"recordedRepoMappingEntries": [
[
- "rules_android~",
+ "rules_android+",
"bazel_tools",
"bazel_tools"
]
]
}
},
- "@@rules_android~//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": {
+ "@@rules_android+//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": {
"general": {
- "bzlTransitiveDigest": "/KJvxHLYhvSLJihEHN0e5Uzdd7OOMvpFb0BFUl1RUTs=",
- "usagesDigest": "fh77SU1OUlWN5ivrGpY93+t0MipuVj89/MMUgfTpSa8=",
+ "bzlTransitiveDigest": "rvWbJQc8jInfIAaXIMhSOqUlwM9HVeLey6q0ISvg08Y=",
+ "usagesDigest": "toF8IFMu98H/VU2p1sfVC5fVXVYJunpbbmtM6tOsQXY=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"com_android_dex": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz",
- "build_file": "@@rules_android~//bzlmod_extensions:com_android_dex.BUILD"
+ "build_file": "@@rules_android+//bzlmod_extensions:com_android_dex.BUILD"
}
}
},
"recordedRepoMappingEntries": [
[
- "rules_android~",
+ "rules_android+",
"bazel_tools",
"bazel_tools"
]
]
}
},
- "@@rules_android~//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": {
+ "@@rules_android+//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": {
"general": {
"bzlTransitiveDigest": "NAy+0M15JNVEBb8Tny6t7j3lKqTnsAMjoBB6LJ+C370=",
- "usagesDigest": "weZLGEpNa+fTJZ9CEljWxpN3/kuPzj/ULgebzOt2h4g=",
+ "usagesDigest": "g9Ur6X6qhf9a8MmY9qXU/jFjkyk/aZVBegI0yVMF0z4=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"androidsdk": {
- "bzlFile": "@@rules_android~//rules/android_sdk_repository:rule.bzl",
- "ruleClassName": "_android_sdk_repository",
+ "repoRuleId": "@@rules_android+//rules/android_sdk_repository:rule.bzl%_android_sdk_repository",
"attributes": {}
}
},
"recordedRepoMappingEntries": []
}
},
- "@@rules_apple~//apple:apple.bzl%provisioning_profile_repository_extension": {
+ "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": {
"general": {
- "bzlTransitiveDigest": "69pHX7bLYS/DuYEt2ts3jHV2ut8C5uih4oI+b/tjJZk=",
- "usagesDigest": "cLx5XGjlbSDOpyA053y/jlr4GcaXFVTeHQic6eyG38E=",
+ "bzlTransitiveDigest": "DBjF8z9KnkAVkDon8si62fhfjje60FibbeIt+zE+BWw=",
+ "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"local_provisioning_profiles": {
- "bzlFile": "@@rules_apple~//apple/internal:local_provisioning_profiles.bzl",
- "ruleClassName": "provisioning_profile_repository",
+ "repoRuleId": "@@rules_apple+//apple/internal:local_provisioning_profiles.bzl%provisioning_profile_repository",
"attributes": {}
}
},
"recordedRepoMappingEntries": [
[
- "apple_support~",
+ "apple_support+",
"bazel_skylib",
- "bazel_skylib~"
+ "bazel_skylib+"
],
[
- "rules_apple~",
- "bazel_skylib",
- "bazel_skylib~"
+ "bazel_tools",
+ "rules_cc",
+ "rules_cc+"
],
[
- "rules_apple~",
+ "rules_apple+",
+ "bazel_skylib",
+ "bazel_skylib+"
+ ],
+ [
+ "rules_apple+",
"bazel_tools",
"bazel_tools"
],
[
- "rules_apple~",
+ "rules_apple+",
"build_bazel_apple_support",
- "apple_support~"
+ "apple_support+"
],
[
- "rules_apple~",
+ "rules_apple+",
"build_bazel_rules_swift",
- "rules_swift~"
+ "rules_swift+"
],
[
- "rules_swift~",
- "bazel_skylib",
- "bazel_skylib~"
- ],
- [
- "rules_swift~",
+ "rules_cc+",
"bazel_tools",
"bazel_tools"
],
[
- "rules_swift~",
+ "rules_cc+",
+ "cc_compatibility_proxy",
+ "rules_cc++compatibility_proxy+cc_compatibility_proxy"
+ ],
+ [
+ "rules_cc+",
+ "rules_cc",
+ "rules_cc+"
+ ],
+ [
+ "rules_cc++compatibility_proxy+cc_compatibility_proxy",
+ "rules_cc",
+ "rules_cc+"
+ ],
+ [
+ "rules_swift+",
+ "bazel_skylib",
+ "bazel_skylib+"
+ ],
+ [
+ "rules_swift+",
+ "bazel_tools",
+ "bazel_tools"
+ ],
+ [
+ "rules_swift+",
"build_bazel_apple_support",
- "apple_support~"
+ "apple_support+"
],
[
- "rules_swift~",
+ "rules_swift+",
"build_bazel_rules_swift",
- "rules_swift~"
+ "rules_swift+"
],
[
- "rules_swift~",
+ "rules_swift+",
"build_bazel_rules_swift_local_config",
- "rules_swift~~non_module_deps~build_bazel_rules_swift_local_config"
+ "rules_swift++non_module_deps+build_bazel_rules_swift_local_config"
]
]
}
},
- "@@rules_apple~//apple:extensions.bzl%non_module_deps": {
+ "@@rules_apple+//apple:extensions.bzl%non_module_deps": {
"general": {
- "bzlTransitiveDigest": "LJ3bhNqfW9y6MZFgtKQoPJyUMg/aEZ8H9QXSzK1VOBk=",
- "usagesDigest": "5FfEPy/Z0Y2V9RbdJRDabgADFdvlfIIrps/5XYOnMNI=",
+ "bzlTransitiveDigest": "4xtddSlWIQdtVNVuvOI62fJfQVETHZCVWFvYYwQHMR4=",
+ "usagesDigest": "M3VqFpeTCo4qmrNKGZw0dxBHvTYDrfV3cscGzlSAhQ4=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"xctestrunner": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/google/xctestrunner/archive/b7698df3d435b6491b4b4c0f9fc7a63fbed5e3a6.tar.gz"
@@ -455,24 +456,23 @@
},
"recordedRepoMappingEntries": [
[
- "rules_apple~",
+ "rules_apple+",
"bazel_tools",
"bazel_tools"
]
]
}
},
- "@@rules_kotlin~//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": {
+ "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": {
"general": {
- "bzlTransitiveDigest": "BSndOxBXlbe5qZf1NRxf828dpEK6tM429pCnaFoUFYs=",
- "usagesDigest": "Dg5Nih77FaLAipQB7wgwsAy553a3po0eNGQVTZKgCM8=",
+ "bzlTransitiveDigest": "HJP3wKFbPhB1mSYjJS6kbXEiP+OQxvsBdqpvyJN6I3s=",
+ "usagesDigest": "qTwqmKKUfWcPdvM0waG+CPWrxsbeAWVeUxavm7tEk9E=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"com_github_jetbrains_kotlin_git": {
- "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:compiler.bzl",
- "ruleClassName": "kotlin_compiler_git_repository",
+ "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository",
"attributes": {
"urls": [
"https://github.com/JetBrains/kotlin/releases/download/v2.1.0/kotlin-compiler-2.1.0.zip"
@@ -481,16 +481,14 @@
}
},
"com_github_jetbrains_kotlin": {
- "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:compiler.bzl",
- "ruleClassName": "kotlin_capabilities_repository",
+ "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_capabilities_repository",
"attributes": {
"git_repository_name": "com_github_jetbrains_kotlin_git",
"compiler_version": "2.1.0"
}
},
"com_github_google_ksp": {
- "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:ksp.bzl",
- "ruleClassName": "ksp_compiler_plugin_repository",
+ "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:ksp.bzl%ksp_compiler_plugin_repository",
"attributes": {
"urls": [
"https://github.com/google/ksp/releases/download/2.1.0-1.0.28/artifacts.zip"
@@ -500,8 +498,7 @@
}
},
"com_github_pinterest_ktlint": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_file",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file",
"attributes": {
"sha256": "a9f923be58fbd32670a17f0b729b1df804af882fa57402165741cb26e5440ca1",
"urls": [
@@ -511,8 +508,7 @@
}
},
"kotlinx_serialization_core_jvm": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_jar",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar",
"attributes": {
"sha256": "29c821a8d4e25cbfe4f2ce96cdd4526f61f8f4e69a135f9612a34a81d93b65f1",
"urls": [
@@ -521,8 +517,7 @@
}
},
"kotlinx_serialization_json": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_jar",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar",
"attributes": {
"sha256": "8c0016890a79ab5980dd520a5ab1a6738023c29aa3b6437c482e0e5fdc06dab1",
"urls": [
@@ -531,8 +526,7 @@
}
},
"kotlinx_serialization_json_jvm": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_jar",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar",
"attributes": {
"sha256": "d3234179bcff1886d53d67c11eca47f7f3cf7b63c349d16965f6db51b7f3dd9a",
"urls": [
@@ -543,32 +537,30 @@
},
"recordedRepoMappingEntries": [
[
- "rules_kotlin~",
+ "rules_kotlin+",
"bazel_tools",
"bazel_tools"
]
]
}
},
- "@@rules_python~//python/extensions:config.bzl%config": {
+ "@@rules_python+//python/extensions:config.bzl%config": {
"general": {
- "bzlTransitiveDigest": "9SmjaE1bQpi4boSnT3zl6a9czyENO/gaJA8KoOYGT3A=",
- "usagesDigest": "H5SPFKbiIGGkB9Ekcs4uulesdMf/zbnhuya1mxJ8kGQ=",
+ "bzlTransitiveDigest": "TRGIl0CDmorwyNiblOYyhWuyKzi/kWFHT2uIofq7o9Y=",
+ "usagesDigest": "tIEieEA/gbsjNF3L/Oouyg6UdqGOVxFsPqBjFxkTAKM=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"rules_python_internal": {
- "bzlFile": "@@rules_python~//python/private:internal_config_repo.bzl",
- "ruleClassName": "internal_config_repo",
+ "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo",
"attributes": {
"transition_setting_generators": {},
"transition_settings": []
}
},
"pypi__build": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/e2/03/f3c8ba0a6b6e30d7d18c40faab90807c9bb5e9a1e3b2fe2008af624a9c97/build-1.2.1-py3-none-any.whl",
"sha256": "75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4",
@@ -577,8 +569,7 @@
}
},
"pypi__click": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl",
"sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
@@ -587,8 +578,7 @@
}
},
"pypi__colorama": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",
"sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6",
@@ -597,8 +587,7 @@
}
},
"pypi__importlib_metadata": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl",
"sha256": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570",
@@ -607,8 +596,7 @@
}
},
"pypi__installer": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl",
"sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53",
@@ -617,8 +605,7 @@
}
},
"pypi__more_itertools": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl",
"sha256": "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684",
@@ -627,8 +614,7 @@
}
},
"pypi__packaging": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl",
"sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5",
@@ -637,8 +623,7 @@
}
},
"pypi__pep517": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/25/6e/ca4a5434eb0e502210f591b97537d322546e4833dcb4d470a48c375c5540/pep517-0.13.1-py3-none-any.whl",
"sha256": "31b206f67165b3536dd577c5c3f1518e8fbaf38cbc57efff8369a392feff1721",
@@ -647,8 +632,7 @@
}
},
"pypi__pip": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl",
"sha256": "ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc",
@@ -657,8 +641,7 @@
}
},
"pypi__pip_tools": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/0d/dc/38f4ce065e92c66f058ea7a368a9c5de4e702272b479c0992059f7693941/pip_tools-7.4.1-py3-none-any.whl",
"sha256": "4c690e5fbae2f21e87843e89c26191f0d9454f362d8acdbd695716493ec8b3a9",
@@ -667,8 +650,7 @@
}
},
"pypi__pyproject_hooks": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/ae/f3/431b9d5fe7d14af7a32340792ef43b8a714e7726f1d7b69cc4e8e7a3f1d7/pyproject_hooks-1.1.0-py3-none-any.whl",
"sha256": "7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2",
@@ -677,8 +659,7 @@
}
},
"pypi__setuptools": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/90/99/158ad0609729111163fc1f674a5a42f2605371a4cf036d0441070e2f7455/setuptools-78.1.1-py3-none-any.whl",
"sha256": "c3a9c4211ff4c309edb8b8c4f1cbfa7ae324c4ba9f91ff254e3d305b9fd54561",
@@ -687,8 +668,7 @@
}
},
"pypi__tomli": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
"sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
@@ -697,8 +677,7 @@
}
},
"pypi__wheel": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl",
"sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81",
@@ -707,8 +686,7 @@
}
},
"pypi__zipp": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"url": "https://files.pythonhosted.org/packages/da/55/a03fd7240714916507e1fcf7ae355bd9d9ed2e6db492595f1a67f61681be/zipp-3.18.2-py3-none-any.whl",
"sha256": "dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e",
@@ -719,106 +697,105 @@
},
"recordedRepoMappingEntries": [
[
- "rules_python~",
+ "rules_python+",
"bazel_tools",
"bazel_tools"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__build",
- "rules_python~~config~pypi__build"
+ "rules_python++config+pypi__build"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__click",
- "rules_python~~config~pypi__click"
+ "rules_python++config+pypi__click"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__colorama",
- "rules_python~~config~pypi__colorama"
+ "rules_python++config+pypi__colorama"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__importlib_metadata",
- "rules_python~~config~pypi__importlib_metadata"
+ "rules_python++config+pypi__importlib_metadata"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__installer",
- "rules_python~~config~pypi__installer"
+ "rules_python++config+pypi__installer"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__more_itertools",
- "rules_python~~config~pypi__more_itertools"
+ "rules_python++config+pypi__more_itertools"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__packaging",
- "rules_python~~config~pypi__packaging"
+ "rules_python++config+pypi__packaging"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__pep517",
- "rules_python~~config~pypi__pep517"
+ "rules_python++config+pypi__pep517"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__pip",
- "rules_python~~config~pypi__pip"
+ "rules_python++config+pypi__pip"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__pip_tools",
- "rules_python~~config~pypi__pip_tools"
+ "rules_python++config+pypi__pip_tools"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__pyproject_hooks",
- "rules_python~~config~pypi__pyproject_hooks"
+ "rules_python++config+pypi__pyproject_hooks"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__setuptools",
- "rules_python~~config~pypi__setuptools"
+ "rules_python++config+pypi__setuptools"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__tomli",
- "rules_python~~config~pypi__tomli"
+ "rules_python++config+pypi__tomli"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__wheel",
- "rules_python~~config~pypi__wheel"
+ "rules_python++config+pypi__wheel"
],
[
- "rules_python~",
+ "rules_python+",
"pypi__zipp",
- "rules_python~~config~pypi__zipp"
+ "rules_python++config+pypi__zipp"
]
]
}
},
- "@@rules_python~//python/uv:uv.bzl%uv": {
+ "@@rules_python+//python/uv:uv.bzl%uv": {
"general": {
- "bzlTransitiveDigest": "K6zoA/u57+d21o50BApale3BrKDIB1vWM6q455k772s=",
- "usagesDigest": "QbiEntDA7o3VHv3zic+bE19viZjQqOnBvRj10uCrXQo=",
+ "bzlTransitiveDigest": "ijW9KS7qsIY+yBVvJ+Nr1mzwQox09j13DnE3iIwaeTM=",
+ "usagesDigest": "s63+dBGiTSbvuV/QBtGNrbYox+e7K5QXThW1NgBreis=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"uv": {
- "bzlFile": "@@rules_python~//python/uv/private:uv_toolchains_repo.bzl",
- "ruleClassName": "uv_toolchains_repo",
+ "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo",
"attributes": {
- "toolchain_type": "'@@rules_python~//python/uv:uv_toolchain_type'",
+ "toolchain_type": "'@@rules_python+//python/uv:uv_toolchain_type'",
"toolchain_names": [
"none"
],
"toolchain_implementations": {
- "none": "'@@rules_python~//python:none'"
+ "none": "'@@rules_python+//python:none'"
},
"toolchain_compatible_with": {
"none": [
@@ -831,163 +808,151 @@
},
"recordedRepoMappingEntries": [
[
- "rules_python~",
+ "rules_python+",
"bazel_tools",
"bazel_tools"
],
[
- "rules_python~",
+ "rules_python+",
"platforms",
"platforms"
]
]
}
},
- "@@rules_swift~//swift:extensions.bzl%non_module_deps": {
+ "@@rules_swift+//swift:extensions.bzl%non_module_deps": {
"general": {
- "bzlTransitiveDigest": "vhXfCi07IAmWf5hLHcxh5xCtTwvEGrmMkOavEMD5pzs=",
- "usagesDigest": "/dVEtCLqIAaLXjfRXsJupTS9pTgmYVN/tFdJlGgE5NA=",
+ "bzlTransitiveDigest": "6axDCXf6fQoPav8hojnUBxGA0FAMqLvtpC1cRsisCdw=",
+ "usagesDigest": "mhACFnrdMv9Wi0Mt67bxocJqviRkDSV+Ee5Mqdj5akA=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"com_github_apple_swift_protobuf": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-protobuf/archive/1.20.2.tar.gz"
],
"sha256": "3fb50bd4d293337f202d917b6ada22f9548a0a0aed9d9a4d791e6fbd8a246ebb",
"strip_prefix": "swift-protobuf-1.20.2/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_protobuf/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_protobuf/BUILD.overlay"
}
},
"com_github_grpc_grpc_swift": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz"
],
"sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5",
"strip_prefix": "grpc-swift-1.16.0/",
- "build_file": "@@rules_swift~//third_party:com_github_grpc_grpc_swift/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_grpc_grpc_swift/BUILD.overlay"
}
},
"com_github_apple_swift_docc_symbolkit": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-docc-symbolkit/archive/refs/tags/swift-5.10-RELEASE.tar.gz"
],
"sha256": "de1d4b6940468ddb53b89df7aa1a81323b9712775b0e33e8254fa0f6f7469a97",
"strip_prefix": "swift-docc-symbolkit-swift-5.10-RELEASE",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_docc_symbolkit/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_docc_symbolkit/BUILD.overlay"
}
},
"com_github_apple_swift_nio": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-nio/archive/2.42.0.tar.gz"
],
"sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0",
"strip_prefix": "swift-nio-2.42.0/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio/BUILD.overlay"
}
},
"com_github_apple_swift_nio_http2": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-nio-http2/archive/1.26.0.tar.gz"
],
"sha256": "f0edfc9d6a7be1d587e5b403f2d04264bdfae59aac1d74f7d974a9022c6d2b25",
"strip_prefix": "swift-nio-http2-1.26.0/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_http2/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_http2/BUILD.overlay"
}
},
"com_github_apple_swift_nio_transport_services": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-nio-transport-services/archive/1.15.0.tar.gz"
],
"sha256": "f3498dafa633751a52b9b7f741f7ac30c42bcbeb3b9edca6d447e0da8e693262",
"strip_prefix": "swift-nio-transport-services-1.15.0/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay"
}
},
"com_github_apple_swift_nio_extras": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz"
],
"sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b",
"strip_prefix": "swift-nio-extras-1.4.0/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_extras/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_extras/BUILD.overlay"
}
},
"com_github_apple_swift_log": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-log/archive/1.4.4.tar.gz"
],
"sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0",
"strip_prefix": "swift-log-1.4.4/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_log/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_log/BUILD.overlay"
}
},
"com_github_apple_swift_nio_ssl": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz"
],
"sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d",
"strip_prefix": "swift-nio-ssl-2.23.0/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay"
}
},
"com_github_apple_swift_collections": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-collections/archive/1.0.4.tar.gz"
],
"sha256": "d9e4c8a91c60fb9c92a04caccbb10ded42f4cb47b26a212bc6b39cc390a4b096",
"strip_prefix": "swift-collections-1.0.4/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_collections/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_collections/BUILD.overlay"
}
},
"com_github_apple_swift_atomics": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
"urls": [
"https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz"
],
"sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb",
"strip_prefix": "swift-atomics-1.1.0/",
- "build_file": "@@rules_swift~//third_party:com_github_apple_swift_atomics/BUILD.overlay"
+ "build_file": "@@rules_swift+//third_party:com_github_apple_swift_atomics/BUILD.overlay"
}
},
"build_bazel_rules_swift_index_import": {
- "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
- "ruleClassName": "http_archive",
+ "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive",
"attributes": {
- "build_file": "@@rules_swift~//third_party:build_bazel_rules_swift_index_import/BUILD.overlay",
+ "build_file": "@@rules_swift+//third_party:build_bazel_rules_swift_index_import/BUILD.overlay",
"canonical_id": "index-import-5.8",
"urls": [
"https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz"
@@ -996,24 +961,24 @@
}
},
"build_bazel_rules_swift_local_config": {
- "bzlFile": "@@rules_swift~//swift/internal:swift_autoconfiguration.bzl",
- "ruleClassName": "swift_autoconfiguration",
+ "repoRuleId": "@@rules_swift+//swift/internal:swift_autoconfiguration.bzl%swift_autoconfiguration",
"attributes": {}
}
},
"recordedRepoMappingEntries": [
[
- "rules_swift~",
+ "rules_swift+",
"bazel_tools",
"bazel_tools"
],
[
- "rules_swift~",
+ "rules_swift+",
"build_bazel_rules_swift",
- "rules_swift~"
+ "rules_swift+"
]
]
}
}
- }
+ },
+ "facts": {}
}
diff --git a/polygerrit-ui/web-test-runner.config.mjs b/polygerrit-ui/web-test-runner.config.mjs
index 4c4f168..893d0fb 100644
--- a/polygerrit-ui/web-test-runner.config.mjs
+++ b/polygerrit-ui/web-test-runner.config.mjs
@@ -26,17 +26,20 @@
}
function getModulesDir() {
- return runUnderBazel
- ? [
- path.join(process.cwd(), 'external/plugins_npm/node_modules'),
- path.join(process.cwd(), 'external/ui_npm/node_modules'),
- path.join(process.cwd(), 'external/ui_dev_npm/node_modules'),
- ]
- : [
+ if (!runUnderBazel) {
+ return [
path.join(process.cwd(), 'plugins/node_modules'),
path.join(process.cwd(), 'app/node_modules'),
path.join(process.cwd(), 'node_modules'),
];
+ }
+
+ const runfilesRoot = path.dirname(process.cwd());
+ return [
+ path.join(runfilesRoot, 'plugins_npm', 'node_modules'),
+ path.join(runfilesRoot, 'ui_npm', 'node_modules'),
+ path.join(runfilesRoot, 'ui_dev_npm', 'node_modules'),
+ ];
}
function getArgValue(flag) {
diff --git a/polygerrit-ui/web_test_runner.sh b/polygerrit-ui/web_test_runner.sh
index c0c7eb6..d8eda30 100755
--- a/polygerrit-ui/web_test_runner.sh
+++ b/polygerrit-ui/web_test_runner.sh
@@ -1,3 +1,3 @@
#!/bin/bash
set -euo pipefail
-./$1 --config $2
+./"$1" --config "$2" "${@:3}"
diff --git a/prologtests/examples/BUILD b/prologtests/examples/BUILD
index ebf2c68..83c98e2 100644
--- a/prologtests/examples/BUILD
+++ b/prologtests/examples/BUILD
@@ -3,10 +3,15 @@
sh_test(
name = "test_examples",
srcs = ["run.sh"],
- args = ["$(JAVA)"],
+ args = [
+ "$(JAVABASE)",
+ "$(rlocationpath //:gerrit.war)",
+ ],
data = glob(["*.pl"]) + [
"//:gerrit.war",
+ "@bazel_tools//tools/bash/runfiles",
"@bazel_tools//tools/jdk:current_host_java_runtime",
],
toolchains = ["@bazel_tools//tools/jdk:current_host_java_runtime"],
+ use_bash_launcher = True,
)
diff --git a/prologtests/examples/run.sh b/prologtests/examples/run.sh
index b2883ebe..ea2d515 100755
--- a/prologtests/examples/run.sh
+++ b/prologtests/examples/run.sh
@@ -1,34 +1,48 @@
#!/bin/bash
-# TODO(davido): Figure out what to do if running alone and not invoked from bazel
-# $1 is equal to the $(JAVABASE)/bin/java make variable
-JAVA=$1
+set -u
-# Checks whether or not the $1 is starting with a slash: '/' and thus considered to be
-# an absolute path. If it is, then it is left as is, if it isn't then "$PWD/ is prepended
-# (in sh_test case it is relative and thus the runfiles directory is prepended).
-[[ "$JAVA" =~ ^(/|[^/]+$) ]] || JAVA="$PWD/$JAVA"
+# TODO(davido): Figure out what to do if running alone and not invoked from bazel.
+
+# $1 may be either $(JAVA) or $(JAVABASE)
+JAVA="$1"
+
+if [[ -n "${TEST_SRCDIR:-}" ]]; then
+ case "$JAVA" in
+ external/*)
+ JAVA="${TEST_SRCDIR}/${JAVA#external/}"
+ ;;
+ /*)
+ if [[ "$JAVA" == "${TEST_SRCDIR}/_main/external/"* ]]; then
+ JAVA="${TEST_SRCDIR}/${JAVA#"${TEST_SRCDIR}/_main/external/"}"
+ fi
+ ;;
+ *)
+ [[ "$JAVA" == */* ]] && JAVA="$PWD/$JAVA"
+ ;;
+ esac
+else
+ [[ "$JAVA" =~ ^(/|[^/]+$) ]] || JAVA="$PWD/$JAVA"
+fi
+
+# If the resolved path is a Java home directory, use its bin/java
+if [[ -d "$JAVA" ]]; then
+ JAVA="$JAVA/bin/java"
+fi
TESTS="t1 t2 t3"
-# Note that both t1.pl and t2.pl test code in rules.pl.
-# Unit tests are usually longer than the tested code.
-# So it is common to test one source file with multiple
-# unit test files.
-
LF=$'\n'
PASS=""
FAIL=""
-echo "#### TEST_SRCDIR = ${TEST_SRCDIR}"
-
-if [ "${TEST_SRCDIR}" == "" ]; then
- # Assume running alone
+if [[ -z "${TEST_SRCDIR:-}" ]]; then
+ # Assume running standalone.
GERRIT_WAR="../../bazel-bin/gerrit.war"
SRCDIR="."
else
- # Assume running from bazel
- GERRIT_WAR=`pwd`/gerrit.war
+ # Assume running from bazel.
+ GERRIT_WAR="$(pwd)/gerrit.war"
SRCDIR="prologtests/examples"
fi
@@ -37,35 +51,26 @@
/bin/mkdir -p /tmp/gerrit
export GERRIT_TMP=/tmp/gerrit
-for T in $TESTS
-do
+for T in $TESTS; do
+ pushd "$SRCDIR" >/dev/null
- pushd $SRCDIR
-
- # Unit tests do not need to define clauses in packages.
- # Use one prolog-shell per unit test, to avoid name collision.
echo "### Running test ${T}.pl"
- echo "[$T]." | "${JAVA}" -jar ${GERRIT_WAR} prolog-shell -q -s load.pl
+ echo "[$T]." | "$JAVA" -jar "$GERRIT_WAR" prolog-shell -q -s load.pl
+ RC=$?
- if [ "x$?" != "x0" ]; then
+ if [[ "$RC" != "0" ]]; then
echo "### Test ${T}.pl failed."
FAIL="${FAIL}${LF}FAIL: Test ${T}.pl"
else
PASS="${PASS}${LF}PASS: Test ${T}.pl"
fi
- popd
-
- # java -jar ../../bazel-bin/gerrit.war prolog-shell -s $T < /dev/null
- # Calling prolog-shell with -s flag works for small files,
- # but got run-time exception with t3.pl.
- # com.googlecode.prolog_cafe.exceptions.ReductionLimitException:
- # exceeded reduction limit of 1048576
+ popd >/dev/null
done
echo "$PASS"
-if [ "$FAIL" != "" ]; then
+if [[ -n "$FAIL" ]]; then
echo "$FAIL"
exit 1
fi
diff --git a/tools/bzl/pkg_war.bzl b/tools/bzl/pkg_war.bzl
index 2e91c9a..62c74df 100644
--- a/tools/bzl/pkg_war.bzl
+++ b/tools/bzl/pkg_war.bzl
@@ -137,6 +137,10 @@
for pfx in EXCLUDE_WAR_JAR_PREFIXES:
if jar_name.startswith(pfx):
return True
+
+ # Bazel 8: skip protobuf runtime shards (duplicate protobuf-java)
+ if jar_name in ("libcore.jar", "liblite_runtime_only.jar"):
+ return True
return False
def is_third_party_jar_id(jar_id):