From 74e9e4950221188dc9d3e5dae572850aca1b25e5 Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Wed, 28 Aug 2024 15:59:02 +0100 Subject: [PATCH] test: add archive unpacking --- .bazelrc | 4 + MODULE.bazel | 5 +- MODULE.bazel.lock | 482 ++++++++++++++++- e2e/.bazelrc | 4 + e2e/MODULE.bazel | 1 + e2e/MODULE.bazel.lock | 484 +++++++++++++++++- e2e/github-git-git/BUILD.bazel | 36 -- e2e/github-git-git/bzip2/BUILD.bazel | 14 + e2e/github-git-git/gzip/BUILD.bazel | 14 + e2e/github-git-git/tar/BUILD.bazel | 14 + e2e/github-git-git/xz/BUILD.bazel | 14 + e2e/github-git-git/zstd/BUILD.bazel | 17 + .../bzip2/BUILD.bazel | 14 + .../gzip/BUILD.bazel | 14 + e2e/github-mozilla-deepspeech/tar/BUILD.bazel | 14 + e2e/github-mozilla-deepspeech/xz/BUILD.bazel | 14 + .../zstd/BUILD.bazel | 18 + git/archive/BUILD.bazel | 4 +- git/archive/posix.tmpl.sh | 27 +- git/archive/rule.bzl | 18 +- git/checkout/posix.tmpl.sh | 3 +- 21 files changed, 1147 insertions(+), 68 deletions(-) create mode 100644 e2e/github-git-git/bzip2/BUILD.bazel create mode 100644 e2e/github-git-git/gzip/BUILD.bazel create mode 100644 e2e/github-git-git/tar/BUILD.bazel create mode 100644 e2e/github-git-git/xz/BUILD.bazel create mode 100644 e2e/github-git-git/zstd/BUILD.bazel create mode 100644 e2e/github-mozilla-deepspeech/bzip2/BUILD.bazel create mode 100644 e2e/github-mozilla-deepspeech/gzip/BUILD.bazel create mode 100644 e2e/github-mozilla-deepspeech/tar/BUILD.bazel create mode 100644 e2e/github-mozilla-deepspeech/xz/BUILD.bazel create mode 100644 e2e/github-mozilla-deepspeech/zstd/BUILD.bazel diff --git a/.bazelrc b/.bazelrc index 31d7aa5..3377791 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,3 +1,7 @@ +# `bzlmod` pre-release registries +common --registry https://bcr.bazel.build +common --registry=https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads + # Build cache build --experimental_guard_against_concurrent_changes diff --git a/MODULE.bazel b/MODULE.bazel index c52c0d4..afa3b69 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -7,10 +7,11 @@ module( ) bazel_dep(name = "platforms", version = "0.0.10") -bazel_dep(name = "bazel_skylib", version = "1.5.0") +bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "toolchain_utils", version = "1.0.0-beta.13") bazel_dep(name = "download_utils", version = "1.0.0-beta.2") -bazel_dep(name = "rules_coreutils", version = "1.0.0-beta.4") +bazel_dep(name = "rules_coreutils", version = "1.0.0-beta.6") +bazel_dep(name = "rules_tar", version = "1.0.0-beta.2") bazel_dep(name = "ape", version = "1.0.0-beta.12") download_file = use_repo_rule("@download_utils//download/file:defs.bzl", "download_file") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 0ff9ccb..7bd6631 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -8,22 +8,36 @@ "https://bcr.bazel.build/modules/ape/1.0.0-beta.12/MODULE.bazel": "e75be27b37a2f7cf83dbeb497aeac93f8da9aa55fc2b35a9a1cb46db9b7f8885", "https://bcr.bazel.build/modules/ape/1.0.0-beta.12/source.json": "4b9e00b30d41ff209d7deddba1fbb4538cdfc7a54b4e07e607134ccc147e6a29", "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.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.0/MODULE.bazel": "2ee4360a135da51ec06ca49cc4310f5a4c2839118f38ea8417f7f2db56967285", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.0/source.json": "c34612bffaaccfd7b86667be4cfdd8532b5e197939224be8d53398e5851ea24a", + "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.13.0/source.json": "b01f6aaaf93527ff4267421ef416debbd89b3166b70af5c89400c6a95a89c133", + "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.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.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.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "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/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.36.0/source.json": "0823f097b127e0201ae55d85647c94095edfe27db0431a7ae880dcab08dfaa04", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", @@ -32,19 +46,32 @@ "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/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", "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/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.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "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_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", - "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.4/MODULE.bazel": "25a6c24ef03800cae2271b18dae00d2afd0e06a5756c11097e79303b9594cb12", - "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.4/source.json": "9eda50e7ff79ccc511d85831674976c701f6478b2adb43d10adbf07be62821d8", + "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.6/source.json": "5970522e4551e83d36886874b2ff7fc6718884670b6961bcf298aaaa608251c5", + "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.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/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", "https://bcr.bazel.build/modules/rules_java/7.6.1/source.json": "8f3f3076554e1558e8e468b2232991c510ecbcbed9e6f8c06ac31c93bcf38362", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -56,13 +83,21 @@ "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/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", + "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.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_tar/1.0.0-beta.2/MODULE.bazel": "not found", + "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.1/source.json": "26b7181d9581ee3fd407407b695bee7a0d94f2062c1ae1d45529bd12f8e45759", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", + "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", + "https://bcr.bazel.build/modules/stardoc/0.5.4/source.json": "a961f58a71e735aa9dcb2d79b288e06b0a2d860ba730302c8f11be411b76631e", + "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.13/MODULE.bazel": "8fa38d6dfa905bea519caca92bfb5571dd2d70b45e307674e33692c7a7c16ace", "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.13/source.json": "ca58149525f45ec454b0f12c09efaa6edef163784631f415b65322650307404d", "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.9/MODULE.bazel": "9a8edfa6905229b899225489cbd6db36f073d9455c77238bd6ae6c52da5256d8", @@ -71,7 +106,10 @@ "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/MODULE.bazel": "6a9c02f19a24dcedb05572b2381446e27c272cd383aed11d41d99da9e3167a72", - "https://bcr.bazel.build/modules/zlib/1.3/source.json": "b6b43d0737af846022636e6e255fd4a96fee0d34f08f3830e6e0bac51465c37c" + "https://bcr.bazel.build/modules/zlib/1.3/source.json": "b6b43d0737af846022636e6e255fd4a96fee0d34f08f3830e6e0bac51465c37c", + "https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads/bazel_registry.json": "not found", + "https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads/modules/rules_tar/1.0.0-beta.2/MODULE.bazel": "d75b6d478ea2dc40a204335d1c4d2b0f49afe9bac2402061f976b9692a1e41a7", + "https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads/modules/rules_tar/1.0.0-beta.2/source.json": "861908c3d6e626659790819504ba8abd4a3ff57d2eedd07ca4d75d361cc2c4bc" }, "selectedYankedVersions": {}, "moduleExtensions": { @@ -103,6 +141,438 @@ ] } }, + "@@aspect_bazel_lib~//lib:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "mGLF7b1ofhbx/nwdvORAoZCZrI+aPzrKLPxbbv9iIFQ=", + "usagesDigest": "ryO4L8fmiBbPJNLDmOClk61bqNT5nJtVIN5vzfep7X8=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "expand_template_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "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" + } + }, + "jq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "1.7" + } + }, + "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" + } + }, + "expand_template_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "jq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "1.7" + } + }, + "coreutils_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "0.0.23" + } + }, + "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" + } + }, + "bsd_tar_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "copy_directory_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "coreutils_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "0.0.23" + } + }, + "coreutils_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "0.0.23" + } + }, + "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": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_host_alias_repo", + "attributes": {} + }, + "expand_template_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "copy_directory_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "jq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "1.7" + } + }, + "yq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "4.25.2" + } + }, + "copy_directory_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "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_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" + } + }, + "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" + } + }, + "bsd_tar_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "yq_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_toolchains_repo", + "attributes": { + "user_repository_name": "yq" + } + }, + "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" + } + }, + "bsd_tar_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "jq": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_host_alias_repo", + "attributes": {} + }, + "expand_template_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "bsd_tar_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "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" + } + }, + "coreutils_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "0.0.23" + } + }, + "copy_directory_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_toolchains_repo", + "attributes": { + "user_repository_name": "copy_directory" + } + }, + "yq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "4.25.2" + } + }, + "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" + } + }, + "coreutils_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_toolchains_repo", + "attributes": { + "user_repository_name": "coreutils" + } + }, + "copy_directory_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "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" + } + }, + "expand_template_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "jq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "1.7" + } + }, + "bsd_tar_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "bsd_tar_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "tar_toolchains_repo", + "attributes": { + "user_repository_name": "bsd_tar" + } + }, + "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" + } + }, + "yq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "4.25.2" + } + }, + "jq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "1.7" + } + }, + "expand_template_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "yq_linux_ppc64le": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_ppc64le", + "version": "4.25.2" + } + }, + "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_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_toolchains_repo", + "attributes": { + "user_repository_name": "jq" + } + }, + "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_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "yq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "4.25.2" + } + }, + "coreutils_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "0.0.23" + } + }, + "yq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "4.25.2" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "aspect_bazel_lib~", + "aspect_bazel_lib", + "aspect_bazel_lib~" + ], + [ + "aspect_bazel_lib~", + "bazel_skylib", + "bazel_skylib~" + ], + [ + "aspect_bazel_lib~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, "@@platforms//host:extension.bzl%host_platform": { "general": { "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", diff --git a/e2e/.bazelrc b/e2e/.bazelrc index 31d7aa5..3377791 100644 --- a/e2e/.bazelrc +++ b/e2e/.bazelrc @@ -1,3 +1,7 @@ +# `bzlmod` pre-release registries +common --registry https://bcr.bazel.build +common --registry=https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads + # Build cache build --experimental_guard_against_concurrent_changes diff --git a/e2e/MODULE.bazel b/e2e/MODULE.bazel index 7468e8f..4728f64 100644 --- a/e2e/MODULE.bazel +++ b/e2e/MODULE.bazel @@ -8,6 +8,7 @@ module( bazel_dep(name = "rules_git") bazel_dep(name = "bazel_skylib", version = "1.5.0") bazel_dep(name = "rules_diff", version = "1.0.0-beta.3") +bazel_dep(name = "rules_tar", version = "1.0.0-beta.1") bazel_dep(name = "toolchain_utils", version = "1.0.0-beta.13", dev_dependency = True) diff --git a/e2e/MODULE.bazel.lock b/e2e/MODULE.bazel.lock index 736455c..d41cfa4 100644 --- a/e2e/MODULE.bazel.lock +++ b/e2e/MODULE.bazel.lock @@ -5,25 +5,40 @@ "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/20211102.0/source.json": "7e3a9adf473e9af076ae485ed649d5641ad50ec5c11718103f34de03170d94ad", + "https://bcr.bazel.build/modules/ape/1.0.0-beta.11/MODULE.bazel": "39251c0aff369b378b03c07261a7b5b17ba5ca704d022d2aeff35b243239aee5", "https://bcr.bazel.build/modules/ape/1.0.0-beta.12/MODULE.bazel": "e75be27b37a2f7cf83dbeb497aeac93f8da9aa55fc2b35a9a1cb46db9b7f8885", "https://bcr.bazel.build/modules/ape/1.0.0-beta.12/source.json": "4b9e00b30d41ff209d7deddba1fbb4538cdfc7a54b4e07e607134ccc147e6a29", "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.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.0/MODULE.bazel": "2ee4360a135da51ec06ca49cc4310f5a4c2839118f38ea8417f7f2db56967285", + "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.0/source.json": "c34612bffaaccfd7b86667be4cfdd8532b5e197939224be8d53398e5851ea24a", + "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.13.0/source.json": "b01f6aaaf93527ff4267421ef416debbd89b3166b70af5c89400c6a95a89c133", + "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.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.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.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "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/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.36.0/source.json": "0823f097b127e0201ae55d85647c94095edfe27db0431a7ae880dcab08dfaa04", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", @@ -32,21 +47,34 @@ "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/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", "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/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.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "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_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", - "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.4/MODULE.bazel": "25a6c24ef03800cae2271b18dae00d2afd0e06a5756c11097e79303b9594cb12", - "https://bcr.bazel.build/modules/rules_coreutils/1.0.0-beta.4/source.json": "9eda50e7ff79ccc511d85831674976c701f6478b2adb43d10adbf07be62821d8", + "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.6/source.json": "5970522e4551e83d36886874b2ff7fc6718884670b6961bcf298aaaa608251c5", "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_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.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/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", "https://bcr.bazel.build/modules/rules_java/7.6.1/source.json": "8f3f3076554e1558e8e468b2232991c510ecbcbed9e6f8c06ac31c93bcf38362", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -58,13 +86,22 @@ "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/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", + "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.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_tar/1.0.0-beta.1/MODULE.bazel": "f372d4a685600753434050a12ccefa7dd735c7a62642b5109da8e96adf5671d2", + "https://bcr.bazel.build/modules/rules_tar/1.0.0-beta.2/MODULE.bazel": "not found", + "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.1/source.json": "26b7181d9581ee3fd407407b695bee7a0d94f2062c1ae1d45529bd12f8e45759", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", + "https://bcr.bazel.build/modules/stardoc/0.5.4/MODULE.bazel": "6569966df04610b8520957cb8e97cf2e9faac2c0309657c537ab51c16c18a2a4", + "https://bcr.bazel.build/modules/stardoc/0.5.4/source.json": "a961f58a71e735aa9dcb2d79b288e06b0a2d860ba730302c8f11be411b76631e", + "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.13/MODULE.bazel": "8fa38d6dfa905bea519caca92bfb5571dd2d70b45e307674e33692c7a7c16ace", "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.13/source.json": "ca58149525f45ec454b0f12c09efaa6edef163784631f415b65322650307404d", "https://bcr.bazel.build/modules/toolchain_utils/1.0.0-beta.9/MODULE.bazel": "9a8edfa6905229b899225489cbd6db36f073d9455c77238bd6ae6c52da5256d8", @@ -73,7 +110,10 @@ "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/MODULE.bazel": "6a9c02f19a24dcedb05572b2381446e27c272cd383aed11d41d99da9e3167a72", - "https://bcr.bazel.build/modules/zlib/1.3/source.json": "b6b43d0737af846022636e6e255fd4a96fee0d34f08f3830e6e0bac51465c37c" + "https://bcr.bazel.build/modules/zlib/1.3/source.json": "b6b43d0737af846022636e6e255fd4a96fee0d34f08f3830e6e0bac51465c37c", + "https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads/bazel_registry.json": "not found", + "https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads/modules/rules_tar/1.0.0-beta.2/MODULE.bazel": "d75b6d478ea2dc40a204335d1c4d2b0f49afe9bac2402061f976b9692a1e41a7", + "https://gitlab.arm.com/bazel/rules_tar/-/releases/v1.0.0-beta.2/downloads/modules/rules_tar/1.0.0-beta.2/source.json": "861908c3d6e626659790819504ba8abd4a3ff57d2eedd07ca4d75d361cc2c4bc" }, "selectedYankedVersions": {}, "moduleExtensions": { @@ -105,6 +145,438 @@ ] } }, + "@@aspect_bazel_lib~//lib:extensions.bzl%toolchains": { + "general": { + "bzlTransitiveDigest": "mGLF7b1ofhbx/nwdvORAoZCZrI+aPzrKLPxbbv9iIFQ=", + "usagesDigest": "ryO4L8fmiBbPJNLDmOClk61bqNT5nJtVIN5vzfep7X8=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "expand_template_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "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" + } + }, + "jq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "1.7" + } + }, + "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" + } + }, + "expand_template_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "jq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "1.7" + } + }, + "coreutils_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "0.0.23" + } + }, + "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" + } + }, + "bsd_tar_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "copy_directory_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "coreutils_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "0.0.23" + } + }, + "coreutils_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "0.0.23" + } + }, + "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": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_host_alias_repo", + "attributes": {} + }, + "expand_template_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "copy_directory_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "jq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "1.7" + } + }, + "yq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "darwin_amd64", + "version": "4.25.2" + } + }, + "copy_directory_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "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_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" + } + }, + "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" + } + }, + "bsd_tar_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "linux_amd64" + } + }, + "yq_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_toolchains_repo", + "attributes": { + "user_repository_name": "yq" + } + }, + "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" + } + }, + "bsd_tar_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "jq": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_host_alias_repo", + "attributes": {} + }, + "expand_template_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "bsd_tar_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "darwin_arm64" + } + }, + "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" + } + }, + "coreutils_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "0.0.23" + } + }, + "copy_directory_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_toolchains_repo", + "attributes": { + "user_repository_name": "copy_directory" + } + }, + "yq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "4.25.2" + } + }, + "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" + } + }, + "coreutils_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_toolchains_repo", + "attributes": { + "user_repository_name": "coreutils" + } + }, + "copy_directory_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "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" + } + }, + "expand_template_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "linux_arm64" + } + }, + "jq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "linux_amd64", + "version": "1.7" + } + }, + "bsd_tar_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "bsdtar_binary_repo", + "attributes": { + "platform": "darwin_amd64" + } + }, + "bsd_tar_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:tar_toolchain.bzl", + "ruleClassName": "tar_toolchains_repo", + "attributes": { + "user_repository_name": "bsd_tar" + } + }, + "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" + } + }, + "yq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "4.25.2" + } + }, + "jq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "1.7" + } + }, + "expand_template_freebsd_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": { + "platform": "freebsd_amd64" + } + }, + "yq_linux_ppc64le": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_ppc64le", + "version": "4.25.2" + } + }, + "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_toolchains": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_toolchains_repo", + "attributes": { + "user_repository_name": "jq" + } + }, + "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_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": { + "platform": "windows_amd64" + } + }, + "yq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "darwin_arm64", + "version": "4.25.2" + } + }, + "coreutils_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": { + "platform": "windows_amd64", + "version": "0.0.23" + } + }, + "yq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": { + "platform": "linux_arm64", + "version": "4.25.2" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "aspect_bazel_lib~", + "aspect_bazel_lib", + "aspect_bazel_lib~" + ], + [ + "aspect_bazel_lib~", + "bazel_skylib", + "bazel_skylib~" + ], + [ + "aspect_bazel_lib~", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, "@@platforms//host:extension.bzl%host_platform": { "general": { "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", diff --git a/e2e/github-git-git/BUILD.bazel b/e2e/github-git-git/BUILD.bazel index 897aacf..ff2b13a 100644 --- a/e2e/github-git-git/BUILD.bazel +++ b/e2e/github-git-git/BUILD.bazel @@ -1,4 +1,3 @@ -load("@bazel_skylib//rules:build_test.bzl", "build_test") load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") diff_directory_test( @@ -7,38 +6,3 @@ diff_directory_test( a = "@github-git-git-2.43.0//:checkout", b = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:checkout", ) - -build_test( - name = "archive.tar", - targets = [ - "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar", - ], -) - -build_test( - name = "archive.tar.gz", - targets = [ - "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.gz", - ], -) - -build_test( - name = "archive.tar.bz2", - targets = [ - "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.bz2", - ], -) - -build_test( - name = "archive.tar.xz", - targets = [ - "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.xz", - ], -) - -build_test( - name = "archive.tar.zst", - targets = [ - "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.zst", - ], -) diff --git a/e2e/github-git-git/bzip2/BUILD.bazel b/e2e/github-git-git/bzip2/BUILD.bazel new file mode 100644 index 0000000..d8de4d1 --- /dev/null +++ b/e2e/github-git-git/bzip2/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.bz2", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:checkout", +) diff --git a/e2e/github-git-git/gzip/BUILD.bazel b/e2e/github-git-git/gzip/BUILD.bazel new file mode 100644 index 0000000..03a2d51 --- /dev/null +++ b/e2e/github-git-git/gzip/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.gz", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:checkout", +) diff --git a/e2e/github-git-git/tar/BUILD.bazel b/e2e/github-git-git/tar/BUILD.bazel new file mode 100644 index 0000000..a304cfb --- /dev/null +++ b/e2e/github-git-git/tar/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:checkout", +) diff --git a/e2e/github-git-git/xz/BUILD.bazel b/e2e/github-git-git/xz/BUILD.bazel new file mode 100644 index 0000000..394c771 --- /dev/null +++ b/e2e/github-git-git/xz/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.xz", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:checkout", +) diff --git a/e2e/github-git-git/zstd/BUILD.bazel b/e2e/github-git-git/zstd/BUILD.bazel new file mode 100644 index 0000000..965574e --- /dev/null +++ b/e2e/github-git-git/zstd/BUILD.bazel @@ -0,0 +1,17 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:archive.tar.zst", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-git-git-c089584ac8dedc3aa7c2c404839bc098050298a2//:checkout", + # FIXME: `@ape//:zstd` currently closes `stdin` on large inputs + # Possibly an issue in Cosmopolitan `libc`, a new release may fix + tags = ["manual"], +) diff --git a/e2e/github-mozilla-deepspeech/bzip2/BUILD.bazel b/e2e/github-mozilla-deepspeech/bzip2/BUILD.bazel new file mode 100644 index 0000000..4776510 --- /dev/null +++ b/e2e/github-mozilla-deepspeech/bzip2/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:archive.tar.bz2", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:checkout", +) diff --git a/e2e/github-mozilla-deepspeech/gzip/BUILD.bazel b/e2e/github-mozilla-deepspeech/gzip/BUILD.bazel new file mode 100644 index 0000000..b6d5432 --- /dev/null +++ b/e2e/github-mozilla-deepspeech/gzip/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:archive.tar.gz", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:checkout", +) diff --git a/e2e/github-mozilla-deepspeech/tar/BUILD.bazel b/e2e/github-mozilla-deepspeech/tar/BUILD.bazel new file mode 100644 index 0000000..2031ac1 --- /dev/null +++ b/e2e/github-mozilla-deepspeech/tar/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:archive.tar", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:checkout", +) diff --git a/e2e/github-mozilla-deepspeech/xz/BUILD.bazel b/e2e/github-mozilla-deepspeech/xz/BUILD.bazel new file mode 100644 index 0000000..8e84fde --- /dev/null +++ b/e2e/github-mozilla-deepspeech/xz/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:archive.tar.xz", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:checkout", +) diff --git a/e2e/github-mozilla-deepspeech/zstd/BUILD.bazel b/e2e/github-mozilla-deepspeech/zstd/BUILD.bazel new file mode 100644 index 0000000..58655e7 --- /dev/null +++ b/e2e/github-mozilla-deepspeech/zstd/BUILD.bazel @@ -0,0 +1,18 @@ +load("@rules_diff//diff/directory/test:defs.bzl", "diff_directory_test") +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpacked", + src = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:archive.tar.zst", +) + +diff_directory_test( + name = "checkout", + size = "small", + a = ":unpacked", + b = "@github-mozilla-deepspeech-f2e9c85880dff94115ab510cde9ca4af7ee51c19//:checkout", + # FIXME: `@ape//:zstd` currently closes `stdin` on large inputs + # Possibly an issue in Cosmopolitan `libc`, a new release may fix + tags = ["manual"], + +) diff --git a/git/archive/BUILD.bazel b/git/archive/BUILD.bazel index e330b50..32822b5 100644 --- a/git/archive/BUILD.bazel +++ b/git/archive/BUILD.bazel @@ -1,8 +1,8 @@ alias( name = "template", actual = select({ - "@toolchain_utils//toolchain/constraint/os:windows": ":nt.tmpl.bat", + "@platforms//os:windows": "nt.tmpl.bat", "//conditions:default": "posix.tmpl.sh", }), - visibility = ["//visibility:public"], + visibility = ["//:__subpackages__"], ) diff --git a/git/archive/posix.tmpl.sh b/git/archive/posix.tmpl.sh index 8d03171..352c379 100644 --- a/git/archive/posix.tmpl.sh +++ b/git/archive/posix.tmpl.sh @@ -1,10 +1,12 @@ -#! /usr/bin/env sh +#! /usr/bin/env bash # Strict Shell set -o errexit set -o nounset +set -o pipefail # Bazel replacements +CONCATENATE="{{concatenate}}" SORT="{{sort}}" CP="{{cp}}" CHMOD="{{chmod}}" @@ -12,7 +14,7 @@ LN="{{ln}}" MKDIR="{{mkdir}}" COMPRESS="{{compress}}" GIT="{{git}}" -readonly SORT CP CHMOD LN MKDIR COMPRESS GIT +readonly CONCATENATE SORT CP CHMOD LN MKDIR COMPRESS GIT # Parse arguments while test 0 -ne "${#}"; do @@ -74,25 +76,34 @@ for SRC in "${GITDIR}/"*; do done # Resolve a path -resolve() ( +prefix() ( FILEPATH="${1}" while test "${FILEPATH#*/./}" != "${FILEPATH}"; do FILEPATH="${FILEPATH%%/./*}/${FILEPATH#*/./}" done - echo "${FILEPATH}" + while test "${FILEPATH#./}" != "${FILEPATH}"; do + FILEPATH="${FILEPATH#./}" + done + if test "${FILEPATH}" = "./"; then + return + fi + echo "--prefix=${FILEPATH}" ) # Do the archive of the module { (for MODULE in "${@}"; do echo "${MODULE}"; done) | - "${SORT}" -rt ":" | + "${SORT}" -t ":" | while IFS=: read -r RELATIVE COMMIT; do - RESOLVED="$(resolve "${PREFIX-./}${RELATIVE}/")" + FLAG="$(prefix "${PREFIX-./}${RELATIVE}/")" + # shellcheck disable=SC2086 "${GIT}" \ --git-dir "${DST}" \ archive \ --format="${FORMAT}" \ - --prefix="${RESOLVED}" \ + ${FLAG} \ "${COMMIT}" done -} | "${COMPRESS}" >"${OUTPUT}" +} | + "${CONCATENATE}" --duplicate skip | + "${COMPRESS}" >"${OUTPUT}" diff --git a/git/archive/rule.bzl b/git/archive/rule.bzl index ec8abed..022b57e 100644 --- a/git/archive/rule.bzl +++ b/git/archive/rule.bzl @@ -14,11 +14,6 @@ ATTRS = { providers = [GitModulesInfo], mandatory = True, ), - "template": attr.label( - doc = "The script to template and run.", - allow_single_file = True, - default = ":template", - ), "format": attr.string( doc = "The format of the archive", values = ["tar"], @@ -34,6 +29,11 @@ ATTRS = { doc = "A path prefix to for the archive.", default = "./", ), + "_template": attr.label( + doc = "The script to template and run.", + allow_single_file = True, + default = ":template", + ), } def _find_head(file): @@ -45,6 +45,7 @@ def _module(module): return "{}:{}".format(module.path, module.commit) def implementation(ctx): + concatenate = ctx.toolchains["@rules_tar//tar/toolchain/concatenate:type"] sort = ctx.toolchains["@rules_coreutils//coreutils/toolchain/sort:type"] chmod = ctx.toolchains["@rules_coreutils//coreutils/toolchain/chmod:type"] cp = ctx.toolchains["@rules_coreutils//coreutils/toolchain/cp:type"] @@ -52,10 +53,11 @@ def implementation(ctx): mkdir = ctx.toolchains["@rules_coreutils//coreutils/toolchain/mkdir:type"] git = ctx.toolchains["//git/toolchain/git:type"] - rendered = ctx.actions.declare_file("{}.rendered.{}".format(ctx.label.name, ctx.file.template.extension)) + rendered = ctx.actions.declare_file("{}.rendered.{}".format(ctx.label.name, ctx.file._template.extension)) substitutions = ctx.actions.template_dict() # TODO: remove `.path` when `TemplateDict#add` supports `File` for Path Mapping + substitutions.add("{{concatenate}}", concatenate.executable.path) substitutions.add("{{sort}}", sort.executable.path) substitutions.add("{{chmod}}", chmod.executable.path) substitutions.add("{{cp}}", cp.executable.path) @@ -65,7 +67,7 @@ def implementation(ctx): substitutions.add("{{git}}", git.executable.path) ctx.actions.expand_template( output = rendered, - template = ctx.file.template, + template = ctx.file._template, computed_substitutions = substitutions, is_executable = True, ) @@ -87,6 +89,7 @@ def implementation(ctx): inputs = ctx.files.dir, executable = rendered, tools = [ + concatenate.run, sort.run, chmod.run, cp.run, @@ -112,6 +115,7 @@ git_archive = rule( "@rules_coreutils//coreutils/toolchain/cp:type", "@rules_coreutils//coreutils/toolchain/ln:type", "@rules_coreutils//coreutils/toolchain/mkdir:type", + "@rules_tar//tar/toolchain/concatenate:type", ], ) diff --git a/git/checkout/posix.tmpl.sh b/git/checkout/posix.tmpl.sh index 70175e2..ffa96b1 100644 --- a/git/checkout/posix.tmpl.sh +++ b/git/checkout/posix.tmpl.sh @@ -1,8 +1,9 @@ -#! /usr/bin/env sh +#! /usr/bin/env bash # Strict Shell set -o errexit set -o nounset +set -o pipefail # Bazel replacements SORT="{{sort}}" -- GitLab