diff --git a/.bazelrc b/.bazelrc index 89a7098..e2044b7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -6,9 +6,18 @@ test --sandbox_tmpfs_path=/tmp # Use a hermetic JDK for tests. common --java_runtime_version=remotejdk_21 +# Enable platform-specific config +common --enable_platform_specific_config + # Set C++ standard to C++17 for abseil-cpp compatibility -build --cxxopt=-std=c++17 -build --host_cxxopt=-std=c++17 +# Use GCC/Clang syntax for Linux and macOS +build:linux --cxxopt=-std=c++17 +build:linux --host_cxxopt=-std=c++17 +build:macos --cxxopt=-std=c++17 +build:macos --host_cxxopt=-std=c++17 +# Use MSVC syntax for Windows +build:windows --cxxopt=/std:c++17 +build:windows --host_cxxopt=/std:c++17 # Avoid cache thrashing, but allow integration tests to find "bazel" on the PATH. common --incompatible_strict_action_env diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 737174c..0aeee82 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,7 +8,19 @@ on: jobs: test-jre21: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + bazel: '8.x' + - os: ubuntu-latest + bazel: '9.x' + - os: macos-latest + bazel: '8.x' + - os: macos-latest + bazel: '9.x' steps: - name: Setup Java JDK uses: actions/setup-java@v4 @@ -24,48 +36,67 @@ jobs: run: go install github.com/bazelbuild/bazelisk@latest && export PATH=$PATH:$(go env GOPATH)/bin - uses: actions/checkout@v4 - name: Run bazel-diff tests + env: + USE_BAZEL_VERSION: ${{ matrix.bazel }} run: ~/go/bin/bazelisk coverage --combined_report=lcov //cli/... --enable_bzlmod=true --enable_workspace=false - name: Upload coverage report uses: actions/upload-artifact@v4 if: always() with: - name: coverage-report-jre21 + name: coverage-report-jre21-${{ matrix.os }}-bazel-${{ matrix.bazel }} path: bazel-out/_coverage/_coverage_report.dat if-no-files-found: warn - name: Upload test logs uses: actions/upload-artifact@v4 if: always() with: - name: test-logs-jre21 + name: test-logs-jre21-${{ matrix.os }}-bazel-${{ matrix.bazel }} path: bazel-testlogs/ if-no-files-found: warn test-jre11-run-example: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - - bazel: '7.x' + - os: ubuntu-latest + bazel: '7.x' disable_workspace: 'false' extra_flags: '' - - bazel: '7.x' + - os: ubuntu-latest + bazel: '7.x' disable_workspace: 'false' extra_flags: '--incompatible_disable_native_repo_rules' - - bazel: '8.x' + - os: ubuntu-latest + bazel: '8.x' disable_workspace: 'true' extra_flags: '' - - bazel: '8.6.0rc1' + - os: ubuntu-latest + bazel: '8.6.0rc1' disable_workspace: 'true' extra_flags: '' - - bazel: '8.x' + - os: ubuntu-latest + bazel: '8.x' disable_workspace: 'true' extra_flags: '--incompatible_disable_native_repo_rules' - - bazel: '9.x' + - os: ubuntu-latest + bazel: '9.x' disable_workspace: 'true' extra_flags: '' - - bazel: '9.x' + - os: ubuntu-latest + bazel: '9.x' disable_workspace: 'true' extra_flags: '--incompatible_disable_native_repo_rules' + # Skip Windows + Bazel 7.x due to protobuf compilation issues on MSVC + # Windows is tested with Bazel 8.x and 9.x which are more current + - os: windows-latest + bazel: '8.x' + disable_workspace: 'true' + extra_flags: '' + - os: windows-latest + bazel: '9.x' + disable_workspace: 'true' + extra_flags: '' steps: - name: Setup Java JDK uses: actions/setup-java@v4 @@ -78,18 +109,39 @@ jobs: with: go-version: ^1.17 id: go - - name: Setup Bazelisk + - name: Setup Bazelisk (Linux/macOS) + if: runner.os != 'Windows' run: go install github.com/bazelbuild/bazelisk@latest && export PATH=$PATH:$(go env GOPATH)/bin + - name: Setup Bazelisk (Windows) + if: runner.os == 'Windows' + shell: pwsh + run: | + go install github.com/bazelbuild/bazelisk@latest + $env:PATH = "$env:PATH;$(go env GOPATH)\bin" + echo "$env:USERPROFILE\go\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Run bazel-diff example script + - name: Run bazel-diff example script (Linux) + if: runner.os != 'Windows' env: USE_BAZEL_VERSION: ${{ matrix.bazel }} BAZEL_DIFF_DISABLE_WORKSPACE: ${{ matrix.disable_workspace }} BAZEL_DIFF_FORCE_CHECKOUT: true BAZEL_EXTRA_COMMAND_OPTIONS: ${{ matrix.extra_flags }} run: ./bazel-diff-example.sh "$GITHUB_WORKSPACE" ~/go/bin/bazelisk $(git rev-parse HEAD~1) $(git rev-parse HEAD) + - name: Run bazel-diff example script (Windows) + if: runner.os == 'Windows' + env: + USE_BAZEL_VERSION: ${{ matrix.bazel }} + BAZEL_DIFF_DISABLE_WORKSPACE: ${{ matrix.disable_workspace }} + BAZEL_DIFF_FORCE_CHECKOUT: true + BAZEL_EXTRA_COMMAND_OPTIONS: ${{ matrix.extra_flags }} + shell: pwsh + run: | + $prevRev = git rev-parse HEAD~1 + $currRev = git rev-parse HEAD + .\bazel-diff-example.ps1 -WorkspacePath "$env:GITHUB_WORKSPACE" -BazelPath "$env:USERPROFILE\go\bin\bazelisk.exe" -PreviousRevision $prevRev -FinalRevision $currRev deploy: needs: [test-jre21] runs-on: ubuntu-latest diff --git a/MODULE.bazel b/MODULE.bazel index efcc831..6451171 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,11 +1,11 @@ module( name = "bazel-diff", - version = "15.0.2", + version = "15.0.3", compatibility_level = 0, ) bazel_dep(name = "rules_license", version = "1.0.0", dev_dependency = True) -bazel_dep(name = "aspect_rules_lint", version = "1.0.2", dev_dependency = True) +bazel_dep(name = "aspect_rules_lint", version = "2.1.0", dev_dependency = True) bazel_dep(name = "aspect_bazel_lib", version = "2.22.5", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.9.0") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b170f1d..d2b051b 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,5 +1,5 @@ { - "lockFileVersion": 24, + "lockFileVersion": 26, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", @@ -28,7 +28,6 @@ "https://bcr.bazel.build/modules/apple_support/1.17.1/MODULE.bazel": "655c922ab1209978a94ef6ca7d9d43e940cd97d9c172fb55f94d91ac53f8610b", "https://bcr.bazel.build/modules/apple_support/1.21.0/MODULE.bazel": "ac1824ed5edf17dee2fdd4927ada30c9f8c3b520be1b5fd02a5da15bc10bff3e", "https://bcr.bazel.build/modules/apple_support/1.21.1/MODULE.bazel": "5809fa3efab15d1f3c3c635af6974044bac8a4919c62238cce06acee8a8c11f1", - "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442", "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4", "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "7bee702b4862612f29333590f4b658a5832d433d6f8e4395f090e8f4e85d442f", @@ -107,8 +106,8 @@ "https://bcr.bazel.build/modules/boringssl/0.20241024.0/source.json": "d843092e682b84188c043ac742965d7f96e04c846c7e338187e03238674909a9", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "2ef4962c8b0b6d8d21928a89190755619254459bc67f870dc0ccb9ba9952d444", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/source.json": "19fb45ed3f0d55cbff94e402c39512940833ae3a68f9cbfd9518a1926b609c7c", - "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/buildozer/8.2.1/MODULE.bazel": "61e9433c574c2bd9519cad7fa66b9c1d2b8e8d5f3ae5d6528a2c2d26e68d874d", + "https://bcr.bazel.build/modules/buildozer/8.2.1/source.json": "7c33f6a26ee0216f85544b4bca5e9044579e0219b6898dd653f5fb449cf2e484", "https://bcr.bazel.build/modules/c-ares/1.15.0/MODULE.bazel": "ba0a78360fdc83f02f437a9e7df0532ad1fbaa59b722f6e715c11effebaa0166", "https://bcr.bazel.build/modules/c-ares/1.19.1/MODULE.bazel": "73bca21720772370ff91cc8e88bbbaf14897720c6473e87c1ddc0f848284c313", "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/MODULE.bazel": "f4632f68dbc075342966477d9c94a8a4a299d91e155980b042e1cd9f5a7ebcf5", @@ -343,13 +342,13 @@ "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.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e", - "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", "https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_java/8.6.0/MODULE.bazel": "9c064c434606d75a086f15ade5edb514308cccd1544c2b2a89bbac4310e41c71", "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", "https://bcr.bazel.build/modules/rules_java/8.9.0/MODULE.bazel": "e17c876cb53dcd817b7b7f0d2985b710610169729e8c371b2221cacdcd3dce4a", + "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", "https://bcr.bazel.build/modules/rules_java/9.3.0/MODULE.bazel": "f657c72d65ac449caae9abf2e68e66c0d36f9416848c4c4903d0b3234229e7f2", "https://bcr.bazel.build/modules/rules_java/9.3.0/source.json": "59ae7e662c3c7042b88bbb42ad12483523e234c65ebe4c51611baa43e85cb248", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -419,6 +418,7 @@ "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13", "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6", "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", "https://bcr.bazel.build/modules/rules_python/1.8.4/MODULE.bazel": "33e3971e66161a3e955f7a0d411a8d1f291c4ce4c561851512466f3c77ff8ece", "https://bcr.bazel.build/modules/rules_python/1.8.4/source.json": "9fbc0e57bae52cddcc3831d668bce87a47e0c655104a85098d4459dd9a3b0a10", "https://bcr.bazel.build/modules/rules_robolectric/4.14.1.2/MODULE.bazel": "d44fec647d0aeb67b9f3b980cf68ba634976f3ae7ccd6c07d790b59b87a4f251", @@ -474,151 +474,14 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { - "//:extensions.bzl%non_module_repositories": { - "general": { - "bzlTransitiveDigest": "+11C3Nl1PrqDZuEZBkWEY/1862q4s4Wb0bsOaKjAMhk=", - "usagesDigest": "kmdMPJAv+MdBe06gMQYvgoPevgzubgjzWh0pu4oZ9GM=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "ktfmt": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", - "attributes": { - "integrity": "sha256-l/x/vRlNAan6RdgUfAVSQDAD1VusSridhNe7TV4/SN4=", - "url": "https://repo1.maven.org/maven2/com/facebook/ktfmt/0.46/ktfmt-0.46-jar-with-dependencies.jar" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "", - "aspect_rules_lint", - "aspect_rules_lint+" - ], - [ - "aspect_rules_lint+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@aspect_rules_js+//npm:extensions.bzl%pnpm": { - "general": { - "bzlTransitiveDigest": "84254cX9w5vc9XgW+CDcoRvhkb3jBTxzzoCiYBXfCyI=", - "usagesDigest": "ZYGEy1FrDUNPBzAzD+ujlHkMEsVPMYOvpHm9RhUexUE=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "pnpm": { - "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_rule", - "attributes": { - "package": "pnpm", - "version": "8.6.7", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-vRIWpD/L4phf9Bk2o/O2TDR8fFoJnpYrp2TKqTIZF/qZ2/rgL3qKXzHofHgbXsinwMoSEigz28sqk3pQ+yMEQQ==", - "url": "", - "commit": "", - "patch_args": [ - "-p0" - ], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "load(\"@aspect_rules_js//js:defs.bzl\", \"js_binary\")\njs_binary(name = \"pnpm\", data = glob([\"package/**\"]), entry_point = \"package/dist/pnpm.cjs\", visibility = [\"//visibility:public\"])", - "generate_bzl_library_targets": false, - "extract_full_archive": true - } - }, - "pnpm__links": { - "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_links", - "attributes": { - "package": "pnpm", - "version": "8.6.7", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": {}, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [ - "no-sandbox" - ], - "lifecycle_hooks_use_default_shell_env": false, - "bins": {}, - "npm_translate_lock_repo": "", - "package_visibility": [ - "//visibility:public" - ], - "replace_package": "" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "aspect_bazel_lib+", - "bazel_lib", - "bazel_lib+" - ], - [ - "aspect_bazel_lib+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "aspect_bazel_lib+", - "bazel_tools", - "bazel_tools" - ], - [ - "aspect_rules_js+", - "aspect_bazel_lib", - "aspect_bazel_lib+" - ], - [ - "aspect_rules_js+", - "bazel_features", - "bazel_features+" - ], - [ - "aspect_rules_js+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "aspect_rules_js+", - "bazel_tools", - "bazel_tools" - ], - [ - "bazel_features+", - "bazel_tools", - "bazel_tools" - ], - [ - "bazel_lib+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@buildifier_prebuilt+//:defs.bzl%buildifier_prebuilt_deps_extension": { "general": { - "bzlTransitiveDigest": "SGILosx5Y/9gqlxz+OVua6yYM6U/ZgniyPU6ecTht1o=", + "bzlTransitiveDigest": "v+HoakYiUP63MwMfBXK4/O6x5u1DveZWcNkZ6n5JCMY=", "usagesDigest": "JCqhJg+TeFVLBlrKVGI0Npi9RChNqkZQAh9TYfbAobs=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:buildifier_prebuilt+,bazel_skylib bazel_skylib+", + "REPO_MAPPING:buildifier_prebuilt+,bazel_tools bazel_tools" + ], "generatedRepoSpecs": { "buildifier_darwin_amd64": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file", @@ -736,169 +599,29 @@ "assets_json": "[{\"arch\":\"amd64\",\"name\":\"buildifier\",\"platform\":\"darwin\",\"sha256\":\"e2f4a67691c5f55634fbfb3850eb97dd91be0edd059d947b6c83d120682e0216\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildifier\",\"platform\":\"darwin\",\"sha256\":\"7549b5f535219ac957aa2a6069d46fbfc9ea3f74abd85fd3d460af4b1a2099a6\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildifier\",\"platform\":\"linux\",\"sha256\":\"51bc947dabb7b14ec6fb1224464fbcf7a7cb138f1a10a3b328f00835f72852ce\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildifier\",\"platform\":\"linux\",\"sha256\":\"0ba6e8e3208b5a029164e542ddb5509e618f87b639ffe8cc2f54770022853080\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildifier\",\"platform\":\"windows\",\"sha256\":\"92bdd284fbc6766fc3e300b434ff9e68ac4d76a06cb29d1bdefe79a102a8d135\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildozer\",\"platform\":\"darwin\",\"sha256\":\"4014751a4cc5e91a7dc4b64be7b30c565bd9014ae6d1879818dc624562a1d431\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildozer\",\"platform\":\"darwin\",\"sha256\":\"e78bd5357f2356067d4b0d49ec4e4143dd9b1308746afc6ff11b55b952f462d7\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildozer\",\"platform\":\"linux\",\"sha256\":\"2aef0f1ef80a0140b8fe6e6a8eb822e14827d8855bfc6681532c7530339ea23b\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildozer\",\"platform\":\"linux\",\"sha256\":\"586e27630cbc242e8bd6fe8e24485eca8dcadea6410cc13cbe059202655980ac\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildozer\",\"platform\":\"windows\",\"sha256\":\"07664d5d08ee099f069cd654070cabf2708efaae9f52dc83921fa400c67a868b\",\"version\":\"v6.1.2\"}]" } } - }, - "recordedRepoMappingEntries": [ - [ - "buildifier_prebuilt+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "buildifier_prebuilt+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@envoy_api+//bazel:repositories.bzl%non_module_deps": { - "general": { - "bzlTransitiveDigest": "GVR9ZmHmKQd+k6FY/jDmYTlwLU/H7IRoXDz3w4dqRdI=", - "usagesDigest": "lOhJkV09ITWn6LOK9fLMuf1t3969wdr45lToQ2MVQoU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "prometheus_metrics_model": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "urls": [ - "https://github.com/prometheus/client_model/archive/v0.6.2.tar.gz" - ], - "sha256": "47c5ea7949f68e7f7b344350c59b6bd31eeb921f0eec6c3a566e27cf1951470c", - "strip_prefix": "client_model-0.6.2", - "build_file_content": "\nload(\"@envoy_api//bazel:api_build_system.bzl\", \"api_cc_py_proto_library\")\nload(\"@io_bazel_rules_go//proto:def.bzl\", \"go_proto_library\")\n\napi_cc_py_proto_library(\n name = \"client_model\",\n srcs = [\n \"io/prometheus/client/metrics.proto\",\n ],\n visibility = [\"//visibility:public\"],\n)\n\ngo_proto_library(\n name = \"client_model_go_proto\",\n importpath = \"github.com/prometheus/client_model/go\",\n proto = \":client_model\",\n visibility = [\"//visibility:public\"],\n)\n" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "envoy_api+", - "bazel_tools", - "bazel_tools" - ], - [ - "envoy_api+", - "envoy_api", - "envoy_api+" - ] - ] - } - }, - "@@googleapis+//:extensions.bzl%switched_rules": { - "general": { - "bzlTransitiveDigest": "1ZTg77R3Ks/ksx8QMNIoTRJetbJPRlzGFlJa9hoUn+Y=", - "usagesDigest": "phuibqqjsm5RJqquWNJ7BXJvnPPgSCBreyRLEH/JjIA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": {}, - "recordedRepoMappingEntries": [] - } - }, - "@@pybind11_bazel+//:internal_configure.bzl%internal_configure_extension": { - "general": { - "bzlTransitiveDigest": "uxP2cZuW027Q8wpZbeJeuW5MXcNBO8GcOK/LNN2sPvQ=", - "usagesDigest": "D1r3lfzMuUBFxgG8V6o0bQTLMk3GkaGOaPzw53wrwyw=", - "recordedFileInputs": { - "@@pybind11_bazel+//MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34" - }, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "pybind11": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "build_file": "@@pybind11_bazel+//:pybind11-BUILD.bazel", - "strip_prefix": "pybind11-2.12.0", - "urls": [ - "https://github.com/pybind/pybind11/archive/v2.12.0.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "pybind11_bazel+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_android+//bzlmod_extensions:apksig.bzl%apksig_extension": { - "general": { - "bzlTransitiveDigest": "xeN+uPP1PKslnv5h3+uyhGaFXC4IIzcFwX/nQHlNwZk=", - "usagesDigest": "zr/niBQ/s2fHozWAsg4vI70wAxcuFjG+QtM15qGkq9o=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "apksig": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://android.googlesource.com/platform/tools/apksig/+archive/24e3075e68ebe17c0b529bb24bfda819db5e2f3b.tar.gz", - "build_file": "@@rules_android+//bzlmod_extensions:apksig.BUILD" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_android+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_android+//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": { - "general": { - "bzlTransitiveDigest": "2icqERrdWnpamgt/akEgAtfBsjNG1/st+AAFRZx9aH4=", - "usagesDigest": "c1Y/KGGjUYCyd8zNIVTUh1bynVXRFz6xGKaSCBpQANM=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_android_dex": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz", - "build_file": "@@rules_android+//bzlmod_extensions:com_android_dex.BUILD" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_android+", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_android+//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": { "general": { "bzlTransitiveDigest": "+rMrzIrv7sImYmkbXJYv+gFpTJQ79X3MpwwMLI2A+oA=", "usagesDigest": "iEGI2aNDMkHt9LXCdViLNUUOslpiVj2DrevWWXZEFnU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "androidsdk": { "repoRuleId": "@@rules_android+//rules/android_sdk_repository:rule.bzl%_android_sdk_repository", "attributes": {} } - }, - "recordedRepoMappingEntries": [] + } } }, "@@rules_buf+//buf:extensions.bzl%ext": { "general": { - "bzlTransitiveDigest": "m6JhnDQjtv1Gv36qXoZpNqTHIQN6fD/+MYRZa5Mtr48=", + "bzlTransitiveDigest": "jPVNXOmzZswjd7FZCQk0mOXkvt6/dS9OuJa4wwbDE5M=", "usagesDigest": "RTc2BMQ2b0wGU8CRvN3EoPz34m3LMe+K/oSkFkN83+M=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_buf+,bazel_tools bazel_tools" + ], "generatedRepoSpecs": { "rules_buf_toolchains": { "repoRuleId": "@@rules_buf+//buf/internal:toolchain.bzl%buf_download_releases", @@ -906,23 +629,14 @@ "version": "v1.27.0" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_buf+", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_multitool+//multitool:extension.bzl%multitool": { "general": { "bzlTransitiveDigest": "AtvPzG/SAawYMKVVHcMoJq4EXkVPTIhS3AeNwENXp9E=", "usagesDigest": "NlGXqxlfAAxarfrdXp4c9RPvFAAZFrtSqgTgl2BYKXE=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "multitool.linux_arm64": { "repoRuleId": "@@rules_multitool+//multitool/private:multitool.bzl%_env_specific_tools", @@ -977,17 +691,14 @@ ] } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@rules_nodejs+//nodejs:extensions.bzl%node": { "general": { "bzlTransitiveDigest": "4pUxCNc22K4I+6+4Nxu52Hur12tFRfa1JMsN5mdDv60=", "usagesDigest": "l5Z2+8YxTTnxb5NhHGrLYUoTLfhNQO6ePdhNS/te4oA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "nodejs_linux_amd64": { "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories", @@ -1111,91 +822,31 @@ "user_node_repository_name": "nodejs" } } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_perl+//perl:extensions.bzl%perl_repositories": { - "general": { - "bzlTransitiveDigest": "rEvFEEQbGp20qoG38ex+bV2NMG2GhUnSh3CZscNcozE=", - "usagesDigest": "qSSNDdCNVxNhY36wMndEAFacdhR0ooLTmumfad0km9s=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "perl_darwin_arm64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-darwin-arm64", - "sha256": "285769f3c50c339fb59a3987b216ae3c5c573b95babe6875a1ef56fb178433da", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-darwin-arm64.tar.xz" - ] - } - }, - "perl_darwin_amd64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-darwin-amd64", - "sha256": "63bc5ee36f5394d71c50cca6cafdd333ee58f9eaa40bca63c85f9bd06f2c1fd6", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-darwin-amd64.tar.xz" - ] - } - }, - "perl_linux_amd64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-linux-amd64", - "sha256": "3bdffa9d7a3f97c0207314637b260ba5115b1d0829f97e3e2e301191a4d4d076", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-linux-amd64.tar.xz" - ] - } - }, - "perl_linux_arm64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-linux-arm64", - "sha256": "6fa4ece99e790ecbc2861f6ecb7b52694c01c2eeb215b4370f16a3b12d952117", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-linux-arm64.tar.xz" - ] - } - }, - "perl_windows_x86_64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "", - "sha256": "aeb973da474f14210d3e1a1f942dcf779e2ae7e71e4c535e6c53ebabe632cc98", - "urls": [ - "https://mirror.bazel.build/strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip", - "https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_perl+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_perl+", - "rules_perl", - "rules_perl+" - ] - ] + } } }, "@@rules_python+//python/extensions:config.bzl%config": { "general": { - "bzlTransitiveDigest": "uo49IDITNsksO4x76pZ7eYlLKomkU77mK8VTrbCHXZM=", + "bzlTransitiveDigest": "wUM/eFwo5Zy7rn36nZ9ZxN9tXhmcWMVGXIExerGg6gM=", "usagesDigest": "p2al+dDKI5UlCyNvheMVynbWSGbdiji/jMz53fMNfJA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,pypi__build rules_python++config+pypi__build", + "REPO_MAPPING:rules_python+,pypi__click rules_python++config+pypi__click", + "REPO_MAPPING:rules_python+,pypi__colorama rules_python++config+pypi__colorama", + "REPO_MAPPING:rules_python+,pypi__importlib_metadata rules_python++config+pypi__importlib_metadata", + "REPO_MAPPING:rules_python+,pypi__installer rules_python++config+pypi__installer", + "REPO_MAPPING:rules_python+,pypi__more_itertools rules_python++config+pypi__more_itertools", + "REPO_MAPPING:rules_python+,pypi__packaging rules_python++config+pypi__packaging", + "REPO_MAPPING:rules_python+,pypi__pep517 rules_python++config+pypi__pep517", + "REPO_MAPPING:rules_python+,pypi__pip rules_python++config+pypi__pip", + "REPO_MAPPING:rules_python+,pypi__pip_tools rules_python++config+pypi__pip_tools", + "REPO_MAPPING:rules_python+,pypi__pyproject_hooks rules_python++config+pypi__pyproject_hooks", + "REPO_MAPPING:rules_python+,pypi__setuptools rules_python++config+pypi__setuptools", + "REPO_MAPPING:rules_python+,pypi__tomli rules_python++config+pypi__tomli", + "REPO_MAPPING:rules_python+,pypi__wheel rules_python++config+pypi__wheel", + "REPO_MAPPING:rules_python+,pypi__zipp rules_python++config+pypi__zipp" + ], "generatedRepoSpecs": { "rules_python_internal": { "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo", @@ -1339,98 +990,17 @@ "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_python+", - "pypi__build", - "rules_python++config+pypi__build" - ], - [ - "rules_python+", - "pypi__click", - "rules_python++config+pypi__click" - ], - [ - "rules_python+", - "pypi__colorama", - "rules_python++config+pypi__colorama" - ], - [ - "rules_python+", - "pypi__importlib_metadata", - "rules_python++config+pypi__importlib_metadata" - ], - [ - "rules_python+", - "pypi__installer", - "rules_python++config+pypi__installer" - ], - [ - "rules_python+", - "pypi__more_itertools", - "rules_python++config+pypi__more_itertools" - ], - [ - "rules_python+", - "pypi__packaging", - "rules_python++config+pypi__packaging" - ], - [ - "rules_python+", - "pypi__pep517", - "rules_python++config+pypi__pep517" - ], - [ - "rules_python+", - "pypi__pip", - "rules_python++config+pypi__pip" - ], - [ - "rules_python+", - "pypi__pip_tools", - "rules_python++config+pypi__pip_tools" - ], - [ - "rules_python+", - "pypi__pyproject_hooks", - "rules_python++config+pypi__pyproject_hooks" - ], - [ - "rules_python+", - "pypi__setuptools", - "rules_python++config+pypi__setuptools" - ], - [ - "rules_python+", - "pypi__tomli", - "rules_python++config+pypi__tomli" - ], - [ - "rules_python+", - "pypi__wheel", - "rules_python++config+pypi__wheel" - ], - [ - "rules_python+", - "pypi__zipp", - "rules_python++config+pypi__zipp" - ] - ] + } } }, "@@rules_python+//python/uv:uv.bzl%uv": { "general": { - "bzlTransitiveDigest": "zyNsrbgVKwpA0B3zI84imAfuC424VSzYNPgjr/HJy5M=", + "bzlTransitiveDigest": "ijW9KS7qsIY+yBVvJ+Nr1mzwQox09j13DnE3iIwaeTM=", "usagesDigest": "/HRt5Hw/vpDr9CDrKEPjeDIjxo4307VLxMu8BNAEDWA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,platforms platforms" + ], "generatedRepoSpecs": { "uv": { "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo", @@ -1450,28 +1020,14 @@ "toolchain_target_settings": {} } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_python+", - "platforms", - "platforms" - ] - ] + } } }, "@@tar.bzl+//tar:extensions.bzl%toolchains": { "general": { "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "bsd_tar_toolchains": { "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", @@ -1515,17 +1071,14 @@ "platform": "windows_arm64" } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@toolchains_protoc+//protoc:extensions.bzl%protoc": { "general": { "bzlTransitiveDigest": "HnmcD4ia7/1ZuQnymt4OGHXrW62MmIgwCtHByGQ7LQs=", "usagesDigest": "8nmQyO6LoaF/+HM3ni78Za6MQ5BVffJheAFJgl6hvoY=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "toolchains_protoc_hub.linux_aarch_64": { "repoRuleId": "@@toolchains_protoc+//protoc/private:prebuilt_protoc_toolchain.bzl%prebuilt_protoc_repo", @@ -1588,10 +1141,710 @@ "alias_to": "toolchains_protoc_hub.osx_aarch_64" } } - }, - "recordedRepoMappingEntries": [] + } } } }, - "facts": {} + "facts": { + "@@rules_go+//go:extensions.bzl%go_sdk": { + "1.20.2": { + "darwin_amd64": [ + "go1.20.2.darwin-amd64.tar.gz", + "c93b8ced9517d07e1cd4c362c6e2d5242cb139e29b417a328fbf19aded08764c" + ], + "darwin_arm64": [ + "go1.20.2.darwin-arm64.tar.gz", + "7343c87f19e79c0063532e82e1c4d6f42175a32d99f7a4d15e658e88bf97f885" + ], + "freebsd_386": [ + "go1.20.2.freebsd-386.tar.gz", + "14f9be2004e042b3a64d0facb0c020756a9084a5c7333e33b0752b393b6016ea" + ], + "freebsd_amd64": [ + "go1.20.2.freebsd-amd64.tar.gz", + "b41b67b4f1b56797a7cecf6ee7f47fcf4f93960b2788a3683c07dd009d30b2a4" + ], + "linux_386": [ + "go1.20.2.linux-386.tar.gz", + "ee240ed33ae57504c41f04c12236aeaa17fbeb6ea9fcd096cd9dc7a89d10d4db" + ], + "linux_amd64": [ + "go1.20.2.linux-amd64.tar.gz", + "4eaea32f59cde4dc635fbc42161031d13e1c780b87097f4b4234cfce671f1768" + ], + "linux_arm64": [ + "go1.20.2.linux-arm64.tar.gz", + "78d632915bb75e9a6356a47a42625fd1a785c83a64a643fedd8f61e31b1b3bef" + ], + "linux_armv6l": [ + "go1.20.2.linux-armv6l.tar.gz", + "d79d56bafd6b52b8d8cbe3f8e967caaac5383a23d7a4fa9ac0e89778cd16a076" + ], + "linux_ppc64le": [ + "go1.20.2.linux-ppc64le.tar.gz", + "850564ddb760cb703db63bf20182dc4407abd2ff090a95fa66d6634d172fd095" + ], + "linux_s390x": [ + "go1.20.2.linux-s390x.tar.gz", + "8da24c5c4205fe8115f594237e5db7bcb1d23df67bc1fa9a999954b1976896e8" + ], + "windows_386": [ + "go1.20.2.windows-386.zip", + "31838b291117495bbb93683603e98d5118bfabd2eb318b4d07540bfd524bab86" + ], + "windows_amd64": [ + "go1.20.2.windows-amd64.zip", + "fe439f0e438f7555a7f5f7194ddb6f4a07b0de1fa414385d19f2aeb26d9f43db" + ], + "windows_arm64": [ + "go1.20.2.windows-arm64.zip", + "ac5010c8b8b22849228a8dea698d58b9c7be2195d30c6d778cce0f709858fa64" + ] + }, + "1.22.0": { + "aix_ppc64": [ + "go1.22.0.aix-ppc64.tar.gz", + "190e105fc4133a8b5bb1492f368fa89aa4b729270441120714be7ee82e871ebc" + ], + "darwin_amd64": [ + "go1.22.0.darwin-amd64.tar.gz", + "ebca81df938d2d1047cc992be6c6c759543cf309d401b86af38a6aed3d4090f4" + ], + "darwin_arm64": [ + "go1.22.0.darwin-arm64.tar.gz", + "bf8e388b09134164717cd52d3285a4ab3b68691b80515212da0e9f56f518fb1e" + ], + "dragonfly_amd64": [ + "go1.22.0.dragonfly-amd64.tar.gz", + "357ab446200effa26c73ccaf3e8551426428950bf2490859fb296a09e53228b1" + ], + "freebsd_386": [ + "go1.22.0.freebsd-386.tar.gz", + "b8065da37783e8b9e7086365a54d74537e832c92311b61101a66989ab2458d8e" + ], + "freebsd_amd64": [ + "go1.22.0.freebsd-amd64.tar.gz", + "50f421c7f217083ac94aab1e09400cb9c2fea7d337679ec11f1638a11460da30" + ], + "freebsd_arm64": [ + "go1.22.0.freebsd-arm64.tar.gz", + "e23385e5c640787fa02cd58f2301ea09e162c4d99f8ca9fa6d52766f428a933d" + ], + "freebsd_armv6l": [ + "go1.22.0.freebsd-arm.tar.gz", + "c9c8b305f90903536f4981bad9f029828c2483b3216ca1783777344fbe603f2d" + ], + "freebsd_riscv64": [ + "go1.22.0.freebsd-riscv64.tar.gz", + "c8f94d1de6024546194d58e7b9370dc7ea06176aad94a675b0062c25c40cb645" + ], + "illumos_amd64": [ + "go1.22.0.illumos-amd64.tar.gz", + "d6792f11ad6ee5fc42d2fe51e1f1683471aa2ee4f20e3ad1be22a4afdbd38e7f" + ], + "linux_386": [ + "go1.22.0.linux-386.tar.gz", + "1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3" + ], + "linux_amd64": [ + "go1.22.0.linux-amd64.tar.gz", + "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265" + ], + "linux_arm64": [ + "go1.22.0.linux-arm64.tar.gz", + "6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10" + ], + "linux_armv6l": [ + "go1.22.0.linux-armv6l.tar.gz", + "0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4" + ], + "linux_loong64": [ + "go1.22.0.linux-loong64.tar.gz", + "b4b1d425cc113608452a32768469b6e34e538fd072bde9f508a75c8dbbdb843f" + ], + "linux_mips": [ + "go1.22.0.linux-mips.tar.gz", + "ec0f9194df750c78492c02e4c70ffe6f3864f2511e47c894415320db752719f8" + ], + "linux_mips64": [ + "go1.22.0.linux-mips64.tar.gz", + "47e938d215e4968ab42afb7307792e5e64184a717e8f176d0de7c411af96d63d" + ], + "linux_mips64le": [ + "go1.22.0.linux-mips64le.tar.gz", + "c162a1a516b8bc8839fc0c0283ad90f6b511e5aca3da4939ed4800f124b9e72c" + ], + "linux_mipsle": [ + "go1.22.0.linux-mipsle.tar.gz", + "6ce3e9a06e3a8ca0312dc1f85046b6914c19852eba5393c5cbf26acf698f8977" + ], + "linux_ppc64": [ + "go1.22.0.linux-ppc64.tar.gz", + "5ae23bf460731eb078f5700b01a50a303308b9f7174a2994892e28bf061f7c85" + ], + "linux_ppc64le": [ + "go1.22.0.linux-ppc64le.tar.gz", + "0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93" + ], + "linux_riscv64": [ + "go1.22.0.linux-riscv64.tar.gz", + "afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086" + ], + "linux_s390x": [ + "go1.22.0.linux-s390x.tar.gz", + "2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446" + ], + "netbsd_386": [ + "go1.22.0.netbsd-386.tar.gz", + "9b7e2dbd43a169bff18bf533a6c2f462eebe04126ab01c138d0d669c046e1658" + ], + "netbsd_amd64": [ + "go1.22.0.netbsd-amd64.tar.gz", + "b11995c271d2256dfe85cf54882ca3655e18c49c4d7db0502bff9977767894e7" + ], + "netbsd_arm64": [ + "go1.22.0.netbsd-arm64.tar.gz", + "499918ccfedde78264d194244d251bf41d95cf606cc0adad13b36b8103cb974f" + ], + "netbsd_armv6l": [ + "go1.22.0.netbsd-arm.tar.gz", + "b57a3aa9c862300ec0ee8609ce5e0f430f132044f351677fd34711a504081872" + ], + "openbsd_386": [ + "go1.22.0.openbsd-386.tar.gz", + "379e0829104c18a139d78b33378e6bd3ab2e0792f6c43b4c38e7f20d8d77b99d" + ], + "openbsd_amd64": [ + "go1.22.0.openbsd-amd64.tar.gz", + "ceb0c97ffc3bfaf74e1df843cb8571d7fc3173a08432f0f42112495df6a31520" + ], + "openbsd_arm64": [ + "go1.22.0.openbsd-arm64.tar.gz", + "358801cab7122ab50d7d92727644f26d818e9e973403f09e85c2e935a625db75" + ], + "openbsd_armv6l": [ + "go1.22.0.openbsd-arm.tar.gz", + "8af5aea3df539bc95ed412c0a176fe84baced70ea1dd29f4aa82d0e9ce27fd9f" + ], + "plan9_386": [ + "go1.22.0.plan9-386.tar.gz", + "fa42c545c9025c45ca9af176dc13a0f4af0cc26bacff6fcb35bb4a170ac538e8" + ], + "plan9_amd64": [ + "go1.22.0.plan9-amd64.tar.gz", + "d8cf64f37a1dfd8e190c5a303c43ab2d49324868f098d88a3106072d137a5a0b" + ], + "plan9_armv6l": [ + "go1.22.0.plan9-arm.tar.gz", + "86fd6165f0cbb47ad551094f74b3e5a6c5e09de858d8b99de72d978d41be6e2a" + ], + "solaris_amd64": [ + "go1.22.0.solaris-amd64.tar.gz", + "a6c12651768d3a74f16104502b4b7bef513ea6b646d99990a28d934c261d1689" + ], + "windows_386": [ + "go1.22.0.windows-386.zip", + "553d44928509965cbda02a45b35ab01cf8b925534bc526a34e2d9dc7794b57e8" + ], + "windows_amd64": [ + "go1.22.0.windows-amd64.zip", + "78b3158fe3aa358e0b6c9f26ecd338f9a11441e88bc434ae2e9f0ca2b0cc4dd3" + ], + "windows_arm64": [ + "go1.22.0.windows-arm64.zip", + "31a61e41d06a3bb2189a303f5f3e777ca4b454eff439f0a67bc2b166330021f4" + ], + "windows_armv6l": [ + "go1.22.0.windows-arm.zip", + "495c7dfaea4e2bf48643662bb622e4ce6378d6d9840015238ad4b8792b99ddbf" + ] + }, + "1.22.4": { + "aix_ppc64": [ + "go1.22.4.aix-ppc64.tar.gz", + "b9647fa9fc83a0cc5d4f092a19eaeaecf45f063a5aa7d4962fde65aeb7ae6ce1" + ], + "darwin_amd64": [ + "go1.22.4.darwin-amd64.tar.gz", + "c95967f50aa4ace34af0c236cbdb49a9a3e80ee2ad09d85775cb4462a5c19ed3" + ], + "darwin_arm64": [ + "go1.22.4.darwin-arm64.tar.gz", + "242b78dc4c8f3d5435d28a0d2cec9b4c1aa999b601fb8aa59fb4e5a1364bf827" + ], + "dragonfly_amd64": [ + "go1.22.4.dragonfly-amd64.tar.gz", + "f2fbb51af4719d3616efb482d6ed2b96579b474156f85a7ddc6f126764feec4b" + ], + "freebsd_386": [ + "go1.22.4.freebsd-386.tar.gz", + "7c54884bb9f274884651d41e61d1bc12738863ad1497e97ea19ad0e9aa6bf7b5" + ], + "freebsd_amd64": [ + "go1.22.4.freebsd-amd64.tar.gz", + "88d44500e1701dd35797619774d6dd51bf60f45a8338b0a82ddc018e4e63fb78" + ], + "freebsd_arm64": [ + "go1.22.4.freebsd-arm64.tar.gz", + "726dc093cf020277be45debf03c3b02b43c2efb3e2a5d4fba8f52579d65327dc" + ], + "freebsd_armv6l": [ + "go1.22.4.freebsd-arm.tar.gz", + "3d9efe47db142a22679aba46b1772e3900b0d87ae13bd2b3bc80dbf2ac0b2cd6" + ], + "freebsd_riscv64": [ + "go1.22.4.freebsd-riscv64.tar.gz", + "5f6b67e5e32f1d6ccb2d4dcb44934a5e2e870a877ba7443d86ec43cfc28afa71" + ], + "illumos_amd64": [ + "go1.22.4.illumos-amd64.tar.gz", + "d56ecc2f85b6418a21ef83879594d0c42ab4f65391a676bb12254870e6690d63" + ], + "linux_386": [ + "go1.22.4.linux-386.tar.gz", + "47a2a8d249a91eb8605c33bceec63aedda0441a43eac47b4721e3975ff916cec" + ], + "linux_amd64": [ + "go1.22.4.linux-amd64.tar.gz", + "ba79d4526102575196273416239cca418a651e049c2b099f3159db85e7bade7d" + ], + "linux_arm64": [ + "go1.22.4.linux-arm64.tar.gz", + "a8e177c354d2e4a1b61020aca3562e27ea3e8f8247eca3170e3fa1e0c2f9e771" + ], + "linux_armv6l": [ + "go1.22.4.linux-armv6l.tar.gz", + "e2b143fbacbc9cbd448e9ef41ac3981f0488ce849af1cf37e2341d09670661de" + ], + "linux_loong64": [ + "go1.22.4.linux-loong64.tar.gz", + "e2ff9436e4b34bf6926b06d97916e26d67a909a2effec17967245900f0816f1d" + ], + "linux_mips": [ + "go1.22.4.linux-mips.tar.gz", + "73f0dcc60458c4770593b05a7bc01cc0d31fc98f948c0c2334812c7a1f2fc3f1" + ], + "linux_mips64": [ + "go1.22.4.linux-mips64.tar.gz", + "417af97fc2630a647052375768be4c38adcc5af946352ea5b28613ea81ca5d45" + ], + "linux_mips64le": [ + "go1.22.4.linux-mips64le.tar.gz", + "7486e2d7dd8c98eb44df815ace35a7fe7f30b7c02326e3741bd934077508139b" + ], + "linux_mipsle": [ + "go1.22.4.linux-mipsle.tar.gz", + "69479c8aad301e459a8365b40cad1074a0dbba5defb9291669f94809c4c4be6e" + ], + "linux_ppc64": [ + "go1.22.4.linux-ppc64.tar.gz", + "dd238847e65bc3e2745caca475a5db6522a2fcf85cf6c38fc36a06642b19efd7" + ], + "linux_ppc64le": [ + "go1.22.4.linux-ppc64le.tar.gz", + "a3e5834657ef92523f570f798fed42f1f87bc18222a16815ec76b84169649ec4" + ], + "linux_riscv64": [ + "go1.22.4.linux-riscv64.tar.gz", + "56a827ff7dc6245bcd7a1e9288dffaa1d8b0fd7468562264c1523daf3b4f1b4a" + ], + "linux_s390x": [ + "go1.22.4.linux-s390x.tar.gz", + "7590c3e278e2dc6040aae0a39da3ca1eb2e3921673a7304cc34d588c45889eec" + ], + "netbsd_386": [ + "go1.22.4.netbsd-386.tar.gz", + "ddd2eebe34471a2502de6c5dad04ab27c9fc80cbde7a9ad5b3c66ecec4504e1d" + ], + "netbsd_amd64": [ + "go1.22.4.netbsd-amd64.tar.gz", + "33af79f6f935f6fbacc5d23876450b3567b79348fc065beef8e64081127dd234" + ], + "netbsd_arm64": [ + "go1.22.4.netbsd-arm64.tar.gz", + "c9a2971dec9f6d320c6f2b049b2353c6d0a2d35e87b8a4b2d78a2f0d62545f8e" + ], + "netbsd_armv6l": [ + "go1.22.4.netbsd-arm.tar.gz", + "fa3550ebd5375a70b3bcd342b5a71f4bd271dcbbfaf4eabefa2144ab5d8924b6" + ], + "openbsd_386": [ + "go1.22.4.openbsd-386.tar.gz", + "d21af022331bfdc2b5b161d616c3a1a4573d33cf7a30416ee509a8f3641deb47" + ], + "openbsd_amd64": [ + "go1.22.4.openbsd-amd64.tar.gz", + "72c0094c43f7e5722ec49c2a3e9dfa7a1123ac43a5f3a63eecf3e3795d3ff0ae" + ], + "openbsd_arm64": [ + "go1.22.4.openbsd-arm64.tar.gz", + "a7ab8d4e0b02bf06ed144ba42c61c0e93ee00f2b433415dfd4ad4b6e79f31650" + ], + "openbsd_armv6l": [ + "go1.22.4.openbsd-arm.tar.gz", + "1096831ea3c5ea3ca57d14251d9eda3786889531eb40d7d6775dcaa324d4b065" + ], + "openbsd_ppc64": [ + "go1.22.4.openbsd-ppc64.tar.gz", + "9716327c8a628358798898dc5148c49dbbeb5196bf2cbf088e550721a6e4f60b" + ], + "plan9_386": [ + "go1.22.4.plan9-386.tar.gz", + "a8dd4503c95c32a502a616ab78870a19889c9325fe9bd31eb16dd69346e4bfa8" + ], + "plan9_amd64": [ + "go1.22.4.plan9-amd64.tar.gz", + "5423a25808d76fe5aca8607a2e5ac5673abf45446b168cb5e9d8519ee9fe39a1" + ], + "plan9_armv6l": [ + "go1.22.4.plan9-arm.tar.gz", + "6af939ad583f5c85c09c53728ab7d38c3cc2b39167562d6c18a07c5c6608b370" + ], + "solaris_amd64": [ + "go1.22.4.solaris-amd64.tar.gz", + "e8cabe69c03085725afdb32a6f9998191a3e55a747b270d835fd05000d56abba" + ], + "windows_386": [ + "go1.22.4.windows-386.zip", + "aca4e2c37278a10f1c70dd0df142f7d66b50334fcee48978d409202d308d6d25" + ], + "windows_amd64": [ + "go1.22.4.windows-amd64.zip", + "26321c4d945a0035d8a5bc4a1965b0df401ff8ceac66ce2daadabf9030419a98" + ], + "windows_arm64": [ + "go1.22.4.windows-arm64.zip", + "8a2daa9ea28cbdafddc6171aefed384f4e5b6e714fb52116fe9ed25a132f37ed" + ], + "windows_armv6l": [ + "go1.22.4.windows-arm.zip", + "5fcd0671a49cecf39b41021621ee1b6e7aa1370f37122b72e80d4fd4185833b6" + ] + }, + "1.24.0": { + "aix_ppc64": [ + "go1.24.0.aix-ppc64.tar.gz", + "5d04588154d5923bd8e26b76111806340ec55c41af1b05623ea744fcb3d6bc22" + ], + "darwin_amd64": [ + "go1.24.0.darwin-amd64.tar.gz", + "7af054e5088b68c24b3d6e135e5ca8d91bbd5a05cb7f7f0187367b3e6e9e05ee" + ], + "darwin_arm64": [ + "go1.24.0.darwin-arm64.tar.gz", + "fd9cfb5dd6c75a347cfc641a253f0db1cebaca16b0dd37965351c6184ba595e4" + ], + "dragonfly_amd64": [ + "go1.24.0.dragonfly-amd64.tar.gz", + "d0dc34ad86aea746abe245994c68a9e1ad8f46ba8c4af901cd5861a4dd4c21df" + ], + "freebsd_386": [ + "go1.24.0.freebsd-386.tar.gz", + "4ee02b1f3812aff4da79c79464ee4038ca61ad74b3a9619850f30435f81c2536" + ], + "freebsd_amd64": [ + "go1.24.0.freebsd-amd64.tar.gz", + "838191001f9324da904dece35a586a3156d548687db87ac9461aa3d38fc88b09" + ], + "freebsd_arm": [ + "go1.24.0.freebsd-arm.tar.gz", + "ce6ad4e84a40a8a1d848b7e31b0cddfd1cee8f7959e7dc358a8fa8b5566ea718" + ], + "freebsd_arm64": [ + "go1.24.0.freebsd-arm64.tar.gz", + "511f7b0cac4c4ed1066d324072ce223b906ad6b2a85f2e1c5d260eb7d08b5901" + ], + "freebsd_riscv64": [ + "go1.24.0.freebsd-riscv64.tar.gz", + "a1e4072630dc589a2975ef51317b52c7d8599bf6f389fc59033c01e0a0fa705a" + ], + "illumos_amd64": [ + "go1.24.0.illumos-amd64.tar.gz", + "7593e9dcee9f07c3df6d099f7d259f5734a6c0dccc5f28962f18e7f501c9bb21" + ], + "linux_386": [ + "go1.24.0.linux-386.tar.gz", + "90521453a59c6ce20364d2dc7c38532949b033b602ba12d782caeb90af1b0624" + ], + "linux_amd64": [ + "go1.24.0.linux-amd64.tar.gz", + "dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858" + ], + "linux_arm64": [ + "go1.24.0.linux-arm64.tar.gz", + "c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7" + ], + "linux_armv6l": [ + "go1.24.0.linux-armv6l.tar.gz", + "695dc54fa14cd3124fa6900d7b5ae39eeac23f7a4ecea81656070160fac2c54a" + ], + "linux_loong64": [ + "go1.24.0.linux-loong64.tar.gz", + "a201e4c9b7e6d29ed64c43296ed88e81a66f82f2093ce45b766d2c526941396f" + ], + "linux_mips": [ + "go1.24.0.linux-mips.tar.gz", + "f3ac039aae78ad0bfb08106406c2e62eaf763dd82ebaf0ecd539adadd1d729a6" + ], + "linux_mips64": [ + "go1.24.0.linux-mips64.tar.gz", + "f2e6456d45e024831b1da8d88b1bb6392cca9500c1b00841f525d76c9e9553e0" + ], + "linux_mips64le": [ + "go1.24.0.linux-mips64le.tar.gz", + "b847893ff119389c939adc2b8516b6500204b7cb49d5e19b25e1c2091d2c74c6" + ], + "linux_mipsle": [ + "go1.24.0.linux-mipsle.tar.gz", + "bd4aed27d02746c237c3921e97029ac6b6fe687a67436b8f52ff1f698d330bd9" + ], + "linux_ppc64": [ + "go1.24.0.linux-ppc64.tar.gz", + "007123c9b06c41729a4bb3f166f4df7196adf4e33c2d2ab0e7e990175f0ce1d4" + ], + "linux_ppc64le": [ + "go1.24.0.linux-ppc64le.tar.gz", + "a871a43de7d26c91dd90cb6e0adacb214c9e35ee2188c617c91c08c017efe81a" + ], + "linux_riscv64": [ + "go1.24.0.linux-riscv64.tar.gz", + "620dcf48c6297519aad6c81f8e344926dc0ab09a2a79f1e306964aece95a553d" + ], + "linux_s390x": [ + "go1.24.0.linux-s390x.tar.gz", + "544d78b077c6b54bf78958c4a8285abec2d21f668fb007261c77418cd2edbb46" + ], + "netbsd_386": [ + "go1.24.0.netbsd-386.tar.gz", + "8b143a7edefbaa2a0b0246c9df2df1bac9fbed909d8615a375c08da7744e697d" + ], + "netbsd_amd64": [ + "go1.24.0.netbsd-amd64.tar.gz", + "67150a6dd7bdb9c4e88d77f46ee8c4dc99d5e71deca4912d8c2c85f7a16d0262" + ], + "netbsd_arm": [ + "go1.24.0.netbsd-arm.tar.gz", + "446b2539f11218fd6f6f6e3dd90b20ae55a06afe129885eeb3df51eb344eb0f6" + ], + "netbsd_arm64": [ + "go1.24.0.netbsd-arm64.tar.gz", + "370115b6ff7d30b29431223de348eb11ab65e3c92627532d97fd55f63f94e7a8" + ], + "openbsd_386": [ + "go1.24.0.openbsd-386.tar.gz", + "cbda5f15f06ed9630f122a53542d9de13d149643633c74f1dcb45e79649b788a" + ], + "openbsd_amd64": [ + "go1.24.0.openbsd-amd64.tar.gz", + "926f601d0e655ab1e8d7f357fd82542e5cf206c38c4e2f9fccf0706987d38836" + ], + "openbsd_arm": [ + "go1.24.0.openbsd-arm.tar.gz", + "8a54892f8c933c541fff144a825d0fdc41bae14b0832aab703cb75eb4cb64f2c" + ], + "openbsd_arm64": [ + "go1.24.0.openbsd-arm64.tar.gz", + "ef7fddcef0a22c7900c178b7687cf5aa25c2a9d46a3cc330b77a6de6e6c2396b" + ], + "openbsd_ppc64": [ + "go1.24.0.openbsd-ppc64.tar.gz", + "b3b5e2e2b53489ded2c2c21900ddcbbdb7991632bb5b42f05f125d71675e0b76" + ], + "openbsd_riscv64": [ + "go1.24.0.openbsd-riscv64.tar.gz", + "fbcb1dbf1269b4079dc4fd0b15f3274b9d635f1a7e319c3fc1a907b03280348e" + ], + "plan9_386": [ + "go1.24.0.plan9-386.tar.gz", + "33b4221e1c174a16e3f661deab6c60838ac4ae6cb869a4da1d1115773ceed88b" + ], + "plan9_amd64": [ + "go1.24.0.plan9-amd64.tar.gz", + "111a89014019cdbd69c2978de9b3e201f77e35183c8ab3606fba339d38f28549" + ], + "plan9_arm": [ + "go1.24.0.plan9-arm.tar.gz", + "8da3d3997049f40ebe0cd336a9bb9e4bfa4832df3c90a32f07383371d6d74849" + ], + "solaris_amd64": [ + "go1.24.0.solaris-amd64.tar.gz", + "b6069da21dc95ccdbd047675b584e5480ffc3eba35f9e7c8b0e7b317aaf01e2c" + ], + "windows_386": [ + "go1.24.0.windows-386.zip", + "b53c28a4c2863ec50ab4a1dbebe818ef6177f86773b6f43475d40a5d9aa4ec9e" + ], + "windows_amd64": [ + "go1.24.0.windows-amd64.zip", + "96b7280979205813759ee6947be7e3bb497da85c482711116c00522e3bb41ff1" + ], + "windows_arm64": [ + "go1.24.0.windows-arm64.zip", + "53f73450fb66075d16be9f206e9177bd972b528168271918c4747903b5596c3d" + ] + }, + "1.25.0": { + "aix_ppc64": [ + "go1.25.0.aix-ppc64.tar.gz", + "e5234a7dac67bc86c528fe9752fc9d63557918627707a733ab4cac1a6faed2d4" + ], + "darwin_amd64": [ + "go1.25.0.darwin-amd64.tar.gz", + "5bd60e823037062c2307c71e8111809865116714d6f6b410597cf5075dfd80ef" + ], + "darwin_arm64": [ + "go1.25.0.darwin-arm64.tar.gz", + "544932844156d8172f7a28f77f2ac9c15a23046698b6243f633b0a0b00c0749c" + ], + "dragonfly_amd64": [ + "go1.25.0.dragonfly-amd64.tar.gz", + "5ed3cf9a810a1483822538674f1336c06b51aa1b94d6d545a1a0319a48177120" + ], + "freebsd_386": [ + "go1.25.0.freebsd-386.tar.gz", + "abea5d5c6697e6b5c224731f2158fe87c602996a2a233ac0c4730cd57bf8374e" + ], + "freebsd_amd64": [ + "go1.25.0.freebsd-amd64.tar.gz", + "86e6fe0a29698d7601c4442052dac48bd58d532c51cccb8f1917df648138730b" + ], + "freebsd_arm": [ + "go1.25.0.freebsd-arm.tar.gz", + "d90b78e41921f72f30e8bbc81d9dec2cff7ff384a33d8d8debb24053e4336bfe" + ], + "freebsd_arm64": [ + "go1.25.0.freebsd-arm64.tar.gz", + "451d0da1affd886bfb291b7c63a6018527b269505db21ce6e14724f22ab0662e" + ], + "freebsd_riscv64": [ + "go1.25.0.freebsd-riscv64.tar.gz", + "7b565f76bd8bda46549eeaaefe0e53b251e644c230577290c0f66b1ecdb3cdbe" + ], + "illumos_amd64": [ + "go1.25.0.illumos-amd64.tar.gz", + "b1e1fdaab1ad25aa1c08d7a36c97d45d74b98b89c3f78c6d2145f77face54a2c" + ], + "linux_386": [ + "go1.25.0.linux-386.tar.gz", + "8c602dd9d99bc9453b3995d20ce4baf382cc50855900a0ece5de9929df4a993a" + ], + "linux_amd64": [ + "go1.25.0.linux-amd64.tar.gz", + "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613" + ], + "linux_arm64": [ + "go1.25.0.linux-arm64.tar.gz", + "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae" + ], + "linux_armv6l": [ + "go1.25.0.linux-armv6l.tar.gz", + "a5a8f8198fcf00e1e485b8ecef9ee020778bf32a408a4e8873371bfce458cd09" + ], + "linux_loong64": [ + "go1.25.0.linux-loong64.tar.gz", + "cab86b1cf761b1cb3bac86a8877cfc92e7b036fc0d3084123d77013d61432afc" + ], + "linux_mips": [ + "go1.25.0.linux-mips.tar.gz", + "d66b6fb74c3d91b9829dc95ec10ca1f047ef5e89332152f92e136cf0e2da5be1" + ], + "linux_mips64": [ + "go1.25.0.linux-mips64.tar.gz", + "4082e4381a8661bc2a839ff94ba3daf4f6cde20f8fb771b5b3d4762dc84198a2" + ], + "linux_mips64le": [ + "go1.25.0.linux-mips64le.tar.gz", + "70002c299ec7f7175ac2ef673b1b347eecfa54ae11f34416a6053c17f855afcc" + ], + "linux_mipsle": [ + "go1.25.0.linux-mipsle.tar.gz", + "b00a3a39eff099f6df9f1c7355bf28e4589d0586f42d7d4a394efb763d145a73" + ], + "linux_ppc64": [ + "go1.25.0.linux-ppc64.tar.gz", + "df166f33bd98160662560a72ff0b4ba731f969a80f088922bddcf566a88c1ec1" + ], + "linux_ppc64le": [ + "go1.25.0.linux-ppc64le.tar.gz", + "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0" + ], + "linux_riscv64": [ + "go1.25.0.linux-riscv64.tar.gz", + "c018ff74a2c48d55c8ca9b07c8e24163558ffec8bea08b326d6336905d956b67" + ], + "linux_s390x": [ + "go1.25.0.linux-s390x.tar.gz", + "34e5a2e19f2292fbaf8783e3a241e6e49689276aef6510a8060ea5ef54eee408" + ], + "netbsd_386": [ + "go1.25.0.netbsd-386.tar.gz", + "f8586cdb7aa855657609a5c5f6dbf523efa00c2bbd7c76d3936bec80aa6c0aba" + ], + "netbsd_amd64": [ + "go1.25.0.netbsd-amd64.tar.gz", + "ae8dc1469385b86a157a423bb56304ba45730de8a897615874f57dd096db2c2a" + ], + "netbsd_arm": [ + "go1.25.0.netbsd-arm.tar.gz", + "1ff7e4cc764425fc9dd6825eaee79d02b3c7cafffbb3691687c8d672ade76cb7" + ], + "netbsd_arm64": [ + "go1.25.0.netbsd-arm64.tar.gz", + "e1b310739f26724216aa6d7d7208c4031f9ff54c9b5b9a796ddc8bebcb4a5f16" + ], + "openbsd_386": [ + "go1.25.0.openbsd-386.tar.gz", + "4802a9b20e533da91adb84aab42e94aa56cfe3e5475d0550bed3385b182e69d8" + ], + "openbsd_amd64": [ + "go1.25.0.openbsd-amd64.tar.gz", + "c016cd984bebe317b19a4f297c4f50def120dc9788490540c89f28e42f1dabe1" + ], + "openbsd_arm": [ + "go1.25.0.openbsd-arm.tar.gz", + "a1e31d0bf22172ddde42edf5ec811ef81be43433df0948ece52fecb247ccfd8d" + ], + "openbsd_arm64": [ + "go1.25.0.openbsd-arm64.tar.gz", + "343ea8edd8c218196e15a859c6072d0dd3246fbbb168481ab665eb4c4140458d" + ], + "openbsd_ppc64": [ + "go1.25.0.openbsd-ppc64.tar.gz", + "694c14da1bcaeb5e3332d49bdc2b6d155067648f8fe1540c5de8f3cf8e157154" + ], + "openbsd_riscv64": [ + "go1.25.0.openbsd-riscv64.tar.gz", + "aa510ad25cf54c06cd9c70b6d80ded69cb20188ac6e1735655eef29ff7e7885f" + ], + "plan9_386": [ + "go1.25.0.plan9-386.tar.gz", + "46f8cef02086cf04bf186c5912776b56535178d4cb319cd19c9fdbdd29231986" + ], + "plan9_amd64": [ + "go1.25.0.plan9-amd64.tar.gz", + "29b34391d84095e44608a228f63f2f88113a37b74a79781353ec043dfbcb427b" + ], + "plan9_arm": [ + "go1.25.0.plan9-arm.tar.gz", + "0a047107d13ebe7943aaa6d54b1d7bbd2e45e68ce449b52915a818da715799c2" + ], + "solaris_amd64": [ + "go1.25.0.solaris-amd64.tar.gz", + "9977f9e4351984364a3b2b78f8b88bfd1d339812356d5237678514594b7d3611" + ], + "windows_386": [ + "go1.25.0.windows-386.zip", + "df9f39db82a803af0db639e3613a36681ab7a42866b1384b3f3a1045663961a7" + ], + "windows_amd64": [ + "go1.25.0.windows-amd64.zip", + "89efb4f9b30812eee083cc1770fdd2913c14d301064f6454851428f9707d190b" + ], + "windows_arm64": [ + "go1.25.0.windows-arm64.zip", + "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" + ] + } + } + } } diff --git a/bazel-diff-example.ps1 b/bazel-diff-example.ps1 new file mode 100644 index 0000000..b59a7b5 --- /dev/null +++ b/bazel-diff-example.ps1 @@ -0,0 +1,116 @@ +# PowerShell version of bazel-diff-example.sh for Windows compatibility + +param( + [Parameter(Mandatory=$true)] + [string]$WorkspacePath, + + [Parameter(Mandatory=$true)] + [string]$BazelPath, + + [Parameter(Mandatory=$true)] + [string]$PreviousRevision, + + [Parameter(Mandatory=$true)] + [string]$FinalRevision +) + +$ErrorActionPreference = "Stop" + +# Use temp directory for intermediate files +$TempDir = $env:TEMP +$StartingHashesJson = Join-Path $TempDir "starting_hashes.json" +$FinalHashesJson = Join-Path $TempDir "final_hashes.json" +$ImpactedTargetsPath = Join-Path $TempDir "impacted_targets.txt" + +# Set appropriate flags based on environment variables +$BazelDiffFlags = @() +if ($env:BAZEL_DIFF_DISABLE_WORKSPACE -eq "true") { + Write-Host "Disabling workspace for bazel-diff commands (BAZEL_DIFF_DISABLE_WORKSPACE=true)" + $BazelDiffFlags += "-co" + $BazelDiffFlags += "--enable_workspace=false" +} + +if ($env:BAZEL_DIFF_EXTRA_FLAGS) { + Write-Host "Injecting extra bazel-diff flags: $env:BAZEL_DIFF_EXTRA_FLAGS" + $BazelDiffFlags += $env:BAZEL_DIFF_EXTRA_FLAGS.Split(" ") +} + +# Bazel command options applied to both top-level bazel invocations and generate-hashes (via -co) +if ($env:BAZEL_EXTRA_COMMAND_OPTIONS) { + Write-Host "Applying extra Bazel command options to top-level and generate-hashes: $env:BAZEL_EXTRA_COMMAND_OPTIONS" + $BazelDiffFlags += "-co" + $BazelDiffFlags += $env:BAZEL_EXTRA_COMMAND_OPTIONS.Split(" ") +} + +# Set git checkout flags based on environment variable +$GitCheckoutFlags = @("--quiet") +if ($env:BAZEL_DIFF_FORCE_CHECKOUT -eq "true") { + Write-Host "Force checkout enabled (BAZEL_DIFF_FORCE_CHECKOUT=true) - will discard uncommitted changes" + $GitCheckoutFlags = @("--force", "--quiet") +} + +# Build bazel-diff first to ensure it's ready +Write-Host "Building bazel-diff..." +$BazelExtraOptions = @() +if ($env:BAZEL_EXTRA_COMMAND_OPTIONS) { + $BazelExtraOptions = $env:BAZEL_EXTRA_COMMAND_OPTIONS.Split(" ") +} + +& $BazelPath build @BazelExtraOptions //:bazel-diff +if ($LASTEXITCODE -ne 0) { + throw "Failed to build bazel-diff" +} + +# Helper function to run bazel-diff commands +function Run-BazelDiff { + param( + [string[]]$Arguments + ) + & $BazelPath run @BazelExtraOptions //:bazel-diff -- @Arguments + return $LASTEXITCODE +} + +# Checkout previous revision +Write-Host "Checking out revision '$PreviousRevision'" +& git -C $WorkspacePath checkout @GitCheckoutFlags $PreviousRevision +if ($LASTEXITCODE -ne 0) { + throw "Failed to checkout revision $PreviousRevision" +} + +# Generate hashes for previous revision +Write-Host "Generating Hashes for Revision '$PreviousRevision'" +$exitCode = Run-BazelDiff (@("generate-hashes", "-w", $WorkspacePath, "-b", $BazelPath) + $BazelDiffFlags + @($StartingHashesJson)) +if ($exitCode -ne 0) { + throw "Failed to generate hashes for revision $PreviousRevision" +} + +# Checkout final revision +Write-Host "Checking out revision '$FinalRevision'" +& git -C $WorkspacePath checkout @GitCheckoutFlags $FinalRevision +if ($LASTEXITCODE -ne 0) { + throw "Failed to checkout revision $FinalRevision" +} + +# Generate hashes for final revision +Write-Host "Generating Hashes for Revision '$FinalRevision'" +$exitCode = Run-BazelDiff (@("generate-hashes", "-w", $WorkspacePath, "-b", $BazelPath) + $BazelDiffFlags + @($FinalHashesJson)) +if ($exitCode -ne 0) { + throw "Failed to generate hashes for revision $FinalRevision" +} + +# Determine impacted targets +Write-Host "Determining Impacted Targets" +$exitCode = Run-BazelDiff @("get-impacted-targets", "-sh", $StartingHashesJson, "-fh", $FinalHashesJson, "-o", $ImpactedTargetsPath) +if ($exitCode -ne 0) { + throw "Failed to get impacted targets" +} + +# Read and display impacted targets +if (Test-Path $ImpactedTargetsPath) { + $ImpactedTargets = Get-Content $ImpactedTargetsPath + Write-Host "Impacted Targets between ${PreviousRevision} and ${FinalRevision}:" + $ImpactedTargets | ForEach-Object { Write-Host $_ } + Write-Host "" +} else { + Write-Host "No impacted targets file found" +} diff --git a/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt b/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt index 355baa1..0da9a86 100644 --- a/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt +++ b/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt @@ -188,6 +188,8 @@ class GenerateHashesCommand : Callable { override fun call(): Int { validate(contentHashPath = contentHashPath) + // Stop any existing Koin instance before starting a new one (for E2E tests) + org.koin.core.context.GlobalContext.stopKoin() startKoin { modules( hasherModule( diff --git a/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt b/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt index 2ba0318..7947bd0 100644 --- a/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt +++ b/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt @@ -71,6 +71,8 @@ class GetImpactedTargetsCommand : Callable { @CommandLine.Spec lateinit var spec: CommandLine.Model.CommandSpec override fun call(): Int { + // Stop any existing Koin instance before starting a new one (for E2E tests) + org.koin.core.context.GlobalContext.stopKoin() startKoin { modules(serialisationModule(), loggingModule(parent.verbose)) } return try { diff --git a/cli/src/test/resources/fixture/cquery-test-android-code-change.zip b/cli/src/test/resources/fixture/cquery-test-android-code-change.zip index 3e2a911..aaf5f0f 100644 Binary files a/cli/src/test/resources/fixture/cquery-test-android-code-change.zip and b/cli/src/test/resources/fixture/cquery-test-android-code-change.zip differ diff --git a/cli/src/test/resources/fixture/cquery-test-base.zip b/cli/src/test/resources/fixture/cquery-test-base.zip index 2f1d409..70baabf 100644 Binary files a/cli/src/test/resources/fixture/cquery-test-base.zip and b/cli/src/test/resources/fixture/cquery-test-base.zip differ diff --git a/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip b/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip index 2ed2544..34edf52 100644 Binary files a/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip and b/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip differ diff --git a/extensions.bzl b/extensions.bzl index f669555..389590f 100644 --- a/extensions.bzl +++ b/extensions.bzl @@ -1,8 +1,14 @@ -"""Bzlmod extension that fetches repositories for aspect_rules_lint format (e.g. ktfmt).""" +"""Bzlmod extension that fetches repositories for formatting tools (e.g. ktfmt).""" -load("@aspect_rules_lint//format:repositories.bzl", "fetch_ktfmt") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar") -def _non_module_repositories_impl(module_ctx): - fetch_ktfmt() +def _non_module_repositories_impl(_module_ctx): + # Fetch ktfmt JAR from Maven Central + # This replaces the removed fetch_ktfmt() from aspect_rules_lint v1.x + http_jar( + name = "ktfmt", + integrity = "sha256-l/x/vRlNAan6RdgUfAVSQDAD1VusSridhNe7TV4/SN4=", + url = "https://repo1.maven.org/maven2/com/facebook/ktfmt/0.46/ktfmt-0.46-jar-with-dependencies.jar", + ) non_module_repositories = module_extension(_non_module_repositories_impl)