diff --git a/.bazelignore b/.bazelignore index c7ca8d09784be38d09265f6af319ceeec1a5dea8..a8ed8619dba2ed59b5672eb61ff1f6ef95b837be 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1 +1,2 @@ e2e +examples diff --git a/.gitignore b/.gitignore index bd4b2daeefcb6dde3aa505980dde029a331bffd4..3c604b3b26f79e1c45d58639d8fbe17fafd045f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -/.cache/ -/bazel-* -/.bazelrc.user +.cache/ +bazel-* +.bazelrc.user /node_modules/ /public/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cd8ae8e003b56b1d4124caf6baddc4fa4d5798ba..7a759064d313f15ec663ed72ea6ac2aefa7b2fbc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,10 +34,10 @@ default: .base: extends: .job variables: - # FIXME: Only exclude `//qemu` when `ROOT` is `e2e` - TARGET: //... -//qemu/... + TARGET: //... + EXCLUDE_QUERY: "filter(//toolchain/config/qemu:, tests(...))" script: - - cd "${ROOT}"; bazelisk test --config="${CONFIG}" -- ${TARGET} + - cd "${ROOT}"; bazelisk test --config="${CONFIG}" -- ${TARGET} $(bazelisk query "${EXCLUDE_QUERY}" | sed 's/^/-/') qemu: extends: .base @@ -46,7 +46,8 @@ qemu: variables: ROOT: e2e CONFIG: local - TARGET: //qemu/... + TARGET: //toolchain/config/qemu/... + EXCLUDE_QUERY: "" tags: - arm64 - linux diff --git a/e2e/.gitignore b/e2e/.gitignore deleted file mode 100644 index 5ebc57e0bce74bc871a204562c042f63c35e4151..0000000000000000000000000000000000000000 --- a/e2e/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.cache -/bazel-bin -/bazel-testlogs -/bazel-e2e -/bazel-out -/.bazelrc.user diff --git a/e2e/MODULE.bazel b/e2e/MODULE.bazel index 2b3bc9facff9954969b55457c9c7566f1dbac30f..c9d71ebeaf40ee500d7ae9c515c386475a8a1e7c 100644 --- a/e2e/MODULE.bazel +++ b/e2e/MODULE.bazel @@ -39,12 +39,3 @@ dev.toolchain( ignore_root_user_error = True, python_version = "3.11", ) - -# Download PyPI dependencies -pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") -pip.parse( - hub_name = "pip", - python_version = "3.11", - requirements_lock = "//python:requirements.txt", -) -use_repo(pip, "pip") diff --git a/e2e/binary/BUILD.bazel b/e2e/binary/BUILD.bazel new file mode 100644 index 0000000000000000000000000000000000000000..5c4716cd83ed315658c5c66e4c9f3e0c3e1033b1 --- /dev/null +++ b/e2e/binary/BUILD.bazel @@ -0,0 +1,32 @@ +load("@bazel_skylib//rules:write_file.bzl", "write_file") +load("@rules_diff//diff/file/test:defs.bzl", "diff_file_test") +load("@rules_labgrid//labgrid/binary:defs.bzl", "labgrid_binary") + +labgrid_binary( + name = "printenv", + src = "@ape//ape:printenv", + platform = "@rules_labgrid//labgrid/platform:localhost", +) + +genrule( + name = "actual", + outs = ["stdout.actual"], + cmd = "$(location :printenv) LG_STATE > $@", + tools = [":printenv"], +) + +write_file( + name = "expected", + out = "stdout.expected", + content = [ + "shell", + "", + ], +) + +diff_file_test( + name = "binary", + size = "small", + a = "stdout.actual", + b = "stdout.expected", +) diff --git a/e2e/flag/device/BUILD.bazel b/e2e/flag/device/BUILD.bazel new file mode 100644 index 0000000000000000000000000000000000000000..2ec1185ab3a7f10a39ffbcef30f7245ef28d3c3f --- /dev/null +++ b/e2e/flag/device/BUILD.bazel @@ -0,0 +1,29 @@ +load("@bazel_skylib//rules:write_file.bzl", "write_file") +load("@rules_diff//diff/file/test:defs.bzl", "diff_file_test") + +genrule( + name = "actual", + outs = ["stdout.actual"], + cmd = "echo -n $(NETWORK_ADDRESS) $(NETWORK_USERNAME) $(NETWORK_PASSWORD) $(NETWORK_PORT) > $@", + toolchains = [ + "@rules_labgrid//labgrid/flag/device:address", + "@rules_labgrid//labgrid/flag/device:username", + "@rules_labgrid//labgrid/flag/device:password", + "@rules_labgrid//labgrid/flag/device:port", + ], +) + +write_file( + name = "expected", + out = "stdout.expected", + content = ["localhost root root 22"], + is_executable = False, +) + +diff_file_test( + name = "defaults", + size = "small", + a = ":stdout.actual", + b = ":stdout.expected", + tags = ["small"], +) diff --git a/e2e/genrule/BUILD.bazel b/e2e/genrule/BUILD.bazel new file mode 100644 index 0000000000000000000000000000000000000000..46b3699f766870ba48802ab6f5a73fb06ee4195a --- /dev/null +++ b/e2e/genrule/BUILD.bazel @@ -0,0 +1,24 @@ +load("@bazel_skylib//rules:write_file.bzl", "write_file") +load("@rules_diff//diff/file/test:defs.bzl", "diff_file_test") +load("@rules_labgrid//labgrid/genrule:defs.bzl", "labgrid_genrule") + +labgrid_genrule( + name = "actual", + outs = ["stdout.actual"], + cmd = "echo -n $LG_STATE > $@", + platform = "@rules_labgrid//labgrid/platform:localhost", +) + +write_file( + name = "expected", + out = "stdout.expected", + content = ["shell"], + is_executable = False, +) + +diff_file_test( + name = "genrule", + size = "small", + a = ":stdout.actual", + b = ":stdout.expected", +) diff --git a/e2e/localhost/BUILD.bazel b/e2e/run/BUILD.bazel similarity index 59% rename from e2e/localhost/BUILD.bazel rename to e2e/run/BUILD.bazel index 31622fecc8fe2d194a63901d860af8de652559e6..139415376b4d5b997a10f5b17464f03a38baf3ea 100644 --- a/e2e/localhost/BUILD.bazel +++ b/e2e/run/BUILD.bazel @@ -1,9 +1,6 @@ load("@bazel_skylib//rules:write_file.bzl", "write_file") load("@rules_diff//diff/file/test:defs.bzl", "diff_file_test") -load("@rules_labgrid//labgrid/binary:defs.bzl", "labgrid_binary") load("@rules_labgrid//labgrid/genrule:defs.bzl", "labgrid_genrule") -load("@rules_labgrid//labgrid/run/binary:defs.bzl", "labgrid_run_binary") -load("@rules_labgrid//labgrid/test:defs.bzl", "labgrid_test") load("@rules_python//python:defs.bzl", "py_binary") labgrid_genrule( @@ -24,7 +21,7 @@ py_binary( labgrid_genrule( name = "hello-with-runfiles", srcs = [":echo-with-runfiles"], - outs = ["run-with-runfiles.actual"], + outs = ["runfiles.actual"], cmd = "$(location @rules_labgrid//labgrid/run) $(locations :echo-with-runfiles) world > $@", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], @@ -34,7 +31,7 @@ labgrid_genrule( name = "hello-and-transfer-file-back", # We need Bash to redirect to a file on the target srcs = ["@ape//ape:bash"], - outs = ["run-and-transfer-file-back.actual"], + outs = ["transfer-file-back.actual"], cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$@ $(location @ape//ape:bash) -c 'echo world > output.txt'", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], @@ -44,8 +41,8 @@ labgrid_genrule( name = "hello-and-transfer-to-ruledir", # We need Bash to redirect to a file on the target srcs = ["@ape//ape:bash"], - outs = ["run-and-transfer-to-ruledir.actual"], - cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$(RULEDIR)/run-and-transfer-to-ruledir.actual $(location @ape//ape:bash) -c 'echo world > output.txt'", + outs = ["transfer-to-ruledir.actual"], + cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$(RULEDIR)/transfer-to-ruledir.actual $(location @ape//ape:bash) -c 'echo world > output.txt'", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], ) @@ -54,8 +51,8 @@ labgrid_genrule( name = "hello-and-transfer-to-d", # We need Bash to redirect to a file on the target srcs = ["@ape//ape:bash"], - outs = ["run-and-transfer-to-d.actual"], - cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$D/run-and-transfer-to-d.actual $(location @ape//ape:bash) -c 'echo world > output.txt'", + outs = ["transfer-to-d.actual"], + cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$D/transfer-to-d.actual $(location @ape//ape:bash) -c 'echo world > output.txt'", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], ) @@ -64,19 +61,24 @@ labgrid_genrule( name = "hello-and-transfer-to-nested-d", # We need Bash to redirect to a file on the target srcs = ["@ape//ape:bash"], - outs = ["nested/run-and-transfer-to-d.actual"], - cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$D/run-and-transfer-to-d.actual $(location @ape//ape:bash) -c 'echo world > output.txt'", + outs = ["nested/transfer-to-d.actual"], + cmd = "$(location @rules_labgrid//labgrid/run) --get output.txt:$D/transfer-to-d.actual $(location @ape//ape:bash) -c 'echo world > output.txt'", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], ) +alias( + name = "transfer-to-nested-d.actual", + actual = "nested/transfer-to-d.actual", +) + labgrid_genrule( name = "hello-and-put-file-with-remote", srcs = [ ":hello.txt", "@ape//ape:cat", ], - outs = ["run-and-put-file-with-remote.actual"], + outs = ["put-file-with-remote.actual"], cmd = "$(location @rules_labgrid//labgrid/run) --put $(location :hello.txt):hello.txt $(location @ape//ape:cat) hello.txt > $@", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], @@ -88,39 +90,28 @@ labgrid_genrule( ":hello.txt", "@ape//ape:cat", ], - outs = ["run-and-put-file-without-remote.actual"], + outs = ["put-file-without-remote.actual"], cmd = "$(location @rules_labgrid//labgrid/run) --put $(location :hello.txt) $(location @ape//ape:cat) $(location :hello.txt) > $@", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], ) -alias( - name = "run-and-transfer-to-nested-d.actual", - actual = "nested/run-and-transfer-to-d.actual", -) - labgrid_genrule( name = "hello-with-env", srcs = ["@ape//ape:printenv"], - outs = ["run-with-env.actual"], + outs = ["env.actual"], cmd = "$(location @rules_labgrid//labgrid/run) --env HELLO=world -- $(location @ape//ape:printenv) HELLO > $@", platform = "@rules_labgrid//labgrid/platform:localhost", tools = ["@rules_labgrid//labgrid/run"], ) -labgrid_run_binary( - name = "hello-binary", - srcs = ["@ape//ape:bash"], - outs = ["run-binary.actual"], - args = [ - "--get", - "output.txt:$(location run-binary.actual)", - "$(location @ape//ape:bash)", - "-c", - "echo world > output.txt", +write_file( + name = "expected", + out = ":hello.txt", + content = [ + "world", + "", ], - platform = "@rules_labgrid//labgrid/platform:localhost", - tool = "@rules_labgrid//labgrid/run", ) [ @@ -132,57 +123,13 @@ labgrid_run_binary( ) for name in ( "run", - "run-with-runfiles", - "run-and-transfer-file-back", - "run-and-transfer-to-ruledir", - "run-and-transfer-to-d", - "run-and-transfer-to-nested-d", - "run-and-put-file-without-remote", - "run-and-put-file-with-remote", - "run-with-env", - "run-binary", + "runfiles", + "transfer-file-back", + "transfer-to-ruledir", + "transfer-to-d", + "transfer-to-nested-d", + "put-file-with-remote", + "put-file-without-remote", + "env", ) ] - -py_binary( - name = "inner", - srcs = ["test_hello.py"], - data = [":hello.txt"], - main = "test_hello.py", - deps = ["@rules_python//python/runfiles"], -) - -labgrid_test( - name = "test", - src = ":inner", - platform = "@rules_labgrid//labgrid/platform:localhost", -) - -labgrid_binary( - name = "printenv", - src = "@ape//ape:printenv", - platform = "@rules_labgrid//labgrid/platform:localhost", -) - -genrule( - name = "lg-state", - outs = ["binary-printenv.actual"], - cmd = "$(location :printenv) LG_STATE > $@", - tools = [":printenv"], -) - -write_file( - name = "binary-printenv.expected", - out = "out.txt", - content = [ - "shell", - "", - ], -) - -diff_file_test( - name = "binary-printenv", - size = "small", - a = "binary-printenv.expected", - b = "binary-printenv.actual", -) diff --git a/e2e/run/binary/BUILD.bazel b/e2e/run/binary/BUILD.bazel new file mode 100644 index 0000000000000000000000000000000000000000..a66181f390bbda46679f9f44498384c1b8146b81 --- /dev/null +++ b/e2e/run/binary/BUILD.bazel @@ -0,0 +1,28 @@ +load("@bazel_skylib//rules:write_file.bzl", "write_file") +load("@rules_diff//diff/file/test:defs.bzl", "diff_file_test") +load("@rules_labgrid//labgrid/run/binary:defs.bzl", "labgrid_run_binary") + +labgrid_run_binary( + name = "actual", + outs = ["stdout.actual"], + args = [ + "-c", + "echo -n $LG_STATE > $(location :stdout.actual)", + ], + platform = "@rules_labgrid//labgrid/platform:localhost", + tool = "@ape//ape:bash", +) + +write_file( + name = "expected", + out = "stdout.expected", + content = ["shell"], + is_executable = False, +) + +diff_file_test( + name = "binary", + size = "small", + a = ":stdout.actual", + b = ":stdout.expected", +) diff --git a/e2e/localhost/echo.py b/e2e/run/echo.py similarity index 100% rename from e2e/localhost/echo.py rename to e2e/run/echo.py diff --git a/e2e/test/BUILD.bazel b/e2e/test/BUILD.bazel new file mode 100644 index 0000000000000000000000000000000000000000..161fc7b0f5c2db9d9700099d00553bb4ee223fd0 --- /dev/null +++ b/e2e/test/BUILD.bazel @@ -0,0 +1,16 @@ +load("@rules_labgrid//labgrid/test:defs.bzl", "labgrid_test") +load("@rules_python//python:defs.bzl", "py_binary") + +py_binary( + name = "inner", + srcs = ["hello.py"], + data = [":hello.txt"], + main = "hello.py", + deps = ["@rules_python//python/runfiles"], +) + +labgrid_test( + name = "test", + src = ":inner", + platform = "@rules_labgrid//labgrid/platform:localhost", +) diff --git a/e2e/localhost/test_hello.py b/e2e/test/hello.py similarity index 77% rename from e2e/localhost/test_hello.py rename to e2e/test/hello.py index 6a535c8c26c7f267029087dba62ba954a0c47697..e1d4418463426ffc06fb8fa7986b50ce4305b701 100644 --- a/e2e/localhost/test_hello.py +++ b/e2e/test/hello.py @@ -11,7 +11,7 @@ def _runfile(path): class HelloTestCase(unittest.TestCase): def test(self): - self.assertEqual(_runfile("_main/localhost/hello.txt").rstrip(), "world") + self.assertEqual(_runfile("_main/test/hello.txt").rstrip(), "world") if __name__ == "__main__": diff --git a/e2e/localhost/hello.txt b/e2e/test/hello.txt similarity index 100% rename from e2e/localhost/hello.txt rename to e2e/test/hello.txt diff --git a/e2e/qemu/BUILD.bazel b/e2e/toolchain/config/qemu/BUILD.bazel similarity index 83% rename from e2e/qemu/BUILD.bazel rename to e2e/toolchain/config/qemu/BUILD.bazel index 8fe645dee3a5fa1045b4fd75719f1139d07c5c05..fef73c43c0902bfb1bb773349203358f73ace33c 100644 --- a/e2e/qemu/BUILD.bazel +++ b/e2e/toolchain/config/qemu/BUILD.bazel @@ -27,16 +27,11 @@ CPUS = ("amd64", "arm64") for cpu in CPUS ] -test_suite( - name = "run", - tests = ["run-{}".format(cpu) for cpu in CPUS], -) - py_binary( name = "inner", - srcs = ["test_release.py"], + srcs = ["release.py"], data = [":release.txt"], - main = "test_release.py", + main = "release.py", deps = ["@rules_python//python/runfiles"], ) @@ -50,7 +45,13 @@ py_binary( for cpu in CPUS ] -test_suite( - name = "test", - tests = ["test-{}".format(cpu) for cpu in CPUS], -) +[ + test_suite( + name = cpu, + tests = ["{}-{}".format(name, cpu) for name in [ + "run", + "test", + ]], + ) + for cpu in CPUS +] diff --git a/e2e/qemu/test_release.py b/e2e/toolchain/config/qemu/release.py similarity index 72% rename from e2e/qemu/test_release.py rename to e2e/toolchain/config/qemu/release.py index 7bb5844e27f4d6fd52e72801f994906906641e39..1bf0399e58b594e74d005f0065b4c0fe0fadeb9e 100644 --- a/e2e/qemu/test_release.py +++ b/e2e/toolchain/config/qemu/release.py @@ -15,7 +15,9 @@ def _runfile(path): class ReleaseTestCase(unittest.TestCase): def test(self): - self.assertEqual(_cat("/etc/os-release"), _runfile("_main/qemu/release.txt")) + self.assertEqual( + _cat("/etc/os-release"), _runfile("_main/toolchain/config/qemu/release.txt") + ) if __name__ == "__main__": diff --git a/e2e/qemu/release.txt b/e2e/toolchain/config/qemu/release.txt similarity index 100% rename from e2e/qemu/release.txt rename to e2e/toolchain/config/qemu/release.txt diff --git a/examples/docker/.bazelrc b/examples/docker/.bazelrc new file mode 100644 index 0000000000000000000000000000000000000000..f9dfb58a83dc030b2f2ed7322ee4716af7d94113 --- /dev/null +++ b/examples/docker/.bazelrc @@ -0,0 +1,3 @@ +# `bzlmod` pre-release registries +common --registry https://bcr.bazel.build +common --registry=https://gitlab.arm.com/bazel/toolchain_utils/-/releases/v1.0.0-beta.15/downloads diff --git a/examples/docker/.bazelversion b/examples/docker/.bazelversion new file mode 100644 index 0000000000000000000000000000000000000000..ba7f754d0c33efc277ab296ee7d1cf6b084ba36b --- /dev/null +++ b/examples/docker/.bazelversion @@ -0,0 +1 @@ +7.4.0 diff --git a/e2e/docker/BUILD.bazel b/examples/docker/BUILD.bazel similarity index 91% rename from e2e/docker/BUILD.bazel rename to examples/docker/BUILD.bazel index 603581deec810ea4af206fefbdb6c36441c5a01c..2c5b2267efeb9810d024cd8cfad96b36f0fd25e3 100644 --- a/e2e/docker/BUILD.bazel +++ b/examples/docker/BUILD.bazel @@ -15,7 +15,7 @@ platform( name = "platform", constraint_values = [ ":docker", - "@toolchain_utils//toolchain/constraint/os:linux", + "@platforms//os:linux", ], parents = ["@local_config_platform//:host"], ) @@ -32,7 +32,7 @@ labgrid_config_toolchain( state = ":docker-state", target_compatible_with = [ ":docker", - "@toolchain_utils//toolchain/constraint/os:linux", + "@platforms//os:linux", ], deps = ["@pip//docker"], ) diff --git a/examples/docker/MODULE.bazel b/examples/docker/MODULE.bazel new file mode 100644 index 0000000000000000000000000000000000000000..0e6da15c433767d7b3251c4571cc84444d69df7f --- /dev/null +++ b/examples/docker/MODULE.bazel @@ -0,0 +1,47 @@ +module( + name = "e2e", + bazel_compatibility = [ + ">=7.0.0", + ], +) + +bazel_dep(name = "rules_python", version = "0.33.2") +bazel_dep(name = "rules_diff", version = "1.0.0-beta.3") +bazel_dep(name = "ape", version = "1.0.0-beta.12") +bazel_dep(name = "rules_labgrid") +local_path_override( + module_name = "rules_labgrid", + path = "../..", +) + +bazel_dep(name = "hermetic_cc_toolchain", version = "3.1.0", dev_dependency = True) + +register_toolchains("//...") + +# We need to pin to Python 3.11 +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +use_repo(python, "python_versions") + +# We have to avoid the `chmod`/`chown`/`id` unhermetic-ness +# TODO: remove this when `ignore_root_user_error` is hermetic +# https://github.com/bazelbuild/rules_python/issues/2016 +dev = use_extension( + "@rules_python//python/extensions:python.bzl", + "python", + dev_dependency = True, +) +dev.toolchain( + configure_coverage_tool = True, + # TODO: change the code to use Python for `chmod`/`id` + ignore_root_user_error = True, + python_version = "3.11", +) + +# Download PyPI dependencies +pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") +pip.parse( + hub_name = "pip", + python_version = "3.11", + requirements_lock = "//python:requirements.txt", +) +use_repo(pip, "pip") diff --git a/examples/docker/MODULE.bazel.lock b/examples/docker/MODULE.bazel.lock new file mode 100644 index 0000000000000000000000000000000000000000..b49f7a644026cd93ff860d966a946caf0478f6da --- /dev/null +++ b/examples/docker/MODULE.bazel.lock @@ -0,0 +1,742 @@ +{ + "lockFileVersion": 11, + "registryFileHashes": { + "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", + "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", + "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.2/MODULE.bazel": "73939767a4686cd9a520d16af5ab440071ed75cec1a876bf2fcfaf1f71987a16", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.2/source.json": "750d5e29326fb59cbe61116a7b803c8a1d0a7090a9c8ed89888d188e3c473fc7", + "https://bcr.bazel.build/modules/ape/1.0.0-beta.12/MODULE.bazel": "e75be27b37a2f7cf83dbeb497aeac93f8da9aa55fc2b35a9a1cb46db9b7f8885", + "https://bcr.bazel.build/modules/ape/1.0.0-beta.14/MODULE.bazel": "a57aea83a0c957cbe3caf0dbec6eb85c0a9eb9dfa99808a197a8ae11a50bc565", + "https://bcr.bazel.build/modules/ape/1.0.0-beta.14/source.json": "e1f55124e33498466e3ff43a15f9272e3204d7816ee81510b67a0fdc6bcb2574", + "https://bcr.bazel.build/modules/ape/1.0.0-beta.6/MODULE.bazel": "247bcdbc358206c37ce8bf1c850115002c6560570d96f9ac8a79dd810b18ea85", + "https://bcr.bazel.build/modules/ape/1.0.0-beta.7/MODULE.bazel": "cb8163d01ede65cb41bf1449d6e5091e6da8d927cf700103d9a0c48517f3c1bf", + "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/aspect_bazel_lib/2.7.0/MODULE.bazel": "2ee4360a135da51ec06ca49cc4310f5a4c2839118f38ea8417f7f2db56967285", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.4/MODULE.bazel": "ccc41028429f894b02fde7ef67d416cba3ba5084ed9ddb9bb6107aa82d118776", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.4/source.json": "9e20ebe57de2e7657a188af6e132a9562fa26c201b2d999bc0a8981e8f3b6c36", + "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", + "https://bcr.bazel.build/modules/bazel_features/1.13.0/MODULE.bazel": "c14c33c7c3c730612bdbe14ebbb5e61936b6f11322ea95a6e91cd1ba962f94df", + "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", + "https://bcr.bazel.build/modules/bazel_features/1.20.0/MODULE.bazel": "8b85300b9c8594752e0721a37210e34879d23adc219ed9dc8f4104a4a1750920", + "https://bcr.bazel.build/modules/bazel_features/1.20.0/source.json": "ec676339c530e7e3db8dd8ae99cc827b679fc0f3acda4fef9fc9e3d6a2c505dd", + "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", + "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", + "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.0/MODULE.bazel": "2ab127ef8d56a739a99bb2ce00ec4c7d1ecc7977d4370c0ca6efd0d8f03d6d99", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", + "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", + "https://bcr.bazel.build/modules/boringssl/0.20241024.0/MODULE.bazel": "b540cff73d948cb79cb0bc108d7cef391d2098a25adabfda5043e4ef548dbc87", + "https://bcr.bazel.build/modules/boringssl/0.20241024.0/source.json": "d843092e682b84188c043ac742965d7f96e04c846c7e338187e03238674909a9", + "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", + "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/download_utils/1.0.0-beta.2/MODULE.bazel": "bced1551849a5d1ca00b985c0d267ab690af840f04c685f2c62f40e92f66fac0", + "https://bcr.bazel.build/modules/download_utils/1.0.0-beta.2/source.json": "0ab7ebbc57f39a7fe96190e01fe9773482bc4e3d465e9cd9b239bb44ad57791d", + "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", + "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", + "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", + "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", + "https://bcr.bazel.build/modules/gazelle/0.38.0/MODULE.bazel": "51bb3ca009bc9320492894aece6ba5f50aae68a39fff2567844b77fc12e2d0a5", + "https://bcr.bazel.build/modules/gazelle/0.38.0/source.json": "7fedf9b531bcbbe90b009e4d3aef478a2defb8b8a6e31e931445231e425fc37c", + "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", + "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", + "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/googletest/1.15.2/MODULE.bazel": "6de1edc1d26cafb0ea1a6ab3f4d4192d91a312fd2d360b63adaa213cd00b2108", + "https://bcr.bazel.build/modules/googletest/1.15.2/source.json": "dbdda654dcb3a0d7a8bc5d0ac5fc7e150b58c2a986025ae5bc634bb2cb61f470", + "https://bcr.bazel.build/modules/hermetic_cc_toolchain/3.1.0/MODULE.bazel": "ea4b3a25a9417a7db57a8a2f9ebdee91d679823c6274b482b817ed128d81c594", + "https://bcr.bazel.build/modules/hermetic_cc_toolchain/3.1.0/source.json": "9d1df0459caefdf41052d360469922a73e219f67c8ce4da0628cc604469822b9", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", + "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/libxcrypt/4.4.36.bcr.1/MODULE.bazel": "27048c239db91c1f214f49b87d035d41c5f5fe00eb1b6ef9fd763de67c331288", + "https://bcr.bazel.build/modules/libxcrypt/4.4.36.bcr.1/source.json": "4f86cb479c3bfb063abbe6690399a3e8c3f0e82f766b4457772e1f44a8bbd438", + "https://bcr.bazel.build/modules/openssh/9.9p1.bcr.1/MODULE.bazel": "891c7dcad423088e510253e489cdaf0695272a242ad8213f5c34c497687e01fa", + "https://bcr.bazel.build/modules/openssh/9.9p1.bcr.1/source.json": "544d5123b9cf63b7521dffeea9065d115180316119703b74f6c6ea54e183a8c3", + "https://bcr.bazel.build/modules/patchelf/0.18.0/MODULE.bazel": "15a6beff7e828d585c5bd0f9f93589df117b5594e9d19e43096c77de58b9ae5f", + "https://bcr.bazel.build/modules/patchelf/0.18.0/source.json": "57caf6bcaa5ba515c6fb1c2eacee00735afbeb1ffacb34a57553fb139c8e4333", + "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", + "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", + "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", + "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", + "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", + "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", + "https://bcr.bazel.build/modules/protobuf/27.0/source.json": "1acf3d080c728d42f423fde5422fd0a1a24f44c15908124ce12363a253384193", + "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", + "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/source.json": "6900fdc8a9e95866b8c0d4ad4aba4d4236317b5c1cd04c502df3f0d33afed680", + "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", + "https://bcr.bazel.build/modules/re2/2024-07-02/MODULE.bazel": "0eadc4395959969297cbcf31a249ff457f2f1d456228c67719480205aa306daa", + "https://bcr.bazel.build/modules/re2/2024-07-02/source.json": "547d0111a9d4f362db32196fef805abbf3676e8d6afbe44d395d87816c1130ca", + "https://bcr.bazel.build/modules/rules_bzip2/1.0.0-beta.1/MODULE.bazel": "d45e0cac04248d32babf99b96cdb7c82aed6f36657b31647d2e40d45ed262b85", + "https://bcr.bazel.build/modules/rules_bzip2/1.0.0-beta.1/source.json": "6b6ae325f3e3414d54f1c974ee044d6f49d23ba326b9d702ba7021c9cbda7ce5", + "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.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", + "https://bcr.bazel.build/modules/rules_cc/0.0.15/source.json": "48e606af0e02a716974a8b74fba6988d9f0c93af9177e28cf474bfc5fa26ab10", + "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", + "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.1/MODULE.bazel": "159a59bd049c72ade6f0b617cc06c78ff72ef83dd8e331a038739561e4416e0e", + "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.6/MODULE.bazel": "d767c0dce8cca10f507ff4df59b6be1023b155e9aa92dc075f564a2ed3713615", + "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.7/MODULE.bazel": "7ae2696243d059738d8fdf420ae8ebbe29ff6dccbb4a0467d613cd41f57fd02e", + "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.7/source.json": "c6a9bbdbb6d9326ca0023b1aff251f4b6afe0d37f44708011ce8be55a8da076d", + "https://bcr.bazel.build/modules/rules_diff/1.0.0-beta.3/MODULE.bazel": "4bcae1c5e3c7fa1169f9940f548f7b8b3316944b4367771b168f925b7a9ee74e", + "https://bcr.bazel.build/modules/rules_diff/1.0.0-beta.3/source.json": "b5db3fcd469061f2051188da97345162f294fc59e7fdf477beb306dbe950566a", + "https://bcr.bazel.build/modules/rules_distroless/0.5.1/MODULE.bazel": "2a63f4744d30749128105da5f96adf7caf5628e37548293f89e7fa39c3b3f2c2", + "https://bcr.bazel.build/modules/rules_distroless/0.5.1/source.json": "c6b9ff7f325bfed89c3671757f14c1d1bc6077d0fcef809b8aa2d007cac7dd1d", + "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", + "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", + "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", + "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", + "https://bcr.bazel.build/modules/rules_go/0.47.0/MODULE.bazel": "e425890d2a4d668abc0f59d8388b70bf63ad025edec76a385c35d85882519417", + "https://bcr.bazel.build/modules/rules_go/0.49.0/MODULE.bazel": "61cfc1ba17123356d1b12b6c50f6e0162b2cc7fd6f51753c12471e973a0f72a5", + "https://bcr.bazel.build/modules/rules_go/0.49.0/source.json": "ab2261ea5e29d29a41c8e5c67896f946ab7855b786d28fe25d74987b84e5e85d", + "https://bcr.bazel.build/modules/rules_gzip/1.0.0-beta.1/MODULE.bazel": "4bc3bb009698531db230bb85a290355e7805d0cf7b5e8b60f62ee8ac65af0405", + "https://bcr.bazel.build/modules/rules_gzip/1.0.0-beta.1/source.json": "cd92050d1eb80a80f1bac8e94ec7d99ffc58e2e6ae2cd18bdcf8efd3e44a2b8f", + "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.3.0/MODULE.bazel": "a97c7678c19f236a956ad260d59c86e10a463badb7eb2eda787490f4c969b963", + "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.8.0/MODULE.bazel": "de589d0880911ac007abd521b9f0ddcd8b0dbd05c8553e6f8124a050b83acf7d", + "https://bcr.bazel.build/modules/rules_java/8.8.0/source.json": "63c0c14a917082cddc3956eedbf2098410651e75fc7d29aa3e732c30a0099458", + "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.2/source.json": "10572111995bc349ce31c78f74b3c147f6b3233975c7fa5eff9211f6db0d34d9", + "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", + "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", + "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", + "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", + "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", + "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", + "https://bcr.bazel.build/modules/rules_proto/6.0.0/source.json": "de77e10ff0ab16acbf54e6b46eecd37a99c5b290468ea1aee6e95eb1affdaed7", + "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.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", + "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", + "https://bcr.bazel.build/modules/rules_python/0.33.2/MODULE.bazel": "3e036c4ad8d804a4dad897d333d8dce200d943df4827cb849840055be8d2e937", + "https://bcr.bazel.build/modules/rules_python/0.33.2/source.json": "e539592cd3aae4492032cecea510e46ca16eeb972271560b922cae9893944e2f", + "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_tar/1.0.0-beta.3/MODULE.bazel": "64e7c453ec8915d362017208ca94fc204526032a4847ae4e3af94d2b368e30d3", + "https://bcr.bazel.build/modules/rules_tar/1.0.0-beta.3/source.json": "2d5940709d3521d677d950c05872645040300375db4867a1e5ee5db397cbb5eb", + "https://bcr.bazel.build/modules/rules_xz/1.0.0-beta.1/MODULE.bazel": "0934987548deaa03cca973e6e700d88daadb736d816af5907e93633747c7a9c5", + "https://bcr.bazel.build/modules/rules_xz/1.0.0-beta.1/source.json": "155e565725363efca12521ef8c30551978c48e6f3b4640fc6796c3dbcae73d81", + "https://bcr.bazel.build/modules/rules_zstd/1.0.0-beta.1/MODULE.bazel": "979e286e40ec27423d4c93ff15e3e17b212e8b83b07157d3c61d1f265c4fa16a", + "https://bcr.bazel.build/modules/rules_zstd/1.0.0-beta.3/MODULE.bazel": "a1386815d57563c8288e12bff7195e59f898f82aa39251291f088b4696ce265c", + "https://bcr.bazel.build/modules/rules_zstd/1.0.0-beta.3/source.json": "d26abf616b0b451cdd3c132aec799796ce1cd87b42e2ffc0b00a4a6545412785", + "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.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", + "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.0/source.json": "e3c524bf2ef20992539ce2bc4a2243f4853130209ee831689983e28d05769099", + "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.12/MODULE.bazel": "947cf935fa609c91b05bd8c8c1be38b9e10b7bc8949cf3092ee416ed30995078", + "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.15/MODULE.bazel": "not found", + "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.16/MODULE.bazel": "66b570c2130e395844f791f58efce6510ffcb51baa2a452ca881fdaf83f4a214", + "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.17/MODULE.bazel": "cde98816e2c0ce65b29b1f3a43412ef0d9d6d82fe285f98fed111623f82d7f12", + "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.17/source.json": "92ce5f97add93cd1b534151a38cef7cede92462439ebe559bba1681bdf4241f9", + "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.9/MODULE.bazel": "9a8edfa6905229b899225489cbd6db36f073d9455c77238bd6ae6c52da5256d8", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "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.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", + "https://bcr.bazel.build/modules/zstd/1.5.6/MODULE.bazel": "471ebe7d3cdd8c6469390fcf623eb4779ff55fbee0a87f1dc57a1def468b96d4", + "https://bcr.bazel.build/modules/zstd/1.5.6/source.json": "02010c3333fc89b44fe861db049968decb6e688411f7f9d4f6791d74f9adfb51", + "https://gitlab.arm.com/bazel/toolchain_utils/-/releases/v1.0.0-beta.15/downloads/modules/toolchain_utils/1.0.0-beta.15/MODULE.bazel": "21da9cdc3c99f8f254ebea589ff9af1d526416cabadd65dc8b64bf74faa1eb8a" + }, + "selectedYankedVersions": {}, + "moduleExtensions": { + "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { + "general": { + "bzlTransitiveDigest": "ltCGFbl/LQQZXn/LEMXfKX7pGwyqNiOCHcmiQW0tmjM=", + "usagesDigest": "2Jj0sTGzjx2KfYRjWYbL6DZ1bi8HL2roIAGfOViiul8=", + "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" + ] + ] + } + }, + "@@aspect_bazel_lib~//lib:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "v/pDtu7D4JNhqSOpd0zDAszKx5LE3MDNfIkE9hCiRxI=", + "usagesDigest": "IMHFioa+2JWbRuUZPPw+0UXKrrl5KROo/mm9cTOMhto=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "copy_directory_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "copy_directory_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "copy_directory_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "copy_directory_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "copy_directory_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "copy_directory_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "copy_directory_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_toolchains_repo", + "attributes": { + "user_repository_name": "copy_directory" + } + }, + "copy_to_directory_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "copy_to_directory_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "copy_to_directory_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "copy_to_directory_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "copy_to_directory_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "copy_to_directory_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "copy_to_directory_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_toolchains_repo", + "attributes": { + "user_repository_name": "copy_to_directory" + } + }, + "jq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "1.7" + } + }, + "jq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "1.7" + } + }, + "jq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "1.7" + } + }, + "jq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "1.7" + } + }, + "jq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "1.7" + } + }, + "jq": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_host_alias_repo", + "attributes": {} + }, + "jq_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_toolchains_repo", + "attributes": { + "user_repository_name": "jq" + } + }, + "yq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "4.25.2" + } + }, + "yq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "4.25.2" + } + }, + "yq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "4.25.2" + } + }, + "yq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "4.25.2" + } + }, + "yq_linux_s390x": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_s390x", + "version": "4.25.2" + } + }, + "yq_linux_ppc64le": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_ppc64le", + "version": "4.25.2" + } + }, + "yq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "4.25.2" + } + }, + "yq": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_host_alias_repo", + "attributes": {} + }, + "yq_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_toolchains_repo", + "attributes": { + "user_repository_name": "yq" + } + }, + "coreutils_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "0.0.27" + } + }, + "coreutils_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "0.0.27" + } + }, + "coreutils_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "0.0.27" + } + }, + "coreutils_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "0.0.27" + } + }, + "coreutils_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "0.0.27" + } + }, + "coreutils_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_toolchains_repo", + "attributes": { + "user_repository_name": "coreutils" + } + }, + "bsd_tar_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "bsd_tar_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "bsd_tar_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "bsd_tar_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "bsd_tar_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "bsd_tar_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "tar_toolchains_repo", + "attributes": { + "user_repository_name": "bsd_tar" + } + }, + "zstd_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:zstd_toolchain.bzl", + "ruleClassName": "zstd_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "zstd_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:zstd_toolchain.bzl", + "ruleClassName": "zstd_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "zstd_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:zstd_toolchain.bzl", + "ruleClassName": "zstd_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "zstd_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:zstd_toolchain.bzl", + "ruleClassName": "zstd_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "zstd_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:zstd_toolchain.bzl", + "ruleClassName": "zstd_toolchains_repo", + "attributes": { + "user_repository_name": "zstd" + } + }, + "expand_template_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "expand_template_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "expand_template_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "expand_template_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "expand_template_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "expand_template_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "expand_template_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_toolchains_repo", + "attributes": { + "user_repository_name": "expand_template" + } + }, + "bats_support": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "sha256": "7815237aafeb42ddcc1b8c698fc5808026d33317d8701d5ec2396e9634e2918f", + "urls": [ + "https://github.com/bats-core/bats-support/archive/v0.3.0.tar.gz" + ], + "strip_prefix": "bats-support-0.3.0", + "build_file_content": "load(\"@aspect_bazel_lib//lib:copy_to_directory.bzl\", \"copy_to_directory\")\n\ncopy_to_directory(\n name = \"support\",\n hardlink = \"on\",\n srcs = glob([\n \"src/**\",\n \"load.bash\",\n ]),\n out = \"bats-support\",\n visibility = [\"//visibility:public\"]\n)\n" + } + }, + "bats_assert": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "sha256": "98ca3b685f8b8993e48ec057565e6e2abcc541034ed5b0e81f191505682037fd", + "urls": [ + "https://github.com/bats-core/bats-assert/archive/v2.1.0.tar.gz" + ], + "strip_prefix": "bats-assert-2.1.0", + "build_file_content": "load(\"@aspect_bazel_lib//lib:copy_to_directory.bzl\", \"copy_to_directory\")\n\ncopy_to_directory(\n name = \"assert\",\n hardlink = \"on\",\n srcs = glob([\n \"src/**\",\n \"load.bash\",\n ]),\n out = \"bats-assert\",\n visibility = [\"//visibility:public\"]\n)\n" + } + }, + "bats_file": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "sha256": "9b69043241f3af1c2d251f89b4fcafa5df3f05e97b89db18d7c9bdf5731bb27a", + "urls": [ + "https://github.com/bats-core/bats-file/archive/v0.4.0.tar.gz" + ], + "strip_prefix": "bats-file-0.4.0", + "build_file_content": "load(\"@aspect_bazel_lib//lib:copy_to_directory.bzl\", \"copy_to_directory\")\n\ncopy_to_directory(\n name = \"file\",\n hardlink = \"on\",\n srcs = glob([\n \"src/**\",\n \"load.bash\",\n ]),\n out = \"bats-file\",\n visibility = [\"//visibility:public\"]\n)\n" + } + }, + "bats_toolchains": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "sha256": "a1a9f7875aa4b6a9480ca384d5865f1ccf1b0b1faead6b47aa47d79709a5c5fd", + "urls": [ + "https://github.com/bats-core/bats-core/archive/v1.10.0.tar.gz" + ], + "strip_prefix": "bats-core-1.10.0", + "build_file_content": "load(\"@local_config_platform//:constraints.bzl\", \"HOST_CONSTRAINTS\")\nload(\"@aspect_bazel_lib//lib/private:bats_toolchain.bzl\", \"bats_toolchain\")\nload(\"@aspect_bazel_lib//lib:copy_to_directory.bzl\", \"copy_to_directory\")\n\ncopy_to_directory(\n name = \"core\",\n hardlink = \"on\",\n srcs = glob([\n \"lib/**\",\n \"libexec/**\"\n ]) + [\"bin/bats\"],\n out = \"bats-core\",\n)\n\nbats_toolchain(\n name = \"toolchain\",\n core = \":core\",\n libraries = [\"@bats_support//:support\", \"@bats_assert//:assert\", \"@bats_file//:file\"]\n)\n\ntoolchain(\n name = \"bats_toolchain\",\n exec_compatible_with = HOST_CONSTRAINTS,\n toolchain = \":toolchain\",\n toolchain_type = \"@aspect_bazel_lib//lib:bats_toolchain_type\",\n)\n" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "aspect_bazel_lib~", + "aspect_bazel_lib", + "aspect_bazel_lib~" + ], + [ + "aspect_bazel_lib~", + "bazel_skylib", + "bazel_skylib~" + ], + [ + "aspect_bazel_lib~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@hermetic_cc_toolchain~//toolchain:ext.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "savfNVe5lHMf4Itncd4fhqgp41UPyKO5x7KBci6XiuM=", + "usagesDigest": "ZmV+LMFJvgQ+x2Wa4DMlKyjSgn6t0gVj9VSXTJaPB5g=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "zig_sdk": { + "bzlFile": "@@hermetic_cc_toolchain~//toolchain:defs.bzl", + "ruleClassName": "zig_repository", + "attributes": { + "version": "0.12.0", + "url_formats": [ + "https://mirror.bazel.build/ziglang.org/download/{version}/zig-{host_platform}-{version}.{_ext}", + "https://ziglang.org/download/{version}/zig-{host_platform}-{version}.{_ext}" + ], + "host_platform_sha256": { + "linux-aarch64": "754f1029484079b7e0ca3b913a0a2f2a6afd5a28990cb224fe8845e72f09de63", + "linux-x86_64": "c7ae866b8a76a568e2d5cfd31fe89cdb629bdd161fdd5018b29a4a0a17045cad", + "macos-aarch64": "294e224c14fd0822cfb15a35cf39aa14bd9967867999bf8bdfe3db7ddec2a27f", + "macos-x86_64": "4d411bf413e7667821324da248e8589278180dbc197f4f282b7dbb599a689311", + "windows-aarch64": "04c6b92689241ca7a8a59b5f12d2ca2820c09d5043c3c4808b7e93e41c7bf97b", + "windows-x86_64": "2199eb4c2000ddb1fba85ba78f1fcf9c1fb8b3e57658f6a627a8e513131893f5" + }, + "host_platform_ext": { + "linux-aarch64": "tar.xz", + "linux-x86_64": "tar.xz", + "macos-aarch64": "tar.xz", + "macos-x86_64": "tar.xz", + "windows-x86_64": "zip" + } + } + } + }, + "recordedRepoMappingEntries": [ + [ + "hermetic_cc_toolchain~", + "bazel_tools", + "bazel_tools" + ], + [ + "hermetic_cc_toolchain~", + "hermetic_cc_toolchain", + "hermetic_cc_toolchain~" + ] + ] + } + }, + "@@platforms//host:extension.bzl%host_platform": { + "general": { + "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", + "usagesDigest": "jbv3bh0b5eD+Fg7wDeOwH2urh2y729oxNLIt5+t+mxY=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "host_platform": { + "bzlFile": "@@platforms//host:extension.bzl", + "ruleClassName": "host_platform_repo", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [] + } + } + } +} diff --git a/e2e/docker/config.yaml b/examples/docker/config.yaml similarity index 67% rename from e2e/docker/config.yaml rename to examples/docker/config.yaml index 6239d70ce789e87e8632464f1262fd5a3d7c5b56..8efa48d4ce43f13b172dbd7bf3167929a6086b04 100644 --- a/e2e/docker/config.yaml +++ b/examples/docker/config.yaml @@ -7,8 +7,9 @@ targets: - DockerDriver: image_uri: "rastasheep/ubuntu-sshd:16.04" container_name: "ubuntu-lg-example" - host_config: {"network_mode":"bridge"} - network_services: [{"port":22,"username":"root","password":"root"}] + host_config: { "network_mode": "bridge" } + network_services: + [{ "port": 22, "username": "root", "password": "root" }] - DockerStrategy: {} - SSHDriver: keyfile: "" diff --git a/e2e/docker/info.py b/examples/docker/info.py similarity index 100% rename from e2e/docker/info.py rename to examples/docker/info.py diff --git a/e2e/python/BUILD.bazel b/examples/docker/python/BUILD.bazel similarity index 60% rename from e2e/python/BUILD.bazel rename to examples/docker/python/BUILD.bazel index 69adeca6dda8d13139395e20f4fd7e29e3e1ca2b..567dba344027a8a75832bae30ba5d23460f51326 100644 --- a/e2e/python/BUILD.bazel +++ b/examples/docker/python/BUILD.bazel @@ -6,9 +6,3 @@ compile_pip_requirements( requirements_txt = "requirements.txt", tags = ["manual"], ) - -alias( - name = "bootstrap", - actual = "@rules_python//python/config_settings:bootstrap_impl", - visibility = ["//visibility:public"], -) diff --git a/e2e/python/requirements.in b/examples/docker/python/requirements.in similarity index 100% rename from e2e/python/requirements.in rename to examples/docker/python/requirements.in diff --git a/e2e/python/requirements.txt b/examples/docker/python/requirements.txt similarity index 100% rename from e2e/python/requirements.txt rename to examples/docker/python/requirements.txt diff --git a/e2e/docker/release.txt b/examples/docker/release.txt similarity index 100% rename from e2e/docker/release.txt rename to examples/docker/release.txt diff --git a/labgrid/config/rule.bzl b/labgrid/config/rule.bzl index a79a0f9f1b154904b45637added93ab4c6e7204d..3da007fe5b6b3c13b48fe6c6b5a9631fba6693f2 100644 --- a/labgrid/config/rule.bzl +++ b/labgrid/config/rule.bzl @@ -88,12 +88,14 @@ ATTRS = { ), } +# Need to use an external repo to fetch the separator, nothing special about `rules_python` +SEPARATOR = Label("@rules_python").repo_name.removesuffix("@rules_python")[-1] + def _expand(ctx, data, value): value = value.replace("$(location", "$(rlocationpath") value = ctx.expand_location(value, targets = data) - separator = ctx.label.repo_name[-1] for k, v in ctx.var.items(): - value = value.replace("$({})".format(k), _runfile(v, separator)) + value = value.replace("$({})".format(k), _runfile(v, SEPARATOR)) return value def _runfile(value, separator):