From 345d5ac48a3b04d1b6e9826680af31741ab549a4 Mon Sep 17 00:00:00 2001 From: Sam Gammon Date: Sat, 12 Aug 2023 14:21:31 -0700 Subject: [PATCH] feat: introduce `rules_graalvm` via rewrite - feat: ability to distinguish between CE and oracle distributions - feat: ability to install and use graalvm as a java toolchain - feat: ability to download graalvm components - feat: ability to run arbitrary post-setup commands with `gu` - feat: support auto-target-gen via gazelle - feat: dedicated toolchain types for `graalvm` and `native-image` - feat: provide graalvm sdk aliasing - feat: add makefile - feat: add `aspect` configs - feat: reusable test/build workflows via actions - docs: add `toolchain` doc - docs: add `components` doc - docs: add `native-image` doc - docs: add `modern-bazel` doc - fix: use conventional `workspace.bzl` and `rules.bzl` - fix: use conventional `graalvm/` prefix - fix: use on macos aarch64 - chore: add linting, prebuilt tooling - chore: add github actions for build/test - chore: support for bazel6, bazel7, upgrade to bazel7 - chore: add distribution download endpoints for newer CE/oracle - chore: docs root in github flavored markdown - chore: rewrite of main project readme --- .aspect/bazelrc/BUILD.bazel | 5 + .aspect/bazelrc/bazel5.bazelrc | 5 + .aspect/bazelrc/bazel6.bazelrc | 15 + .aspect/bazelrc/bazel7.bazelrc | 15 + .aspect/bazelrc/ci.bazelrc | 73 + .aspect/bazelrc/convenience.bazelrc | 28 + .aspect/bazelrc/correctness.bazelrc | 62 + .aspect/bazelrc/debug.bazelrc | 19 + .aspect/bazelrc/javascript.bazelrc | 28 + .aspect/bazelrc/performance.bazelrc | 38 + .bazelrc | 31 +- .bazelversion | 1 + .github/CODEOWNERS | 1 + .github/workflows/module.build.yml | 74 + .github/workflows/module.test.yml | 82 + .github/workflows/on.pr.yml | 69 + .github/workflows/on.push.yml | 71 + .gitignore | 2 + BUILD.bazel | 30 + COPYING | 5 +- MODULE.bazel | 144 + MODULE.bazel.lock | 3348 +++++++++++++++++ Makefile | 125 + README.md | 68 +- WORKSPACE | 22 - WORKSPACE.bazel | 195 + WORKSPACE.bzlmod | 120 + graal/BUILD => docs/BUILD.bazel | 0 docs/api/BUILD.bazel | 11 + docs/api/defs.md | 36 + docs/api/repositories.md | 47 + docs/components.md | 61 + docs/modern-bazel.md | 44 + docs/native-image.md | 40 + docs/toolchain.md | 59 + example/BUILD | 24 - example/BUILD.bazel | 0 example/native/BUILD.bazel | 33 + example/{ => native}/Main.java | 4 +- example/{ => native}/reflection.cfg | 0 graal/graal_bindist.bzl | 269 -- graalvm/BUILD.bazel | 57 + graalvm/artifacts/BUILD.bazel | 1 + graalvm/defs.bzl | 10 + graalvm/nativeimage/BUILD.bazel | 15 + .../nativeimage/rules.bzl | 32 +- graalvm/repositories.bzl | 10 + graalvm/toolchain/BUILD.bazel | 13 + internal/BUILD.bazel | 50 + internal/config.bzl | 38 + internal/graalvm_bindist.bzl | 635 ++++ internal/maven.bzl | 43 + internal/repositories.bzl | 177 + internal/setup.bzl | 71 + local.bazelrc.inert | 14 + maven_install.json | 528 +++ tasks/BUILD | 10 - tasks/src/ci.sh | 26 - tools/bazel | 120 - tools/bazel/base.bazelrc | 3 + tools/bazel/bazel5.bazelrc | 1 + tools/bazel/bazel6.bazelrc | 1 + tools/bazel/bazel7.bazelrc | 1 + tools/bazel/buildbuddy.bazelrc | 3 + tools/bazel/bzlmod.bazelrc | 1 + tools/bazel/cache.bazelrc | 15 + tools/bazel/ci.bazelrc | 5 + tools/bazel/dev.bazelrc | 4 + tools/bazel/java.bazelrc | 12 + tools/bazel/profiles.bazelrc | 13 + tools/scripts/latest_version_tag.sh | 7 + tools/scripts/workspace.sh | 32 + 72 files changed, 6735 insertions(+), 517 deletions(-) create mode 100644 .aspect/bazelrc/BUILD.bazel create mode 100644 .aspect/bazelrc/bazel5.bazelrc create mode 100644 .aspect/bazelrc/bazel6.bazelrc create mode 100644 .aspect/bazelrc/bazel7.bazelrc create mode 100644 .aspect/bazelrc/ci.bazelrc create mode 100644 .aspect/bazelrc/convenience.bazelrc create mode 100644 .aspect/bazelrc/correctness.bazelrc create mode 100644 .aspect/bazelrc/debug.bazelrc create mode 100644 .aspect/bazelrc/javascript.bazelrc create mode 100644 .aspect/bazelrc/performance.bazelrc create mode 100644 .bazelversion create mode 100644 .github/CODEOWNERS create mode 100644 .github/workflows/module.build.yml create mode 100644 .github/workflows/module.test.yml create mode 100644 .github/workflows/on.pr.yml create mode 100644 .github/workflows/on.push.yml create mode 100644 BUILD.bazel create mode 100644 MODULE.bazel create mode 100644 MODULE.bazel.lock create mode 100644 Makefile delete mode 100644 WORKSPACE create mode 100644 WORKSPACE.bazel create mode 100644 WORKSPACE.bzlmod rename graal/BUILD => docs/BUILD.bazel (100%) create mode 100644 docs/api/BUILD.bazel create mode 100755 docs/api/defs.md create mode 100755 docs/api/repositories.md create mode 100644 docs/components.md create mode 100644 docs/modern-bazel.md create mode 100644 docs/native-image.md create mode 100644 docs/toolchain.md delete mode 100644 example/BUILD create mode 100644 example/BUILD.bazel create mode 100644 example/native/BUILD.bazel rename example/{ => native}/Main.java (60%) rename example/{ => native}/reflection.cfg (100%) delete mode 100644 graal/graal_bindist.bzl create mode 100644 graalvm/BUILD.bazel create mode 100644 graalvm/artifacts/BUILD.bazel create mode 100644 graalvm/defs.bzl create mode 100644 graalvm/nativeimage/BUILD.bazel rename graal/graal.bzl => graalvm/nativeimage/rules.bzl (89%) create mode 100644 graalvm/repositories.bzl create mode 100644 graalvm/toolchain/BUILD.bazel create mode 100644 internal/BUILD.bazel create mode 100644 internal/config.bzl create mode 100644 internal/graalvm_bindist.bzl create mode 100644 internal/maven.bzl create mode 100644 internal/repositories.bzl create mode 100644 internal/setup.bzl create mode 100644 local.bazelrc.inert create mode 100644 maven_install.json delete mode 100644 tasks/BUILD delete mode 100755 tasks/src/ci.sh delete mode 100755 tools/bazel create mode 100644 tools/bazel/base.bazelrc create mode 100644 tools/bazel/bazel5.bazelrc create mode 100644 tools/bazel/bazel6.bazelrc create mode 100644 tools/bazel/bazel7.bazelrc create mode 100644 tools/bazel/buildbuddy.bazelrc create mode 100644 tools/bazel/bzlmod.bazelrc create mode 100644 tools/bazel/cache.bazelrc create mode 100644 tools/bazel/ci.bazelrc create mode 100644 tools/bazel/dev.bazelrc create mode 100644 tools/bazel/java.bazelrc create mode 100644 tools/bazel/profiles.bazelrc create mode 100755 tools/scripts/latest_version_tag.sh create mode 100755 tools/scripts/workspace.sh diff --git a/.aspect/bazelrc/BUILD.bazel b/.aspect/bazelrc/BUILD.bazel new file mode 100644 index 00000000..bfa2fb35 --- /dev/null +++ b/.aspect/bazelrc/BUILD.bazel @@ -0,0 +1,5 @@ +"Aspect bazelrc presets; see https://docs.aspect.build/guides/bazelrc" + +load("@aspect_bazel_lib//lib:bazelrc_presets.bzl", "write_aspect_bazelrc_presets") + +write_aspect_bazelrc_presets(name = "update_aspect_bazelrc_presets") diff --git a/.aspect/bazelrc/bazel5.bazelrc b/.aspect/bazelrc/bazel5.bazelrc new file mode 100644 index 00000000..c9d77444 --- /dev/null +++ b/.aspect/bazelrc/bazel5.bazelrc @@ -0,0 +1,5 @@ +# Performance improvement for WORKSPACE evaluation +# of slow rulesets, for example rules_k8s has been +# observed to take 10 seconds without this flag. +# See https://github.com/bazelbuild/bazel/issues/13907 +common --incompatible_existing_rules_immutable_view diff --git a/.aspect/bazelrc/bazel6.bazelrc b/.aspect/bazelrc/bazel6.bazelrc new file mode 100644 index 00000000..11a1c67f --- /dev/null +++ b/.aspect/bazelrc/bazel6.bazelrc @@ -0,0 +1,15 @@ +# Speed up all builds by not checking if external repository files have been modified. +# Docs: https://github.com/bazelbuild/bazel/blob/1af61b21df99edc2fc66939cdf14449c2661f873/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java#L244 +build --noexperimental_check_external_repository_files +fetch --noexperimental_check_external_repository_files +query --noexperimental_check_external_repository_files + +# Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. +# Save time on Sandbox creation and deletion when many of the same kind of action run during the +# build. +# Docs: https://bazel.build/reference/command-line-reference#flag--reuse_sandbox_directories +build --reuse_sandbox_directories + +# Avoid this flag being enabled by remote_download_minimal or remote_download_toplevel +# See https://meroton.com/blog/bazel-6-errors-build-without-the-bytes/ +build --noexperimental_action_cache_store_output_metadata diff --git a/.aspect/bazelrc/bazel7.bazelrc b/.aspect/bazelrc/bazel7.bazelrc new file mode 100644 index 00000000..11a1c67f --- /dev/null +++ b/.aspect/bazelrc/bazel7.bazelrc @@ -0,0 +1,15 @@ +# Speed up all builds by not checking if external repository files have been modified. +# Docs: https://github.com/bazelbuild/bazel/blob/1af61b21df99edc2fc66939cdf14449c2661f873/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java#L244 +build --noexperimental_check_external_repository_files +fetch --noexperimental_check_external_repository_files +query --noexperimental_check_external_repository_files + +# Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. +# Save time on Sandbox creation and deletion when many of the same kind of action run during the +# build. +# Docs: https://bazel.build/reference/command-line-reference#flag--reuse_sandbox_directories +build --reuse_sandbox_directories + +# Avoid this flag being enabled by remote_download_minimal or remote_download_toplevel +# See https://meroton.com/blog/bazel-6-errors-build-without-the-bytes/ +build --noexperimental_action_cache_store_output_metadata diff --git a/.aspect/bazelrc/ci.bazelrc b/.aspect/bazelrc/ci.bazelrc new file mode 100644 index 00000000..4d91ee09 --- /dev/null +++ b/.aspect/bazelrc/ci.bazelrc @@ -0,0 +1,73 @@ +# We recommend enforcing a policy that keeps your CI from being slowed down +# by individual test targets that should be optimized +# or split up into multiple test targets with sharding or manually. +# Set this flag to exclude targets that have their timeout set to eternal (>15m) from running on CI. +# Docs: https://bazel.build/docs/user-manual#test-timeout-filters +test --test_timeout_filters=-eternal + +# Set this flag to enable re-tries of failed tests on CI. +# When any test target fails, try one or more times. This applies regardless of whether the "flaky" +# tag appears on the target definition. +# This is a tradeoff: legitimately failing tests will take longer to report, +# but we can paper over flaky tests that pass most of the time. +# The alternative is to mark every flaky test with the `flaky = True` attribute, but this requires +# the buildcop to make frequent code edits. +# Not recommended for local builds so that the flakiness is observed during development and thus +# is more likely to get fixed. +# Note that when passing after the first attempt, Bazel will give a special "FLAKY" status. +# Docs: https://bazel.build/docs/user-manual#flaky-test-attempts +test --flaky_test_attempts=2 + +# Announce all announces command options read from the bazelrc file(s) when starting up at the +# beginning of each Bazel invocation. This is very useful on CI to be able to inspect what Bazel rc +# settings are being applied on each run. +# Docs: https://bazel.build/docs/user-manual#announce-rc +build --announce_rc + +# Add a timestamp to each message generated by Bazel specifying the time at which the message was +# displayed. +# Docs: https://bazel.build/docs/user-manual#show-timestamps +build --show_timestamps + +# Only show progress every 60 seconds on CI. +# We want to find a compromise between printing often enough to show that the build isn't stuck, +# but not so often that we produce a long log file that requires a lot of scrolling. +# https://bazel.build/reference/command-line-reference#flag--show_progress_rate_limit +build --show_progress_rate_limit=60 + +# Use cursor controls in screen output. +# Docs: https://bazel.build/docs/user-manual#curses +build --curses=yes + +# Use colors to highlight output on the screen. Set to `no` if your CI does not display colors. +# Docs: https://bazel.build/docs/user-manual#color +build --color=yes + +# The terminal width in columns. Configure this to override the default value based on what your CI system renders. +# Docs: https://github.com/bazelbuild/bazel/blob/1af61b21df99edc2fc66939cdf14449c2661f873/src/main/java/com/google/devtools/build/lib/runtime/UiOptions.java#L151 +build --terminal_columns=143 + +###################################### +# Generic remote cache configuration # +###################################### + +# Only download remote outputs of top level targets to the local machine. +# Docs: https://bazel.build/reference/command-line-reference#flag--remote_download_toplevel +build --remote_download_toplevel + +# The maximum amount of time to wait for remote execution and cache calls. +# https://bazel.build/reference/command-line-reference#flag--remote_timeout +build --remote_timeout=3600 + +# Upload locally executed action results to the remote cache. +# Docs: https://bazel.build/reference/command-line-reference#flag--remote_upload_local_results +build --remote_upload_local_results + +# Fall back to standalone local execution strategy if remote execution fails. If the grpc remote +# cache connection fails, it will fail the build, add this so it falls back to the local cache. +# Docs: https://bazel.build/reference/command-line-reference#flag--remote_local_fallback +build --remote_local_fallback + +# Fixes builds hanging on CI that get the TCP connection closed without sending RST packets. +# Docs: https://bazel.build/reference/command-line-reference#flag--grpc_keepalive_time +build --grpc_keepalive_time=30s diff --git a/.aspect/bazelrc/convenience.bazelrc b/.aspect/bazelrc/convenience.bazelrc new file mode 100644 index 00000000..c674569f --- /dev/null +++ b/.aspect/bazelrc/convenience.bazelrc @@ -0,0 +1,28 @@ +# Attempt to build & test every target whose prerequisites were successfully built. +# Docs: https://bazel.build/docs/user-manual#keep-going +build --keep_going + +# Output test errors to stderr so users don't have to `cat` or open test failure log files when test +# fail. This makes the log noiser in exchange for reducing the time-to-feedback on test failures for +# users. +# Docs: https://bazel.build/docs/user-manual#test-output +test --test_output=errors + +# Show the output files created by builds that requested more than one target. This helps users +# locate the build outputs in more cases +# Docs: https://bazel.build/docs/user-manual#show-result +build --show_result=20 + +# Bazel picks up host-OS-specific config lines from bazelrc files. For example, if the host OS is +# Linux and you run bazel build, Bazel picks up lines starting with build:linux. Supported OS +# identifiers are `linux`, `macos`, `windows`, `freebsd`, and `openbsd`. Enabling this flag is +# equivalent to using `--config=linux` on Linux, `--config=windows` on Windows, etc. +# Docs: https://bazel.build/reference/command-line-reference#flag--enable_platform_specific_config +common --enable_platform_specific_config + +# Output a heap dump if an OOM is thrown during a Bazel invocation +# (including OOMs due to `--experimental_oom_more_eagerly_threshold`). +# The dump will be written to `/.heapdump.hprof`. +# You may need to configure CI to capture this artifact and upload for later use. +# Docs: https://bazel.build/reference/command-line-reference#flag--heap_dump_on_oom +common --heap_dump_on_oom diff --git a/.aspect/bazelrc/correctness.bazelrc b/.aspect/bazelrc/correctness.bazelrc new file mode 100644 index 00000000..56fad5fd --- /dev/null +++ b/.aspect/bazelrc/correctness.bazelrc @@ -0,0 +1,62 @@ +# Do not upload locally executed action results to the remote cache. +# This should be the default for local builds so local builds cannot poison the remote cache. +# It should be flipped to `--remote_upload_local_results` on CI +# by using `--bazelrc=.aspect/bazelrc/ci.bazelrc`. +# Docs: https://bazel.build/reference/command-line-reference#flag--remote_upload_local_results +build --noremote_upload_local_results + +# Don't allow network access for build actions in the sandbox. +# Ensures that you don't accidentally make non-hermetic actions/tests which depend on remote +# services. +# Developers should tag targets with `tags=["requires-network"]` to opt-out of the enforcement. +# Docs: https://bazel.build/reference/command-line-reference#flag--sandbox_default_allow_network +build --sandbox_default_allow_network=false + +# Warn if a test's timeout is significantly longer than the test's actual execution time. +# Bazel's default for test_timeout is medium (5 min), but most tests should instead be short (1 min). +# While a test's timeout should be set such that it is not flaky, a test that has a highly +# over-generous timeout can hide real problems that crop up unexpectedly. +# For instance, a test that normally executes in a minute or two should not have a timeout of +# ETERNAL or LONG as these are much, much too generous. +# Docs: https://bazel.build/docs/user-manual#test-verbose-timeout-warnings +test --test_verbose_timeout_warnings + +# Allow the Bazel server to check directory sources for changes. Ensures that the Bazel server +# notices when a directory changes, if you have a directory listed in the srcs of some target. +# Recommended when using +# [copy_directory](https://github.com/aspect-build/bazel-lib/blob/main/docs/copy_directory.md) and +# [rules_js](https://github.com/aspect-build/rules_js) since npm package are source directories +# inputs to copy_directory actions. +# Docs: https://bazel.build/reference/command-line-reference#flag--host_jvm_args +startup --host_jvm_args=-DBAZEL_TRACK_SOURCE_DIRECTORIES=1 + +# Allow exclusive tests to run in the sandbox. Fixes a bug where Bazel doesn't enable sandboxing for +# tests with `tags=["exclusive"]`. +# Docs: https://bazel.build/reference/command-line-reference#flag--incompatible_exclusive_test_sandboxed +test --incompatible_exclusive_test_sandboxed + +# Use a static value for `PATH` and does not inherit `LD_LIBRARY_PATH`. Doesn't let environment +# variables like `PATH` sneak into the build, which can cause massive cache misses when they change. +# Use `--action_env=ENV_VARIABLE` if you want to inherit specific environment variables from the +# client, but note that doing so can prevent cross-user caching if a shared cache is used. +# Docs: https://bazel.build/reference/command-line-reference#flag--incompatible_strict_action_env +build --incompatible_strict_action_env + +# Propagate tags from a target declaration to the actions' execution requirements. +# Ensures that tags applied in your BUILD file, like `tags=["no-remote"]` +# get propagated to actions created by the rule. +# Without this option, you rely on rules authors to manually check the tags you passed +# and apply relevant ones to the actions they create. +# See https://github.com/bazelbuild/bazel/issues/8830 for details. +# Docs: https://bazel.build/reference/command-line-reference#flag--experimental_allow_tags_propagation +build --experimental_allow_tags_propagation +fetch --experimental_allow_tags_propagation +query --experimental_allow_tags_propagation + +# Do not automatically create `__init__.py` files in the runfiles of Python targets. Fixes the wrong +# default that comes from Google's internal monorepo by using `__init__.py` to delimit a Python +# package. Precisely, when a `py_binary` or `py_test` target has `legacy_create_init` set to `auto (the +# default), it is treated as false if and only if this flag is set. See +# https://github.com/bazelbuild/bazel/issues/10076. +# Docs: https://bazel.build/reference/command-line-reference#flag--incompatible_default_to_explicit_init_py +build --incompatible_default_to_explicit_init_py diff --git a/.aspect/bazelrc/debug.bazelrc b/.aspect/bazelrc/debug.bazelrc new file mode 100644 index 00000000..bfb0bdd4 --- /dev/null +++ b/.aspect/bazelrc/debug.bazelrc @@ -0,0 +1,19 @@ +############################################################ +# Use `bazel test --config=debug` to enable these settings # +############################################################ + +# Stream stdout/stderr output from each test in real-time. +# Docs: https://bazel.build/docs/user-manual#test-output +test:debug --test_output=streamed + +# Run one test at a time. +# Docs: https://bazel.build/reference/command-line-reference#flag--test_strategy +test:debug --test_strategy=exclusive + +# Prevent long running tests from timing out. +# Docs: https://bazel.build/docs/user-manual#test-timeout +test:debug --test_timeout=9999 + +# Always run tests even if they have cached results. +# Docs: https://bazel.build/docs/user-manual#cache-test-results +test:debug --nocache_test_results diff --git a/.aspect/bazelrc/javascript.bazelrc b/.aspect/bazelrc/javascript.bazelrc new file mode 100644 index 00000000..dc768641 --- /dev/null +++ b/.aspect/bazelrc/javascript.bazelrc @@ -0,0 +1,28 @@ +# Aspect recommended Bazel flags when using Aspect's JavaScript rules: https://github.com/aspect-build/rules_js +# Docs for Node.js flags: https://nodejs.org/en/docs/guides/debugging-getting-started/#command-line-options + +# Support for debugging Node.js tests. Use bazel run with `--config=debug` to turn on the NodeJS +# inspector agent. The node process will break before user code starts and wait for the debugger to +# connect. Pass the --inspect-brk option to all tests which enables the node inspector agent. See +# https://nodejs.org/de/docs/guides/debugging-getting-started/#command-line-options for more +# details. +# Docs: https://nodejs.org/en/docs/guides/debugging-getting-started/#command-line-options +run:debug -- --node_options=--inspect-brk + +# Enable runfiles on all platforms. Runfiles are on by default on Linux and MacOS but off on +# Windows. +# +# In general, rules_js and derivate rule sets assume that runfiles are enabled and do not support no +# runfiles case because it does not scale to teach all Node.js tools to use the runfiles manifest. +# +# If you are developing on Windows, you must either run bazel with administrator privileges or +# enable developer mode. If you do not you may hit this error on Windows: +# +# Bazel needs to create symlinks to build the runfiles tree. +# Creating symlinks on Windows requires one of the following: +# 1. Bazel is run with administrator privileges. +# 2. The system version is Windows 10 Creators Update (1703) or later +# and developer mode is enabled. +# +# Docs: https://bazel.build/reference/command-line-reference#flag--enable_runfiles +build --enable_runfiles diff --git a/.aspect/bazelrc/performance.bazelrc b/.aspect/bazelrc/performance.bazelrc new file mode 100644 index 00000000..fff4c7c5 --- /dev/null +++ b/.aspect/bazelrc/performance.bazelrc @@ -0,0 +1,38 @@ +# Speed up all builds by not checking if output files have been modified. Lets you make changes to +# the output tree without triggering a build for local debugging. For example, you can modify +# [rules_js](https://github.com/aspect-build/rules_js) 3rd party npm packages in the output tree +# when local debugging. +# Docs: https://github.com/bazelbuild/bazel/blob/1af61b21df99edc2fc66939cdf14449c2661f873/src/main/java/com/google/devtools/build/lib/pkgcache/PackageOptions.java#L185 +build --noexperimental_check_output_files +fetch --noexperimental_check_output_files +query --noexperimental_check_output_files + +# Don't apply `--noremote_upload_local_results` and `--noremote_accept_cached` to the disk cache. +# If you have both `--noremote_upload_local_results` and `--disk_cache`, then this fixes a bug where +# Bazel doesn't write to the local disk cache as it treats as a remote cache. +# Docs: https://bazel.build/reference/command-line-reference#flag--incompatible_remote_results_ignore_disk +build --incompatible_remote_results_ignore_disk + +# Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. +# Save time on Sandbox creation and deletion when many of the same kind of action run during the +# build. +# No longer experimental in Bazel 6: https://github.com/bazelbuild/bazel/commit/c1a95501a5611878e5cc43a3cc531f2b9e47835b +# Docs: https://bazel.build/reference/command-line-reference#flag--reuse_sandbox_directories +build --experimental_reuse_sandbox_directories + +# Do not build runfiles symlink forests for external repositories under +# `.runfiles/wsname/external/repo` (in addition to `.runfiles/repo`). This reduces runfiles & +# sandbox creation times & prevents accidentally depending on this feature which may flip to off by +# default in the future. Note, some rules may fail under this flag, please file issues with the rule +# author. +# Docs: https://bazel.build/reference/command-line-reference#flag--legacy_external_runfiles +build --nolegacy_external_runfiles + +# Some actions are always IO-intensive but require little compute. It's wasteful to put the output +# in the remote cache, it just saturates the network and fills the cache storage causing earlier +# evictions. It's also not worth sending them for remote execution. +# For actions like PackageTar it's usually faster to just re-run the work locally every time. +# You'll have to look at an execution log to figure out what other action mnemonics you care about. +# In some cases you may need to patch rulesets to add a mnemonic to actions that don't have one. +# https://bazel.build/reference/command-line-reference#flag--modify_execution_info +build --modify_execution_info=PackageTar=+no-remote diff --git a/.bazelrc b/.bazelrc index eecdd933..e11e5240 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,16 +1,29 @@ -common --announce_rc +common:verbose --announce_rc + +# Import Aspect bazelrc presets +import %workspace%/.aspect/bazelrc/bazel7.bazelrc +import %workspace%/.aspect/bazelrc/convenience.bazelrc +import %workspace%/.aspect/bazelrc/correctness.bazelrc +import %workspace%/.aspect/bazelrc/debug.bazelrc +import %workspace%/.aspect/bazelrc/performance.bazelrc + +# Import project-level presets +import %workspace%/tools/bazel/base.bazelrc +import %workspace%/tools/bazel/bazel7.bazelrc +import %workspace%/tools/bazel/buildbuddy.bazelrc +import %workspace%/tools/bazel/cache.bazelrc +import %workspace%/tools/bazel/ci.bazelrc +import %workspace%/tools/bazel/bzlmod.bazelrc +import %workspace%/tools/bazel/profiles.bazelrc +import %workspace%/tools/bazel/dev.bazelrc +import %workspace%/tools/bazel/java.bazelrc + common --color=auto -build --experimental_strict_action_env -build --worker_max_instances=4 build --worker_sandboxing build --verbose_failures -test --test_output=all -test --test_env=PATH - -common:v0.24 --config=noop -common:v0.26 --config=noop - # pick something trivial as a "noop" common:noop --logging=3 + +try-import %workspace%/local.bazelrc diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 00000000..a585a9bd --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +7.0.0-pre.20230724.1 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..e84bec6a --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +*.* @sgammon diff --git a/.github/workflows/module.build.yml b/.github/workflows/module.build.yml new file mode 100644 index 00000000..6652f255 --- /dev/null +++ b/.github/workflows/module.build.yml @@ -0,0 +1,74 @@ +name: "Build" + +on: + workflow_dispatch: + inputs: + ## Runner to use + runner: + description: "Runner" + type: string + default: 'ubuntu-latest' + + ## Whether to build with bzlmod + bzlmod: + description: "Enable Bzlmod" + type: boolean + default: false + workflow_call: + inputs: + runner: + description: "Runner" + type: string + default: 'ubuntu-latest' + label: + description: "Label" + type: string + default: 'Ubuntu' + bzlmod: + description: "Enable Bzlmod" + type: boolean + default: false + labs: + description: "Skip Failures" + type: boolean + default: false + secrets: + BUILDBUDDY_APIKEY: + required: true + BUILDLESS_APIKEY: + required: true + +jobs: + build: + name: "Build: ${{ inputs.label || 'Rules' }}" + runs-on: ${{ inputs.runner || 'ubuntu-latest' }} + continue-on-error: ${{ inputs.labs }} + steps: + - name: "Setup: Checkout" + uses: actions/checkout@v3 + - name: "Setup: Bazel" + uses: bazelbuild/setup-bazelisk@v2 + - name: "Setup: Cache" + uses: actions/cache@v3 + with: + path: "~/.cache/bazel" + key: bazel-v1 + - name: "Configure: Bazel" + shell: bash + run: | + echo "build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_APIKEY }}" >> local.bazelrc + echo "build --remote_header=x-api-key=${{ secrets.BUILDLESS_APIKEY }}" >> local.bazelrc + - name: "Configure: Bzlmod" + if: ${{ inputs.bzlmod }} + run: | + echo "build --config=bzlmod" >> local.bazelrc + - name: "Build: Example" + continue-on-error: ${{ inputs.labs }} + shell: bash + run: | + bazel build \ + --config=ci \ + --config=buildless \ + --config=buildbuddy \ + --config=disk-cache \ + //... diff --git a/.github/workflows/module.test.yml b/.github/workflows/module.test.yml new file mode 100644 index 00000000..9bae273e --- /dev/null +++ b/.github/workflows/module.test.yml @@ -0,0 +1,82 @@ +name: "Test" + +on: + workflow_dispatch: + inputs: + ## Runner to use + runner: + description: "Runner" + type: string + default: 'ubuntu-latest' + + ## Whether to build with bzlmod + bzlmod: + description: "Enable Bzlmod" + type: boolean + default: false + + ## Whether to collect and report coverage + coverage: + description: "Enable Coverage" + type: boolean + default: false + workflow_call: + inputs: + runner: + description: "Runner" + type: string + default: 'ubuntu-latest' + label: + description: "Label" + type: string + default: 'Ubuntu' + bzlmod: + description: "Enable Bzlmod" + type: boolean + default: false + coverage: + description: "Enable Coverage" + type: boolean + default: false + labs: + description: "Skip Failures" + type: boolean + default: false + secrets: + BUILDBUDDY_APIKEY: + required: true + BUILDLESS_APIKEY: + required: true + +jobs: + test: + name: "Test: ${{ inputs.label || 'Rules' }}" + runs-on: ${{ inputs.runner || 'ubuntu-latest' }} + continue-on-error: ${{ inputs.labs }} + steps: + - name: "Setup: Checkout" + uses: actions/checkout@v3 + - name: "Setup: Bazel" + uses: bazelbuild/setup-bazelisk@v2 + - name: "Setup: Cache" + uses: actions/cache@v3 + with: + path: "~/.cache/bazel" + key: bazel-v1 + - name: "Configure: Bazel" + shell: bash + run: | + echo "build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_APIKEY }}" >> local.bazelrc + echo "build --remote_header=x-api-key=${{ secrets.BUILDLESS_APIKEY }}" >> local.bazelrc + - name: "Configure: Bzlmod" + if: ${{ inputs.bzlmod }} + run: | + echo "build --config=bzlmod" >> local.bazelrc + - name: "Build: Example" + continue-on-error: ${{ inputs.labs }} + shell: bash + run: | + bazel \ + ${{ inputs.coverage && 'coverage' || 'test' }} \ + --config=ci \ + //... diff --git a/.github/workflows/on.pr.yml b/.github/workflows/on.pr.yml new file mode 100644 index 00000000..ae448246 --- /dev/null +++ b/.github/workflows/on.pr.yml @@ -0,0 +1,69 @@ +name: "PR" + +on: + pull_request: {} + +jobs: + build: + name: "Build" + uses: ./.github/workflows/module.build.yml + strategy: + fail-fast: false + matrix: + runner: [ubuntu-latest, windows-latest, macos-latest] + include: + - runner: ubuntu-latest + label: Ubuntu + bzlmod: false + labs: false + - runner: ubuntu-latest + label: Ubuntu - Bzlmod + bzlmod: true + labs: true + - runner: windows-latest + label: Windows + bzlmod: false + labs: true + - runner: macos-latest + label: macOS + bzlmod: false + labs: false + + secrets: inherit + with: + runner: ${{ matrix.runner }} + label: ${{ matrix.label }} + bzlmod: ${{ matrix.bzlmod }} + labs: ${{ matrix.labs }} + + test: + name: "Test" + needs: ["build"] + uses: ./.github/workflows/module.test.yml + strategy: + fail-fast: false + matrix: + runner: [ubuntu-latest, windows-latest, macos-latest] + include: + - runner: ubuntu-latest + label: Ubuntu + labs: false + - runner: ubuntu-latest + label: Ubuntu / Bzlmod + bzlmod: true + labs: true + - runner: windows-latest + label: Windows + bzlmod: false + labs: true + - runner: macos-latest + label: macOS + bzlmod: false + labs: false + + secrets: inherit + with: + runner: ${{ matrix.runner }} + label: ${{ matrix.label }} + bzlmod: ${{ matrix.bzlmod }} + labs: ${{ matrix.labs }} diff --git a/.github/workflows/on.push.yml b/.github/workflows/on.push.yml new file mode 100644 index 00000000..4c1f3c7b --- /dev/null +++ b/.github/workflows/on.push.yml @@ -0,0 +1,71 @@ +name: "CI" + +on: + push: + branches: + - main + +jobs: + build: + name: "Build" + uses: ./.github/workflows/module.build.yml + strategy: + fail-fast: false + matrix: + runner: [ubuntu-latest, windows-latest, macos-latest] + include: + - runner: ubuntu-latest + label: Ubuntu + bzlmod: false + labs: false + - runner: ubuntu-latest + label: Ubuntu - Bzlmod + bzlmod: true + labs: true + - runner: windows-latest + label: Windows + bzlmod: false + labs: true + - runner: macos-latest + label: macOS + bzlmod: false + labs: false + + secrets: inherit + with: + runner: ${{ matrix.runner }} + label: ${{ matrix.label }} + bzlmod: ${{ matrix.bzlmod }} + labs: ${{ matrix.labs }} + + test: + name: "Test" + needs: ["build"] + uses: ./.github/workflows/module.test.yml + strategy: + fail-fast: false + matrix: + runner: [ubuntu-latest, windows-latest, macos-latest] + include: + - runner: ubuntu-latest + label: Ubuntu + labs: false + - runner: ubuntu-latest + label: Ubuntu / Bzlmod + bzlmod: true + labs: true + - runner: windows-latest + label: Windows + bzlmod: false + labs: true + - runner: macos-latest + label: macOS + bzlmod: false + labs: false + + secrets: inherit + with: + runner: ${{ matrix.runner }} + label: ${{ matrix.label }} + bzlmod: ${{ matrix.bzlmod }} + labs: ${{ matrix.labs }} diff --git a/.gitignore b/.gitignore index 99641282..570ce3be 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ hash2 /external-tools/ target/ +local.bazelrc !bazel-*.rc # Ignore files generated by IDEs. @@ -20,3 +21,4 @@ target/ /.settings /.vscode/ /bazel.iml +.bazel_cache diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 00000000..e55b9cd1 --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1,30 @@ +"Bazel Rules for GraalVM" + +load( + "@bazel_gazelle//:def.bzl", + "gazelle", +) +load( + "@buildifier_prebuilt//:rules.bzl", + "buildifier", +) + +buildifier( + name = "buildifier.check", + exclude_patterns = [ + "./.git/*", + "./bazel-*/*", + ], + lint_mode = "warn", + mode = "diff", +) + +exports_files([ + "maven_install.json", + "WORKSPACE.bazel", +]) + +# gazelle:prefix github.com/sgammon/rules_graalvm +gazelle( + name = "gazelle", +) diff --git a/COPYING b/COPYING index a25acc17..2acdae38 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright 2019 Andy Scott +Copyright 2023 Sam Gammon Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -11,3 +11,6 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +Note that this library is a fork of a library previously written by +Andy Scott, licensed under the same Apache 2.0 license. diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 00000000..d097dee4 --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,144 @@ +"Defines the GraalVM Rules for Bazel module." + +module( + name = "rules_graalvm", + version = "0.9.0", +) + +GRAALVM_SDK_VERSION = "23.0.1" + +bazel_dep( + name = "platforms", + version = "0.0.7", +) + +bazel_dep( + name = "bazel_skylib", + version = "1.4.2", +) + +bazel_dep( + name = "bazel_features", + version = "0.2.0", +) + +bazel_dep( + name = "rules_cc", + version = "0.0.8", +) + +bazel_dep( + name = "rules_java", + version = "6.5.0", +) + +bazel_dep( + name = "rules_license", + version = "0.0.7", +) + +bazel_dep( + name = "aspect_bazel_lib", + version = "1.33.0", +) + +bazel_dep( + name = "rules_jvm_external", + version = "5.3", +) + +bazel_dep( + name = "protobuf", + version = "21.7", + repo_name = "com_google_protobuf", +) + +## Dependencies: Dev + +bazel_dep( + name = "rules_go", + version = "0.41.0", + dev_dependency = True, + repo_name = "io_bazel_rules_go" +) + +bazel_dep( + name = "gazelle", + version = "0.32.0", + dev_dependency = True, + repo_name = "bazel_gazelle", +) + +bazel_dep( + name = "rules_bazel_integration_test", + version = "0.15.0", + dev_dependency = True, +) + +bazel_dep( + name = "stardoc", + version = "0.5.4", + dev_dependency = True, + repo_name = "io_bazel_stardoc", +) + +bazel_dep( + name = "bazel_skylib_gazelle_plugin", + version = "1.4.2", + dev_dependency = True, +) + +bazel_dep( + name = "contrib_rules_jvm", + version = "0.13.0", + dev_dependency = True, +) + +bazel_dep( + name = "apple_rules_lint", + version = "0.3.2", + dev_dependency = True, +) + +bazel_dep( + name = "buildifier_prebuilt", + version = "6.1.2.1", + dev_dependency = True, +) + +################################################################################ +# rules_jvm_external +################################################################################ + +MAVEN_ARTIFACTS = [ + "org.graalvm.nativeimage:svm:%s" % GRAALVM_SDK_VERSION, + "org.graalvm.sdk:graal-sdk:%s" % GRAALVM_SDK_VERSION, +] + +MAVEN_REPOSITORIES = [ + "https://maven.pkg.st", + "https://maven.google.com", + "https://repo1.maven.org/maven2", +] + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") + +maven.install( + name = "maven_gvm", + artifacts = MAVEN_ARTIFACTS, + repositories = MAVEN_REPOSITORIES, + lock_file = "//:maven_install.json", +) + +use_repo( + maven, + "maven_gvm", + "unpinned_maven_gvm", +) + +################################################################################ +# linting +################################################################################ + +linter = use_extension("@apple_rules_lint//lint:extensions.bzl", "linter") +linter.register(name = "java-checkstyle") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock new file mode 100644 index 00000000..36c9f87d --- /dev/null +++ b/MODULE.bazel.lock @@ -0,0 +1,3348 @@ +{ + "lockFileVersion": 1, + "moduleFileHash": "6ed7671e2df32e1059871436f14f0b8420ac45c9f4dd6a5586008ee969ef40bc", + "flags": { + "cmdRegistries": [ + "https://bcr.bazel.build/" + ], + "cmdModuleOverrides": {}, + "allowedYankedVersions": [], + "envVarAllowedYankedVersions": "", + "ignoreDevDependency": false, + "directDependenciesMode": "WARNING", + "compatibilityMode": "ERROR" + }, + "localOverrideHashes": { + "bazel_tools": "6dc722d59f08f40b58c8202f8e4a67b08a6af4f242cc00688e683e72cd9087f6" + }, + "moduleDepGraph": { + "": { + "name": "rules_graalvm", + "version": "0.9.0", + "key": "", + "repoName": "rules_graalvm", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_jvm_external//:extensions.bzl", + "extensionName": "maven", + "usingModule": "", + "location": { + "file": "@@//:MODULE.bazel", + "line": 124, + "column": 22 + }, + "imports": { + "maven_gvm": "maven_gvm", + "unpinned_maven_gvm": "unpinned_maven_gvm" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": {"name":"--maven_gvm","artifacts":["--org.graalvm.nativeimage:svm:23.0.1","--org.graalvm.sdk:graal-sdk:23.0.1"],"repositories":["--https://maven.pkg.st","--https://maven.google.com","--https://repo1.maven.org/maven2"],"lock_file":"--//:maven_install.json"}, + "devDependency": false, + "location": { + "file": "@@//:MODULE.bazel", + "line": 126, + "column": 14 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@apple_rules_lint//lint:extensions.bzl", + "extensionName": "linter", + "usingModule": "", + "location": { + "file": "@@//:MODULE.bazel", + "line": 143, + "column": 23 + }, + "imports": {}, + "devImports": [], + "tags": [ + { + "tagName": "register", + "attributeValues": {"name":"--java-checkstyle"}, + "devDependency": false, + "location": { + "file": "@@//:MODULE.bazel", + "line": 144, + "column": 16 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "platforms": "platforms@0.0.7", + "bazel_skylib": "bazel_skylib@1.4.2", + "bazel_features": "bazel_features@0.2.0", + "rules_cc": "rules_cc@0.0.8", + "rules_java": "rules_java@6.5.0", + "rules_license": "rules_license@0.0.7", + "aspect_bazel_lib": "aspect_bazel_lib@1.33.0", + "rules_jvm_external": "rules_jvm_external@5.3", + "com_google_protobuf": "protobuf@21.7", + "io_bazel_rules_go": "rules_go@0.41.0", + "bazel_gazelle": "gazelle@0.32.0", + "rules_bazel_integration_test": "rules_bazel_integration_test@0.15.0", + "io_bazel_stardoc": "stardoc@0.5.4", + "bazel_skylib_gazelle_plugin": "bazel_skylib_gazelle_plugin@1.4.2", + "contrib_rules_jvm": "contrib_rules_jvm@0.13.0", + "apple_rules_lint": "apple_rules_lint@0.3.2", + "buildifier_prebuilt": "buildifier_prebuilt@6.1.2.1" + } + }, + "bazel_tools@_": { + "name": "bazel_tools", + "version": "", + "key": "bazel_tools@_", + "repoName": "bazel_tools", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all", + "@local_config_sh//:local_sh_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 13, + "column": 29 + }, + "imports": { + "local_config_cc": "local_config_cc", + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/osx:xcode_configure.bzl", + "extensionName": "xcode_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 17, + "column": 32 + }, + "imports": { + "local_config_xcode": "local_config_xcode" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 20, + "column": 32 + }, + "imports": { + "local_jdk": "local_jdk", + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/sh:sh_configure.bzl", + "extensionName": "sh_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 31, + "column": 39 + }, + "imports": { + "local_config_sh": "local_config_sh" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/test:extensions.bzl", + "extensionName": "remote_coverage_tools_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 35, + "column": 48 + }, + "imports": { + "remote_coverage_tools": "remote_coverage_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/android:android_extensions.bzl", + "extensionName": "remote_android_tools_extensions", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 38, + "column": 42 + }, + "imports": { + "android_gmaven_r8": "android_gmaven_r8", + "android_tools": "android_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "local_config_platform": "local_config_platform@_", + "rules_cc": "rules_cc@0.0.8", + "rules_java": "rules_java@6.5.0", + "rules_license": "rules_license@0.0.7", + "rules_proto": "rules_proto@5.3.0-21.7", + "rules_python": "rules_python@0.19.0", + "platforms": "platforms@0.0.7", + "com_google_protobuf": "protobuf@21.7", + "zlib": "zlib@1.2.13" + } + }, + "local_config_platform@_": { + "name": "local_config_platform", + "version": "", + "key": "local_config_platform@_", + "repoName": "local_config_platform", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "platforms": "platforms@0.0.7" + } + }, + "platforms@0.0.7": { + "name": "platforms", + "version": "0.0.7", + "key": "platforms@0.0.7", + "repoName": "platforms", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "rules_license": "rules_license@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--platforms","urls":["--https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz"],"integrity":"--sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "bazel_skylib@1.4.2": { + "name": "bazel_skylib", + "version": "1.4.2", + "key": "bazel_skylib@1.4.2", + "repoName": "bazel_skylib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains/unittest:cmd_toolchain", + "//toolchains/unittest:bash_toolchain" + ], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "platforms": "platforms@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--bazel_skylib~1.4.2","urls":["--https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz"],"integrity":"--sha256-Zv/ZMVZlv6r8lrUiePV8fi3Qn17eJ56m05sr5HHn46o=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "bazel_features@0.2.0": { + "name": "bazel_features", + "version": "0.2.0", + "key": "bazel_features@0.2.0", + "repoName": "bazel_features", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_features//private:extensions.bzl", + "extensionName": "version_extension", + "usingModule": "bazel_features@0.2.0", + "location": { + "file": "https://bcr.bazel.build/modules/bazel_features/0.2.0/MODULE.bazel", + "line": 6, + "column": 24 + }, + "imports": { + "bazel_features_globals": "bazel_features_globals", + "bazel_features_version": "bazel_features_version" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--bazel_features~0.2.0","urls":["--https://github.com/bazel-contrib/bazel_features/releases/download/v0.2.0/bazel_features-v0.2.0.tar.gz"],"integrity":"--sha256-GqvOYTs+2DhHtH76aetdyao64CU5MJeSpg5wXKSrkqU=","strip_prefix":"--bazel_features-0.2.0","remote_patches":{"--https://bcr.bazel.build/modules/bazel_features/0.2.0/patches/module_dot_bazel_version.patch":"--sha256-1OJPHEXVgCh9MECuWKs4J+DLTfmxFhtZm3jdvYSN6X8="},"remote_patch_strip":0} + } + }, + "rules_cc@0.0.8": { + "name": "rules_cc", + "version": "0.0.8", + "key": "rules_cc@0.0.8", + "repoName": "rules_cc", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_cc//cc:extensions.bzl", + "extensionName": "cc_configure", + "usingModule": "rules_cc@0.0.8", + "location": { + "file": "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel", + "line": 9, + "column": 29 + }, + "imports": { + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "platforms": "platforms@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_cc~0.0.8","urls":["--https://github.com/bazelbuild/rules_cc/releases/download/0.0.8/rules_cc-0.0.8.tar.gz"],"integrity":"--sha256-rka3Iqi46bYhcPg7+wQMvxKttzIUTmiZhaZrJkEKfW8=","strip_prefix":"--rules_cc-0.0.8","remote_patches":{"--https://bcr.bazel.build/modules/rules_cc/0.0.8/patches/module_dot_bazel.patch":"--sha256-HPCau/Oi4m6Zk2BzaYpe69cJFQUwFWFrt2mURUq4D+k="},"remote_patch_strip":0} + } + }, + "rules_java@6.5.0": { + "name": "rules_java", + "version": "6.5.0", + "key": "rules_java@6.5.0", + "repoName": "rules_java", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains:all", + "@local_jdk//:runtime_toolchain_definition", + "@local_jdk//:bootstrap_runtime_toolchain_definition", + "@remotejdk11_linux_toolchain_config_repo//:all", + "@remotejdk11_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk11_linux_s390x_toolchain_config_repo//:all", + "@remotejdk11_macos_toolchain_config_repo//:all", + "@remotejdk11_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk11_win_toolchain_config_repo//:all", + "@remotejdk11_win_arm64_toolchain_config_repo//:all", + "@remotejdk17_linux_toolchain_config_repo//:all", + "@remotejdk17_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk17_linux_s390x_toolchain_config_repo//:all", + "@remotejdk17_macos_toolchain_config_repo//:all", + "@remotejdk17_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk17_win_toolchain_config_repo//:all", + "@remotejdk17_win_arm64_toolchain_config_repo//:all", + "@remotejdk20_linux_toolchain_config_repo//:all", + "@remotejdk20_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk20_macos_toolchain_config_repo//:all", + "@remotejdk20_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk20_win_toolchain_config_repo//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "rules_java@6.5.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_java/6.5.0/MODULE.bazel", + "line": 17, + "column": 27 + }, + "imports": { + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64", + "local_jdk": "local_jdk", + "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo", + "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo", + "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo", + "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo", + "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo", + "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo", + "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo", + "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo", + "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo", + "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo", + "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo", + "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo", + "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo", + "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo", + "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo", + "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo", + "remotejdk20_linux_toolchain_config_repo": "remotejdk20_linux_toolchain_config_repo", + "remotejdk20_linux_aarch64_toolchain_config_repo": "remotejdk20_linux_aarch64_toolchain_config_repo", + "remotejdk20_macos_toolchain_config_repo": "remotejdk20_macos_toolchain_config_repo", + "remotejdk20_macos_aarch64_toolchain_config_repo": "remotejdk20_macos_aarch64_toolchain_config_repo", + "remotejdk20_win_toolchain_config_repo": "remotejdk20_win_toolchain_config_repo" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "platforms": "platforms@0.0.7", + "rules_cc": "rules_cc@0.0.8", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_proto": "rules_proto@5.3.0-21.7", + "rules_license": "rules_license@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0","urls":["--https://github.com/bazelbuild/rules_java/releases/download/6.5.0/rules_java-6.5.0.tar.gz"],"integrity":"--sha256-Fg0evzN2MSR2b7NTFjKdkHymf3MyOKpHYkqOP/PPLvQ=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "rules_license@0.0.7": { + "name": "rules_license", + "version": "0.0.7", + "key": "rules_license@0.0.7", + "repoName": "rules_license", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_license~0.0.7","urls":["--https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz"],"integrity":"--sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "aspect_bazel_lib@1.33.0": { + "name": "aspect_bazel_lib", + "version": "1.33.0", + "key": "aspect_bazel_lib@1.33.0", + "repoName": "aspect_bazel_lib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@copy_directory_toolchains//:all", + "@copy_to_directory_toolchains//:all", + "@jq_toolchains//:all", + "@yq_toolchains//:all", + "@coreutils_toolchains//:all", + "@expand_template_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@aspect_bazel_lib//lib:extensions.bzl", + "extensionName": "ext", + "usingModule": "aspect_bazel_lib@1.33.0", + "location": { + "file": "https://bcr.bazel.build/modules/aspect_bazel_lib/1.33.0/MODULE.bazel", + "line": 16, + "column": 20 + }, + "imports": { + "copy_directory_toolchains": "copy_directory_toolchains", + "copy_to_directory_toolchains": "copy_to_directory_toolchains", + "coreutils_toolchains": "coreutils_toolchains", + "expand_template_toolchains": "expand_template_toolchains", + "jq_toolchains": "jq_toolchains", + "yq_toolchains": "yq_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "platforms": "platforms@0.0.7", + "io_bazel_stardoc": "stardoc@0.5.4" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--aspect_bazel_lib~1.33.0","urls":["--https://github.com/aspect-build/bazel-lib/releases/download/v1.33.0/bazel-lib-v1.33.0.tar.gz"],"integrity":"--sha256-1IjY7MqYpAQkQqSuXxqwthT4lsDr9uPq//NjvMUcbmI=","strip_prefix":"--bazel-lib-1.33.0","remote_patches":{"--https://bcr.bazel.build/modules/aspect_bazel_lib/1.33.0/patches/module_dot_bazel_version.patch":"--sha256-TBcFQkjmPu8wqD6ZH/DOV2x/6//y4PkfSrhI92+b5uM="},"remote_patch_strip":0} + } + }, + "rules_jvm_external@5.3": { + "name": "rules_jvm_external", + "version": "5.3", + "key": "rules_jvm_external@5.3", + "repoName": "rules_jvm_external", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_jvm_external//:non-module-deps.bzl", + "extensionName": "non_module_deps", + "usingModule": "rules_jvm_external@5.3", + "location": { + "file": "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel", + "line": 9, + "column": 32 + }, + "imports": { + "io_bazel_rules_kotlin": "io_bazel_rules_kotlin" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": ":extensions.bzl", + "extensionName": "maven", + "usingModule": "rules_jvm_external@5.3", + "location": { + "file": "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel", + "line": 16, + "column": 22 + }, + "imports": { + "rules_jvm_external_deps": "rules_jvm_external_deps" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": {"name":"--rules_jvm_external_deps","artifacts":["--com.google.auth:google-auth-library-credentials:1.17.0","--com.google.auth:google-auth-library-oauth2-http:1.17.0","--com.google.cloud:google-cloud-core:2.18.1","--com.google.cloud:google-cloud-storage:2.22.3","--com.google.code.gson:gson:2.10.1","--com.google.googlejavaformat:google-java-format:1.17.0","--com.google.guava:guava:32.0.0-jre","--org.apache.maven:maven-artifact:3.9.2","--software.amazon.awssdk:s3:2.20.78"],"lock_file":"--@rules_jvm_external//:rules_jvm_external_deps_install.json"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel", + "line": 18, + "column": 14 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "io_bazel_stardoc": "stardoc@0.5.4" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_jvm_external~5.3","urls":["--https://github.com/bazelbuild/rules_jvm_external/releases/download/5.3/rules_jvm_external-5.3.tar.gz"],"integrity":"--sha256-0x42m4VDIspQmOoSxp1xdd7ZcUNeVcGN2d1fKcxSSaw=","strip_prefix":"--rules_jvm_external-5.3","remote_patches":{},"remote_patch_strip":0} + } + }, + "protobuf@21.7": { + "name": "protobuf", + "version": "21.7", + "key": "protobuf@21.7", + "repoName": "protobuf", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_jvm_external//:extensions.bzl", + "extensionName": "maven", + "usingModule": "protobuf@21.7", + "location": { + "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel", + "line": 22, + "column": 22 + }, + "imports": { + "maven": "maven" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": {"name":"--maven","artifacts":["--com.google.code.findbugs:jsr305:3.0.2","--com.google.code.gson:gson:2.8.9","--com.google.errorprone:error_prone_annotations:2.3.2","--com.google.j2objc:j2objc-annotations:1.3","--com.google.guava:guava:31.1-jre","--com.google.guava:guava-testlib:31.1-jre","--com.google.truth:truth:1.1.2","--junit:junit:4.13.2","--org.mockito:mockito-core:4.3.1"]}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel", + "line": 24, + "column": 14 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_python": "rules_python@0.19.0", + "rules_cc": "rules_cc@0.0.8", + "rules_proto": "rules_proto@5.3.0-21.7", + "rules_java": "rules_java@6.5.0", + "rules_pkg": "rules_pkg@0.7.0", + "com_google_abseil": "abseil-cpp@20211102.0", + "zlib": "zlib@1.2.13", + "upb": "upb@0.0.0-20220923-a547704", + "rules_jvm_external": "rules_jvm_external@5.3", + "com_google_googletest": "googletest@1.11.0" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--protobuf~21.7","urls":["--https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"],"integrity":"--sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=","strip_prefix":"--protobuf-21.7","remote_patches":{"--https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch":"--sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=","--https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch":"--sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=","--https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch":"--sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=","--https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch":"--sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY="},"remote_patch_strip":1} + } + }, + "rules_go@0.41.0": { + "name": "rules_go", + "version": "0.41.0", + "key": "rules_go@0.41.0", + "repoName": "io_bazel_rules_go", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@go_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@io_bazel_rules_go//go/private:extensions.bzl", + "extensionName": "non_module_dependencies", + "usingModule": "rules_go@0.41.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel", + "line": 13, + "column": 40 + }, + "imports": { + "io_bazel_rules_nogo": "io_bazel_rules_nogo" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@io_bazel_rules_go//go:extensions.bzl", + "extensionName": "go_sdk", + "usingModule": "rules_go@0.41.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel", + "line": 19, + "column": 23 + }, + "imports": { + "go_toolchains": "go_toolchains" + }, + "devImports": [], + "tags": [ + { + "tagName": "download", + "attributeValues": {"name":"--go_default_sdk","version":"--1.20.2"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel", + "line": 20, + "column": 16 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "rules_go@0.41.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel", + "line": 30, + "column": 24 + }, + "imports": { + "com_github_gogo_protobuf": "com_github_gogo_protobuf", + "com_github_golang_mock": "com_github_golang_mock", + "com_github_golang_protobuf": "com_github_golang_protobuf", + "org_golang_google_genproto": "org_golang_google_genproto", + "org_golang_google_grpc": "org_golang_google_grpc", + "org_golang_google_protobuf": "org_golang_google_protobuf", + "org_golang_x_net": "org_golang_x_net" + }, + "devImports": [], + "tags": [ + { + "tagName": "from_file", + "attributeValues": {"go_mod":"--//:go.mod"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel", + "line": 31, + "column": 18 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/gogo/protobuf","sum":"--h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=","version":"--v1.3.2"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel", + "line": 32, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "platforms": "platforms@0.0.7", + "rules_proto": "rules_proto@5.3.0-21.7", + "com_google_protobuf": "protobuf@21.7", + "gazelle": "gazelle@0.32.0" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0","urls":["--https://github.com/bazelbuild/rules_go/releases/download/v0.41.0/rules_go-v0.41.0.zip"],"integrity":"--sha256-J4t/9agm89wQ8E/q8LcNSLaHSMzVEtf5i/RCB38EP+M=","strip_prefix":"--","remote_patches":{"--https://bcr.bazel.build/modules/rules_go/0.41.0/patches/bump_gazelle_version.patch":"--sha256-50a277c9CqDhHN0A+EnA++cjEzbCBbhjRao/xOoGgHk="},"remote_patch_strip":1} + } + }, + "gazelle@0.32.0": { + "name": "gazelle", + "version": "0.32.0", + "key": "gazelle@0.32.0", + "repoName": "bazel_gazelle", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@io_bazel_rules_go//go:extensions.bzl", + "extensionName": "go_sdk", + "usingModule": "gazelle@0.32.0", + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel", + "line": 12, + "column": 23 + }, + "imports": { + "go_sdk": "go_default_sdk" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//internal/bzlmod:non_module_deps.bzl", + "extensionName": "non_module_deps", + "usingModule": "gazelle@0.32.0", + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel", + "line": 20, + "column": 32 + }, + "imports": { + "bazel_gazelle_go_repository_cache": "bazel_gazelle_go_repository_cache", + "bazel_gazelle_go_repository_tools": "bazel_gazelle_go_repository_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "gazelle@0.32.0", + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel", + "line": 27, + "column": 24 + }, + "imports": { + "com_github_bazelbuild_buildtools": "com_github_bazelbuild_buildtools", + "com_github_bmatcuk_doublestar_v4": "com_github_bmatcuk_doublestar_v4", + "com_github_fsnotify_fsnotify": "com_github_fsnotify_fsnotify", + "com_github_google_go_cmp": "com_github_google_go_cmp", + "com_github_pmezard_go_difflib": "com_github_pmezard_go_difflib", + "org_golang_x_mod": "org_golang_x_mod", + "org_golang_x_sync": "org_golang_x_sync", + "org_golang_x_tools": "org_golang_x_tools", + "bazel_gazelle_go_repository_config": "bazel_gazelle_go_repository_config" + }, + "devImports": [], + "tags": [ + { + "tagName": "from_file", + "attributeValues": {"go_mod":"--//:go.mod"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel", + "line": 28, + "column": 18 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "com_google_protobuf": "protobuf@21.7", + "io_bazel_rules_go": "rules_go@0.41.0", + "rules_proto": "rules_proto@5.3.0-21.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--gazelle~0.32.0","urls":["--https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.32.0/bazel-gazelle-v0.32.0.tar.gz"],"integrity":"--sha256-KSGPjgzr5YNkPL+Tyub5cb6KJITNz6HkUFdljfjVQAI=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "rules_bazel_integration_test@0.15.0": { + "name": "rules_bazel_integration_test", + "version": "0.15.0", + "key": "rules_bazel_integration_test@0.15.0", + "repoName": "rules_bazel_integration_test", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@bazel_tools//tools/python:autodetecting_toolchain" + ], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_python": "rules_python@0.19.0", + "platforms": "platforms@0.0.7", + "cgrindel_bazel_starlib": "cgrindel_bazel_starlib@0.16.0" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_bazel_integration_test~0.15.0","urls":["--https://github.com/bazel-contrib/rules_bazel_integration_test/releases/download/v0.15.0/rules_bazel_integration_test.v0.15.0.tar.gz"],"integrity":"--sha256-PUoQ/htPhzJ4MxhMcz5NJADt3gdXNDJUQmeZFxsoHZo=","strip_prefix":"--","remote_patches":{"--https://bcr.bazel.build/modules/rules_bazel_integration_test/0.15.0/patches/module_dot_bazel_version.patch":"--sha256-8boVNhsKjGYnuOykrVPpl8+LVYCX+mG1ObtP6oZ6W4w="},"remote_patch_strip":0} + } + }, + "stardoc@0.5.4": { + "name": "stardoc", + "version": "0.5.4", + "key": "stardoc@0.5.4", + "repoName": "stardoc", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_java": "rules_java@6.5.0", + "rules_license": "rules_license@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--stardoc~0.5.4","urls":["--https://github.com/bazelbuild/stardoc/releases/download/0.5.4/stardoc-0.5.4.tar.gz"],"integrity":"--sha256-7FcTnkZvquVj8vw5YJ2klIpHm7UbbWeu3X2bG4BZxDM=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "bazel_skylib_gazelle_plugin@1.4.2": { + "name": "bazel_skylib_gazelle_plugin", + "version": "1.4.2", + "key": "bazel_skylib_gazelle_plugin@1.4.2", + "repoName": "bazel_skylib_gazelle_plugin", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "bazel_skylib_gazelle_plugin@1.4.2", + "location": { + "file": "https://bcr.bazel.build/modules/bazel_skylib_gazelle_plugin/1.4.2/MODULE.bazel", + "line": 15, + "column": 24 + }, + "imports": { + "com_github_bazelbuild_buildtools": "com_github_bazelbuild_buildtools" + }, + "devImports": [], + "tags": [ + { + "tagName": "module", + "attributeValues": {"path":"--github.com/bazelbuild/buildtools","sum":"--h1:fmdo+fvvWlhldUcqkhAMpKndSxMN3vH5l7yow5cEaiQ=","version":"--v0.0.0-20220531122519-a43aed7014c8"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/bazel_skylib_gazelle_plugin/1.4.2/MODULE.bazel", + "line": 16, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "bazel_gazelle": "gazelle@0.32.0", + "io_bazel_rules_go": "rules_go@0.41.0" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--bazel_skylib_gazelle_plugin~1.4.2","urls":["--https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-gazelle-plugin-1.4.2.tar.gz"],"integrity":"--sha256-MycAXbyeScw5YC+0ZXJSWYT3EZqcb/5e1p++I9t8FWA=","strip_prefix":"--","remote_patches":{},"remote_patch_strip":0} + } + }, + "contrib_rules_jvm@0.13.0": { + "name": "contrib_rules_jvm", + "version": "0.13.0", + "key": "contrib_rules_jvm@0.13.0", + "repoName": "contrib_rules_jvm", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@contrib_rules_jvm//java/private:non-module-deps.bzl", + "extensionName": "non_module_deps", + "usingModule": "contrib_rules_jvm@0.13.0", + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 19, + "column": 32 + }, + "imports": { + "io_grpc_grpc_java": "io_grpc_grpc_java" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@apple_rules_lint//lint:extensions.bzl", + "extensionName": "linter", + "usingModule": "contrib_rules_jvm@0.13.0", + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 25, + "column": 23 + }, + "imports": { + "apple_linters": "apple_linters" + }, + "devImports": [], + "tags": [ + { + "tagName": "register", + "attributeValues": {"name":"--java-checkstyle"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 26, + "column": 16 + } + }, + { + "tagName": "configure", + "attributeValues": {"name":"--java-checkstyle","config":"--//java:checkstyle-default-config"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 27, + "column": 17 + } + }, + { + "tagName": "register", + "attributeValues": {"name":"--java-pmd"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 31, + "column": 16 + } + }, + { + "tagName": "configure", + "attributeValues": {"name":"--java-pmd","config":"--//java:pmd-config"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 32, + "column": 17 + } + }, + { + "tagName": "register", + "attributeValues": {"name":"--java-spotbugs"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 36, + "column": 16 + } + }, + { + "tagName": "configure", + "attributeValues": {"name":"--java-spotbugs","config":"--//java:spotbugs-default-config"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 37, + "column": 17 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_jvm_external//:extensions.bzl", + "extensionName": "maven", + "usingModule": "contrib_rules_jvm@0.13.0", + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 46, + "column": 22 + }, + "imports": { + "com_google_api_grpc_proto_google_common_protos": "com_google_api_grpc_proto_google_common_protos", + "com_google_code_findbugs_jsr305": "com_google_code_findbugs_jsr305", + "com_google_errorprone_error_prone_annotations": "com_google_errorprone_error_prone_annotations", + "com_google_guava_failureaccess": "com_google_guava_failureaccess", + "com_google_guava_guava": "com_google_guava_guava", + "com_google_j2objc_j2objc_annotations": "com_google_j2objc_j2objc_annotations", + "contrib_rules_jvm_deps": "contrib_rules_jvm_deps", + "org_apache_tomcat_annotations_api": "org_apache_tomcat_annotations_api" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": {"name":"--contrib_rules_jvm_deps","artifacts":["--com.google.code.findbugs:jsr305:3.0.2","--com.google.errorprone:error_prone_annotations:2.11.0","--com.google.guava:guava:30.1.1-jre","--commons-cli:commons-cli:1.5.0","--io.grpc:grpc-api:1.40.0","--io.grpc:grpc-core:1.40.0","--io.grpc:grpc-netty:1.40.0","--io.grpc:grpc-services:1.40.0","--io.grpc:grpc-stub:1.40.0","--org.slf4j:slf4j-simple:1.7.32","--com.google.googlejavaformat:google-java-format:1.15.0","--org.junit.jupiter:junit-jupiter-engine:5.8.1","--org.junit.jupiter:junit-jupiter-api:5.8.1","--org.junit.platform:junit-platform-launcher:1.8.1","--org.junit.platform:junit-platform-reporting:1.8.1","--org.junit.vintage:junit-vintage-engine:5.8.1","--org.opentest4j:opentest4j:1.2.0","--com.puppycrawl.tools:checkstyle:10.2","--net.sourceforge.pmd:pmd-dist:6.46.0","--org.slf4j:slf4j-api:1.7.32","--org.slf4j:slf4j-jdk14:1.7.32","--com.google.android:annotations:4.1.1.4","--com.google.api.grpc:proto-google-common-protos:2.9.0","--com.google.auth:google-auth-library-credentials:0.22.0","--com.google.auth:google-auth-library-oauth2-http:0.22.0","--com.google.auto.value:auto-value-annotations:1.9","--com.google.auto.value:auto-value:1.9","--com.google.code.findbugs:jsr305:3.0.2","--com.google.code.gson:gson:2.9.0","--com.google.errorprone:error_prone_annotations:2.9.0","--com.google.guava:failureaccess:1.0.1","--com.google.guava:guava:31.0.1-android","--com.google.j2objc:j2objc-annotations:1.3","--com.google.re2j:re2j:1.6","--com.google.truth:truth:1.0.1","--com.squareup.okhttp:okhttp:2.7.5","--com.squareup.okio:okio:1.17.5","--io.netty:netty-buffer:4.1.87.Final","--io.netty:netty-codec-http2:4.1.87.Final","--io.netty:netty-codec-http:4.1.87.Final","--io.netty:netty-codec-socks:4.1.87.Final","--io.netty:netty-codec:4.1.87.Final","--io.netty:netty-common:4.1.87.Final","--io.netty:netty-handler-proxy:4.1.87.Final","--io.netty:netty-handler:4.1.87.Final","--io.netty:netty-resolver:4.1.87.Final","--io.netty:netty-tcnative-boringssl-static:2.0.56.Final","--io.netty:netty-tcnative-classes:2.0.56.Final","--io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.87.Final","--io.netty:netty-transport-native-unix-common:4.1.87.Final","--io.netty:netty-transport:4.1.87.Final","--io.opencensus:opencensus-api:0.24.0","--io.opencensus:opencensus-contrib-grpc-metrics:0.24.0","--io.perfmark:perfmark-api:0.25.0","--junit:junit:4.12","--org.apache.tomcat:annotations-api:6.0.53","--org.codehaus.mojo:animal-sniffer-annotations:1.21"],"fail_if_repin_required":true,"generate_compat_repositories":true,"strict_visibility":false}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 87, + "column": 14 + } + }, + { + "tagName": "artifact", + "attributeValues": {"name":"--contrib_rules_jvm_deps","artifact":"--spotbugs","exclusions":["--org.slf4j:slf4j-api"],"group":"--com.github.spotbugs","version":"--4.7.0"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 133, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "contrib_rules_jvm@0.13.0", + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 178, + "column": 24 + }, + "imports": { + "com_github_aristanetworks_goarista": "com_github_aristanetworks_goarista", + "com_github_bazelbuild_buildtools": "com_github_bazelbuild_buildtools", + "com_github_google_btree": "com_github_google_btree", + "com_github_google_go_cmp": "com_github_google_go_cmp", + "com_github_google_uuid": "com_github_google_uuid", + "com_github_hashicorp_golang_lru": "com_github_hashicorp_golang_lru", + "com_github_rs_zerolog": "com_github_rs_zerolog", + "com_github_sergi_go_diff": "com_github_sergi_go_diff", + "com_github_stretchr_testify": "com_github_stretchr_testify", + "net_starlark_go": "net_starlark_go", + "org_golang_google_grpc": "org_golang_google_grpc", + "org_golang_x_tools": "org_golang_x_tools" + }, + "devImports": [], + "tags": [ + { + "tagName": "from_file", + "attributeValues": {"go_mod":"--//:go.mod"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/contrib_rules_jvm/0.13.0/MODULE.bazel", + "line": 179, + "column": 18 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "apple_rules_lint": "apple_rules_lint@0.3.2", + "bazel_skylib": "bazel_skylib@1.4.2", + "bazel_skylib_gazelle_plugin": "bazel_skylib_gazelle_plugin@1.4.2", + "bazel_gazelle": "gazelle@0.32.0", + "com_google_protobuf": "protobuf@21.7", + "rules_cc": "rules_cc@0.0.8", + "io_bazel_rules_go": "rules_go@0.41.0", + "rules_java": "rules_java@6.5.0", + "rules_jvm_external": "rules_jvm_external@5.3", + "rules_proto": "rules_proto@5.3.0-21.7", + "io_bazel_stardoc": "stardoc@0.5.4" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--contrib_rules_jvm~0.13.0","urls":["--https://github.com/bazel-contrib/rules_jvm/releases/download/v0.13.0/rules_jvm-v0.13.0.tar.gz"],"integrity":"--sha256-K3EFGIRyefZVoYpRoWKbAz5EBvKWCec+sH7PtvATjSU=","strip_prefix":"--rules_jvm-0.13.0","remote_patches":{},"remote_patch_strip":0} + } + }, + "apple_rules_lint@0.3.2": { + "name": "apple_rules_lint", + "version": "0.3.2", + "key": "apple_rules_lint@0.3.2", + "repoName": "apple_rules_lint", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@apple_rules_lint//lint:extensions.bzl", + "extensionName": "linter", + "usingModule": "apple_rules_lint@0.3.2", + "location": { + "file": "https://bcr.bazel.build/modules/apple_rules_lint/0.3.2/MODULE.bazel", + "line": 9, + "column": 23 + }, + "imports": { + "apple_linters": "apple_linters" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "io_bazel_stardoc": "stardoc@0.5.4" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--apple_rules_lint~0.3.2","urls":["--https://github.com/apple/apple_rules_lint/archive/refs/tags/0.3.2.tar.gz"],"integrity":"--sha256-fDzEWpXj72+8SEpCNHiaAn4RUZ9FTfY8u5Y6xJnxA/k=","strip_prefix":"--apple_rules_lint-0.3.2","remote_patches":{},"remote_patch_strip":0} + } + }, + "buildifier_prebuilt@6.1.2.1": { + "name": "buildifier_prebuilt", + "version": "6.1.2.1", + "key": "buildifier_prebuilt@6.1.2.1", + "repoName": "buildifier_prebuilt", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@buildifier_prebuilt_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@buildifier_prebuilt//:defs.bzl", + "extensionName": "buildifier_prebuilt_deps_extension", + "usingModule": "buildifier_prebuilt@6.1.2.1", + "location": { + "file": "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2.1/MODULE.bazel", + "line": 10, + "column": 32 + }, + "imports": { + "buildifier_prebuilt_toolchains": "buildifier_prebuilt_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "platforms": "platforms@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1","urls":["--https://github.com/keith/buildifier-prebuilt/archive/refs/tags/6.1.2.1.tar.gz"],"integrity":"--sha256-QdVzYu6PNRsQ2TEyObtMvGFS/cBKqG5jAHobhDrTP00=","strip_prefix":"--buildifier-prebuilt-6.1.2.1","remote_patches":{"--https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2.1/patches/module_dot_bazel_version.patch":"--sha256-6Kp28HM4el/8RayN9Yzo76AyNdOLXNPN2+Cmz9rWPOg="},"remote_patch_strip":0} + } + }, + "rules_proto@5.3.0-21.7": { + "name": "rules_proto", + "version": "5.3.0-21.7", + "key": "rules_proto@5.3.0-21.7", + "repoName": "rules_proto", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "com_google_protobuf": "protobuf@21.7", + "rules_cc": "rules_cc@0.0.8" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_proto~5.3.0-21.7","urls":["--https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"],"integrity":"--sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=","strip_prefix":"--rules_proto-5.3.0-21.7","remote_patches":{},"remote_patch_strip":0} + } + }, + "rules_python@0.19.0": { + "name": "rules_python", + "version": "0.19.0", + "key": "rules_python@0.19.0", + "repoName": "rules_python", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_python//python:extensions.bzl", + "extensionName": "internal_deps", + "usingModule": "rules_python@0.19.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_python/0.19.0/MODULE.bazel", + "line": 14, + "column": 30 + }, + "imports": { + "pypi__build": "pypi__build", + "pypi__click": "pypi__click", + "pypi__colorama": "pypi__colorama", + "pypi__importlib_metadata": "pypi__importlib_metadata", + "pypi__installer": "pypi__installer", + "pypi__more_itertools": "pypi__more_itertools", + "pypi__packaging": "pypi__packaging", + "pypi__pep517": "pypi__pep517", + "pypi__pip": "pypi__pip", + "pypi__pip_tools": "pypi__pip_tools", + "pypi__setuptools": "pypi__setuptools", + "pypi__tomli": "pypi__tomli", + "pypi__wheel": "pypi__wheel", + "pypi__zipp": "pypi__zipp", + "pypi__coverage_cp310_aarch64-apple-darwin": "pypi__coverage_cp310_aarch64-apple-darwin", + "pypi__coverage_cp310_aarch64-unknown-linux-gnu": "pypi__coverage_cp310_aarch64-unknown-linux-gnu", + "pypi__coverage_cp310_x86_64-apple-darwin": "pypi__coverage_cp310_x86_64-apple-darwin", + "pypi__coverage_cp310_x86_64-unknown-linux-gnu": "pypi__coverage_cp310_x86_64-unknown-linux-gnu", + "pypi__coverage_cp311_aarch64-unknown-linux-gnu": "pypi__coverage_cp311_aarch64-unknown-linux-gnu", + "pypi__coverage_cp311_x86_64-apple-darwin": "pypi__coverage_cp311_x86_64-apple-darwin", + "pypi__coverage_cp311_x86_64-unknown-linux-gnu": "pypi__coverage_cp311_x86_64-unknown-linux-gnu", + "pypi__coverage_cp38_aarch64-apple-darwin": "pypi__coverage_cp38_aarch64-apple-darwin", + "pypi__coverage_cp38_aarch64-unknown-linux-gnu": "pypi__coverage_cp38_aarch64-unknown-linux-gnu", + "pypi__coverage_cp38_x86_64-apple-darwin": "pypi__coverage_cp38_x86_64-apple-darwin", + "pypi__coverage_cp38_x86_64-unknown-linux-gnu": "pypi__coverage_cp38_x86_64-unknown-linux-gnu", + "pypi__coverage_cp39_aarch64-apple-darwin": "pypi__coverage_cp39_aarch64-apple-darwin", + "pypi__coverage_cp39_aarch64-unknown-linux-gnu": "pypi__coverage_cp39_aarch64-unknown-linux-gnu", + "pypi__coverage_cp39_x86_64-apple-darwin": "pypi__coverage_cp39_x86_64-apple-darwin", + "pypi__coverage_cp39_x86_64-unknown-linux-gnu": "pypi__coverage_cp39_x86_64-unknown-linux-gnu" + }, + "devImports": [], + "tags": [ + { + "tagName": "install", + "attributeValues": {}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_python/0.19.0/MODULE.bazel", + "line": 15, + "column": 22 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "platforms": "platforms@0.0.7", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_proto": "rules_proto@5.3.0-21.7", + "com_google_protobuf": "protobuf@21.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_python~0.19.0","urls":["--https://github.com/bazelbuild/rules_python/releases/download/0.19.0/rules_python-0.19.0.tar.gz"],"integrity":"--sha256-/8e4d8lUE8gr/VSCwBftz3WaYlDYsk6C9B88i42eKH4=","strip_prefix":"--rules_python-0.19.0","remote_patches":{"--https://bcr.bazel.build/modules/rules_python/0.19.0/patches/module_dot_bazel_version.patch":"--sha256-oRg4TxtZRlGGiadzPEwt2MtofP/JpBhE90bRVDRaazA="},"remote_patch_strip":0} + } + }, + "zlib@1.2.13": { + "name": "zlib", + "version": "1.2.13", + "key": "zlib@1.2.13", + "repoName": "zlib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--zlib~1.2.13","urls":["--https://github.com/madler/zlib/archive/refs/tags/v1.2.13.zip"],"integrity":"--sha256-woVpUbvzDjCGGs43ZVldhroT8s8BJ52QH2xiJYxX9P8=","strip_prefix":"--zlib-1.2.13","remote_patches":{"--https://bcr.bazel.build/modules/zlib/1.2.13/patches/add_build_file.patch":"--sha256-Z2ig1F01/dfdG63H+GwYRMcGbW/zAGIUWnKKrwKSEaQ=","--https://bcr.bazel.build/modules/zlib/1.2.13/patches/module_dot_bazel.patch":"--sha256-Nc7xP02Dl6yHQvkiZWSQnlnw1T277yS4cJxxONWJ/Ic="},"remote_patch_strip":0} + } + }, + "rules_pkg@0.7.0": { + "name": "rules_pkg", + "version": "0.7.0", + "key": "rules_pkg@0.7.0", + "repoName": "rules_pkg", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "rules_python": "rules_python@0.19.0", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_license": "rules_license@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_pkg~0.7.0","urls":["--https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"],"integrity":"--sha256-iimOgydi7aGDBZfWT+fbWBeKqEzVkm121bdE1lWJQcI=","strip_prefix":"--","remote_patches":{"--https://bcr.bazel.build/modules/rules_pkg/0.7.0/patches/module_dot_bazel.patch":"--sha256-4OaEPZwYF6iC71ZTDg6MJ7LLqX7ZA0/kK4mT+4xKqiE="},"remote_patch_strip":0} + } + }, + "abseil-cpp@20211102.0": { + "name": "abseil-cpp", + "version": "20211102.0", + "key": "abseil-cpp@20211102.0", + "repoName": "abseil-cpp", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "rules_cc": "rules_cc@0.0.8", + "platforms": "platforms@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--abseil-cpp~20211102.0","urls":["--https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"],"integrity":"--sha256-3PcbnLqNwMqZQMSzFqDHlr6Pq0KwcLtrfKtitI8OZsQ=","strip_prefix":"--abseil-cpp-20211102.0","remote_patches":{"--https://bcr.bazel.build/modules/abseil-cpp/20211102.0/patches/module_dot_bazel.patch":"--sha256-4izqopgGCey4jVZzl/w3M2GVPNohjh2B5TmbThZNvPY="},"remote_patch_strip":0} + } + }, + "upb@0.0.0-20220923-a547704": { + "name": "upb", + "version": "0.0.0-20220923-a547704", + "key": "upb@0.0.0-20220923-a547704", + "repoName": "upb", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "bazel_skylib": "bazel_skylib@1.4.2", + "rules_proto": "rules_proto@5.3.0-21.7", + "com_google_protobuf": "protobuf@21.7", + "com_google_absl": "abseil-cpp@20211102.0", + "platforms": "platforms@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--upb~0.0.0-20220923-a547704","urls":["--https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz"],"integrity":"--sha256-z39x6v+QskwaKLSWRan/A6mmwecTQpHOcJActj5zZLU=","strip_prefix":"--upb-a5477045acaa34586420942098f5fecd3570f577","remote_patches":{"--https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/patches/module_dot_bazel.patch":"--sha256-wH4mNS6ZYy+8uC0HoAft/c7SDsq2Kxf+J8dUakXhaB0="},"remote_patch_strip":0} + } + }, + "googletest@1.11.0": { + "name": "googletest", + "version": "1.11.0", + "key": "googletest@1.11.0", + "repoName": "googletest", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "com_google_absl": "abseil-cpp@20211102.0", + "platforms": "platforms@0.0.7", + "rules_cc": "rules_cc@0.0.8" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--googletest~1.11.0","urls":["--https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz"],"integrity":"--sha256-tIcL8SH/d5W6INILzdhie44Ijy0dqymaAxwQNO3ck9U=","strip_prefix":"--googletest-release-1.11.0","remote_patches":{"--https://bcr.bazel.build/modules/googletest/1.11.0/patches/module_dot_bazel.patch":"--sha256-HuahEdI/n8KCI071sN3CEziX+7qP/Ec77IWayYunLP0="},"remote_patch_strip":0} + } + }, + "cgrindel_bazel_starlib@0.16.0": { + "name": "cgrindel_bazel_starlib", + "version": "0.16.0", + "key": "cgrindel_bazel_starlib@0.16.0", + "repoName": "cgrindel_bazel_starlib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@io_bazel_rules_go//go:extensions.bzl", + "extensionName": "go_sdk", + "usingModule": "cgrindel_bazel_starlib@0.16.0", + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 31, + "column": 23 + }, + "imports": { + "go_sdk": "go_default_sdk" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "cgrindel_bazel_starlib@0.16.0", + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 37, + "column": 24 + }, + "imports": { + "com_github_alecthomas_assert": "com_github_alecthomas_assert", + "com_github_alecthomas_colour": "com_github_alecthomas_colour", + "com_github_alecthomas_repr": "com_github_alecthomas_repr", + "com_github_alecthomas_template": "com_github_alecthomas_template", + "com_github_alecthomas_units": "com_github_alecthomas_units", + "com_github_davecgh_go_spew": "com_github_davecgh_go_spew", + "com_github_ekalinin_github_markdown_toc_go": "com_github_ekalinin_github_markdown_toc_go", + "com_github_mattn_go_isatty": "com_github_mattn_go_isatty", + "com_github_sergi_go_diff": "com_github_sergi_go_diff", + "com_github_stretchr_testify": "com_github_stretchr_testify", + "in_gopkg_alecthomas_kingpin_v2": "in_gopkg_alecthomas_kingpin_v2" + }, + "devImports": [], + "tags": [ + { + "tagName": "module", + "attributeValues": {"path":"--github.com/alecthomas/assert","sum":"--h1:smF2tmSOzy2Mm+0dGI2AIUHY+w0BUc+4tn40djz7+6U=","version":"--v0.0.0-20170929043011-405dbfeb8e38"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 44, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/alecthomas/colour","sum":"--h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk=","version":"--v0.1.0"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 49, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/alecthomas/repr","sum":"--h1:8Uy0oSf5co/NZXje7U1z8Mpep++QJOldL2hs/sBQf48=","version":"--v0.0.0-20210801044451-80ca428c5142"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 54, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/alecthomas/template","sum":"--h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU=","version":"--v0.0.0-20160405071501-a0175ee3bccc"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 59, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/alecthomas/units","sum":"--h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=","version":"--v0.0.0-20151022065526-2efee857e7cf"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 64, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/davecgh/go-spew","sum":"--h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=","version":"--v1.1.1"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 69, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/ekalinin/github-markdown-toc.go","sum":"--h1:6jRFt5qg61XfXZbP3SDaeTX+1OC1EgbHvRceYDmPAUE=","version":"--v1.2.1"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 74, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/mattn/go-isatty","sum":"--h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=","version":"--v0.0.14"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 79, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/sergi/go-diff","sum":"--h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=","version":"--v1.2.0"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 84, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--github.com/stretchr/testify","sum":"--h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=","version":"--v1.7.0"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 89, + "column": 15 + } + }, + { + "tagName": "module", + "attributeValues": {"path":"--gopkg.in/alecthomas/kingpin.v2","sum":"--h1:CC8tJ/xljioKrK6ii3IeWVXU4Tw7VB+LbjZBJaBxN50=","version":"--v2.2.4"}, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/MODULE.bazel", + "line": 94, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_", + "io_bazel_rules_go": "rules_go@0.41.0", + "bazel_gazelle": "gazelle@0.32.0", + "bazel_skylib": "bazel_skylib@1.4.2", + "io_bazel_stardoc": "stardoc@0.5.4", + "buildifier_prebuilt": "buildifier_prebuilt@6.1.2.1", + "platforms": "platforms@0.0.7" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--cgrindel_bazel_starlib~0.16.0","urls":["--https://github.com/cgrindel/bazel-starlib/releases/download/v0.16.0/bazel-starlib.v0.16.0.tar.gz"],"integrity":"--sha256-7gAz0Cm16t3CGDaylEzzfJXrXyFOs5g0E2oxbbwlKnM=","strip_prefix":"--","remote_patches":{"--https://bcr.bazel.build/modules/cgrindel_bazel_starlib/0.16.0/patches/module_dot_bazel_version.patch":"--sha256-NEZil+lr453UzJakTyW0VldJlnCmP+I05qRoVNTdGKw="},"remote_patch_strip":0} + } + } + }, + "moduleExtensions": { + "@rules_jvm_external~5.3//:extensions.bzl%maven": { + "bzlTransitiveDigest": "GmX93EaiSohB6pX+gzjwtizodrCOrnWWbUX+7csVkS4=", + "envVariables": {}, + "generatedRepoSpecs": { + "com_google_auth_google_auth_library_oauth2_http": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auth_google_auth_library_oauth2_http","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_auth_google_auth_library_oauth2_http"} + }, + "com_google_guava_failureaccess_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_guava_failureaccess_1_0_1","sha256":"--a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26","urls":["--https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar","--https://maven.google.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"],"downloaded_file_path":"--com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"} + }, + "io_grpc_grpc_netty_shaded_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_netty_shaded_1_55_1","sha256":"--3dc035ea13bf854d4218bc6370ba8d786077a9e0d76337e61df7597a78a03c61","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-netty-shaded/1.55.1/grpc-netty-shaded-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-netty-shaded/1.55.1/grpc-netty-shaded-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-netty-shaded/1.55.1/grpc-netty-shaded-1.55.1.jar"} + }, + "io_opencensus_opencensus_api_0_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_opencensus_opencensus_api_0_31_1","sha256":"--f1474d47f4b6b001558ad27b952e35eda5cc7146788877fc52938c6eba24b382","urls":["--https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar","--https://maven.google.com/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar"],"downloaded_file_path":"--io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar"} + }, + "io_perfmark_perfmark_api_0_26_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_perfmark_perfmark_api_0_26_0","sha256":"--b7d23e93a34537ce332708269a0d1404788a5b5e1949e82f5535fce51b3ea95b","urls":["--https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar","--https://maven.google.com/io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar"],"downloaded_file_path":"--io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar"} + }, + "io_netty_netty_codec_http2_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec_http2_4_1_86_Final","sha256":"--e8e8e28e6ab6bb989aed904778922045f388cfb420bc1eb37abf4df8801db167","urls":["--https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.86.Final/netty-codec-http2-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-codec-http2/4.1.86.Final/netty-codec-http2-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-codec-http2/4.1.86.Final/netty-codec-http2-4.1.86.Final.jar"} + }, + "software_amazon_awssdk_protocol_core_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_protocol_core_2_20_78","sha256":"--9ae1459ad8bd5b6167997985ec7afebf9fc1105a3d727d8b485b276b5c2fbddb","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.20.78/protocol-core-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/protocol-core/2.20.78/protocol-core-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/protocol-core/2.20.78/protocol-core-2.20.78.jar"} + }, + "com_google_android_annotations": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_android_annotations","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_android_annotations"} + }, + "io_netty_netty_transport_native_unix_common": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_transport_native_unix_common","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_transport_native_unix_common"} + }, + "org_junit_jupiter_junit_jupiter_engine": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_junit_jupiter_junit_jupiter_engine","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_junit_jupiter_junit_jupiter_engine"} + }, + "io_grpc_grpc_alts_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_alts_1_55_1","sha256":"--9ab78b042d55cb501a2126c831896f3223e39c65085351b40a588b085ed6d431","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-alts/1.55.1/grpc-alts-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-alts/1.55.1/grpc-alts-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-alts/1.55.1/grpc-alts-1.55.1.jar"} + }, + "com_google_auto_value_auto_value": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auto_value_auto_value","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_auto_value_auto_value"} + }, + "com_google_api_gax_httpjson_0_113_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_gax_httpjson_0_113_1","sha256":"--f7e4e84caa6577466fc828858193667135b291da044f007eafde99c0f929b781","urls":["--https://repo1.maven.org/maven2/com/google/api/gax-httpjson/0.113.1/gax-httpjson-0.113.1.jar","--https://maven.google.com/com/google/api/gax-httpjson/0.113.1/gax-httpjson-0.113.1.jar"],"downloaded_file_path":"--com/google/api/gax-httpjson/0.113.1/gax-httpjson-0.113.1.jar"} + }, + "com_google_truth_truth": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_truth_truth","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_truth_truth"} + }, + "com_squareup_okio_okio": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_squareup_okio_okio","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_squareup_okio_okio"} + }, + "io_netty_netty_resolver": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_resolver","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_resolver"} + }, + "org_reactivestreams_reactive_streams_1_0_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_reactivestreams_reactive_streams_1_0_3","sha256":"--1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865","urls":["--https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar","--https://maven.google.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar"],"downloaded_file_path":"--org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar"} + }, + "org_graalvm_nativeimage_svm_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_nativeimage_svm_23_0_1","sha256":"--cddc7b58ba558d1cc99fee13ca56970f9898c0a71f1ec19d1bf5618b4aeb2994","urls":["--https://maven.pkg.st/org/graalvm/nativeimage/svm/23.0.1/svm-23.0.1.jar","--https://maven.google.com/org/graalvm/nativeimage/svm/23.0.1/svm-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/nativeimage/svm/23.0.1/svm-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/nativeimage/svm/23.0.1/svm-23.0.1.jar"} + }, + "org_apache_maven_maven_artifact_3_9_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_apache_maven_maven_artifact_3_9_2","sha256":"--f2174221d412a79572817b5aa77125348f43266670b6329a9881cdccf7bbc4b1","urls":["--https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.9.2/maven-artifact-3.9.2.jar","--https://maven.google.com/org/apache/maven/maven-artifact/3.9.2/maven-artifact-3.9.2.jar"],"downloaded_file_path":"--org/apache/maven/maven-artifact/3.9.2/maven-artifact-3.9.2.jar"} + }, + "io_netty_netty_common": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_common","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_common"} + }, + "io_grpc_grpc_stub_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_stub_1_55_1","sha256":"--58c114817d42237ce50a5f7677cf142564df64200e59c956e49302b6c8af616a","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.55.1/grpc-stub-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-stub/1.55.1/grpc-stub-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-stub/1.55.1/grpc-stub-1.55.1.jar"} + }, + "org_apache_commons_commons_lang3_3_12_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_apache_commons_commons_lang3_3_12_0","sha256":"--d919d904486c037f8d193412da0c92e22a9fa24230b9d67a57855c5c31c7e94e","urls":["--https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar","--https://maven.google.com/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar"],"downloaded_file_path":"--org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar"} + }, + "software_amazon_awssdk_auth_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_auth_2_20_78","sha256":"--9eb0c3d97668b318ae5dcd127f434186a73d8e2552ad0fdd1fb71e3ffa5f0bec","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.20.78/auth-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/auth/2.20.78/auth-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/auth/2.20.78/auth-2.20.78.jar"} + }, + "com_google_googlejavaformat_google_java_format": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_googlejavaformat_google_java_format","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_googlejavaformat_google_java_format"} + }, + "org_codehaus_mojo_animal_sniffer_annotations_1_23": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_codehaus_mojo_animal_sniffer_annotations_1_23","sha256":"--9ffe526bf43a6348e9d8b33b9cd6f580a7f5eed0cf055913007eda263de974d0","urls":["--https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23.jar","--https://maven.google.com/org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23.jar"],"downloaded_file_path":"--org/codehaus/mojo/animal-sniffer-annotations/1.23/animal-sniffer-annotations-1.23.jar"} + }, + "org_junit_jupiter_junit_jupiter_api": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_junit_jupiter_junit_jupiter_api","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_junit_jupiter_junit_jupiter_api"} + }, + "software_amazon_eventstream_eventstream_1_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_eventstream_eventstream_1_0_1","sha256":"--0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822","urls":["--https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar","--https://maven.google.com/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar"],"downloaded_file_path":"--software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar"} + }, + "io_netty_netty_handler": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_handler","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_handler"} + }, + "io_grpc_grpc_core_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_core_1_55_1","sha256":"--c4782555fefb61c72898759a7d11f5f221811935bcf983efb478d796228b65dc","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-core/1.55.1/grpc-core-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-core/1.55.1/grpc-core-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-core/1.55.1/grpc-core-1.55.1.jar"} + }, + "com_google_auto_value_auto_value_annotations": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auto_value_auto_value_annotations","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_auto_value_auto_value_annotations"} + }, + "org_graalvm_compiler_compiler_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_compiler_compiler_23_0_1","sha256":"--63a63a67e74541194e19e399166e274ec0f129c20f0b0ac1a6ae97e2f146041a","urls":["--https://maven.pkg.st/org/graalvm/compiler/compiler/23.0.1/compiler-23.0.1.jar","--https://maven.google.com/org/graalvm/compiler/compiler/23.0.1/compiler-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/compiler/compiler/23.0.1/compiler-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/compiler/compiler/23.0.1/compiler-23.0.1.jar"} + }, + "com_google_code_gson_gson_2_10_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_code_gson_gson_2_10_1","sha256":"--4241c14a7727c34feea6507ec801318a3d4a90f070e4525681079fb94ee4c593","urls":["--https://repo1.maven.org/maven2/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar","--https://maven.google.com/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar"],"downloaded_file_path":"--com/google/code/gson/gson/2.10.1/gson-2.10.1.jar"} + }, + "com_google_api_grpc_grpc_google_cloud_storage_v2_2_22_3_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_grpc_grpc_google_cloud_storage_v2_2_22_3_alpha","sha256":"--c62c1c54e44d9e4622bd6f7f1285f8456efd50880c1e6d107f5e6680033138d0","urls":["--https://repo1.maven.org/maven2/com/google/api/grpc/grpc-google-cloud-storage-v2/2.22.3-alpha/grpc-google-cloud-storage-v2-2.22.3-alpha.jar","--https://maven.google.com/com/google/api/grpc/grpc-google-cloud-storage-v2/2.22.3-alpha/grpc-google-cloud-storage-v2-2.22.3-alpha.jar"],"downloaded_file_path":"--com/google/api/grpc/grpc-google-cloud-storage-v2/2.22.3-alpha/grpc-google-cloud-storage-v2-2.22.3-alpha.jar"} + }, + "com_google_http_client_google_http_client_gson_1_43_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_http_client_google_http_client_gson_1_43_1","sha256":"--017406e5105a33147ab13baf7b491ff53d99e54a5e2b61b7ccd651e164229698","urls":["--https://repo1.maven.org/maven2/com/google/http-client/google-http-client-gson/1.43.1/google-http-client-gson-1.43.1.jar","--https://maven.google.com/com/google/http-client/google-http-client-gson/1.43.1/google-http-client-gson-1.43.1.jar"],"downloaded_file_path":"--com/google/http-client/google-http-client-gson/1.43.1/google-http-client-gson-1.43.1.jar"} + }, + "org_junit_platform_junit_platform_launcher": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_junit_platform_junit_platform_launcher","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_junit_platform_junit_platform_launcher"} + }, + "com_google_api_grpc_proto_google_iam_v1_1_14_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_grpc_proto_google_iam_v1_1_14_1","sha256":"--65929519b53c68a1fba00091e34e441e11ee532bbe3790873f2b9e26f81cf98a","urls":["--https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.14.1/proto-google-iam-v1-1.14.1.jar","--https://maven.google.com/com/google/api/grpc/proto-google-iam-v1/1.14.1/proto-google-iam-v1-1.14.1.jar"],"downloaded_file_path":"--com/google/api/grpc/proto-google-iam-v1/1.14.1/proto-google-iam-v1-1.14.1.jar"} + }, + "org_apache_httpcomponents_httpcore_4_4_16": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_apache_httpcomponents_httpcore_4_4_16","sha256":"--6c9b3dd142a09dc468e23ad39aad6f75a0f2b85125104469f026e52a474e464f","urls":["--https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar","--https://maven.google.com/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar"],"downloaded_file_path":"--org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar"} + }, + "com_puppycrawl_tools_checkstyle": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_puppycrawl_tools_checkstyle","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_puppycrawl_tools_checkstyle"} + }, + "org_slf4j_slf4j_simple": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_slf4j_slf4j_simple","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_slf4j_slf4j_simple"} + }, + "org_graalvm_nativeimage_native_image_base_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_nativeimage_native_image_base_23_0_1","sha256":"--1662008ac00cb35deda97e5ade5c987ffadb6c5d219126dd303bf0a33f918832","urls":["--https://maven.pkg.st/org/graalvm/nativeimage/native-image-base/23.0.1/native-image-base-23.0.1.jar","--https://maven.google.com/org/graalvm/nativeimage/native-image-base/23.0.1/native-image-base-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/nativeimage/native-image-base/23.0.1/native-image-base-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/nativeimage/native-image-base/23.0.1/native-image-base-23.0.1.jar"} + }, + "io_grpc_grpc_core": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_core","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_grpc_grpc_core"} + }, + "org_slf4j_slf4j_jdk14": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_slf4j_slf4j_jdk14","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_slf4j_slf4j_jdk14"} + }, + "com_google_guava_guava_32_0_0_jre": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_guava_guava_32_0_0_jre","sha256":"--39f3550b0343d8d19dd4e83bd165b58ea3389d2ddb9f2148e63903f79ecdb114","urls":["--https://repo1.maven.org/maven2/com/google/guava/guava/32.0.0-jre/guava-32.0.0-jre.jar","--https://maven.google.com/com/google/guava/guava/32.0.0-jre/guava-32.0.0-jre.jar"],"downloaded_file_path":"--com/google/guava/guava/32.0.0-jre/guava-32.0.0-jre.jar"} + }, + "software_amazon_awssdk_netty_nio_client_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_netty_nio_client_2_20_78","sha256":"--56999d51ff6b3efdb5b09241a126a466c96f3d93f629e94b2db5634da2b6c659","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.20.78/netty-nio-client-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/netty-nio-client/2.20.78/netty-nio-client-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/netty-nio-client/2.20.78/netty-nio-client-2.20.78.jar"} + }, + "com_squareup_okhttp_okhttp": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_squareup_okhttp_okhttp","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_squareup_okhttp_okhttp"} + }, + "io_grpc_grpc_context_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_context_1_55_1","sha256":"--541ec1d7ad3389f0b302461432a44b16fc1329153cd0e16faf2d2028b446340d","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-context/1.55.1/grpc-context-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-context/1.55.1/grpc-context-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-context/1.55.1/grpc-context-1.55.1.jar"} + }, + "org_graalvm_sdk_graal_sdk_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_sdk_graal_sdk_23_0_1","sha256":"--39c46559ad641a5bd1d2b6ff5106aa391929a7dec21ebb215502f9f40e0cd9b0","urls":["--https://maven.pkg.st/org/graalvm/sdk/graal-sdk/23.0.1/graal-sdk-23.0.1.jar","--https://maven.google.com/org/graalvm/sdk/graal-sdk/23.0.1/graal-sdk-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/sdk/graal-sdk/23.0.1/graal-sdk-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/sdk/graal-sdk/23.0.1/graal-sdk-23.0.1.jar"} + }, + "io_netty_netty_transport_native_unix_common_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_transport_native_unix_common_4_1_86_Final","sha256":"--ec26d03a06565791d57e997f793677ee4d3fc47b290b7951898c2ecd0232f115","urls":["--https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.86.Final/netty-transport-native-unix-common-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-transport-native-unix-common/4.1.86.Final/netty-transport-native-unix-common-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-transport-native-unix-common/4.1.86.Final/netty-transport-native-unix-common-4.1.86.Final.jar"} + }, + "io_netty_netty_codec_socks": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec_socks","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_codec_socks"} + }, + "com_google_auth_google_auth_library_oauth2_http_1_17_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auth_google_auth_library_oauth2_http_1_17_0","sha256":"--b8148e1af0c4197aea707d0166b4ed70a75b8eee7246be7eb0228a4834095e70","urls":["--https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/1.17.0/google-auth-library-oauth2-http-1.17.0.jar","--https://maven.google.com/com/google/auth/google-auth-library-oauth2-http/1.17.0/google-auth-library-oauth2-http-1.17.0.jar"],"downloaded_file_path":"--com/google/auth/google-auth-library-oauth2-http/1.17.0/google-auth-library-oauth2-http-1.17.0.jar"} + }, + "software_amazon_awssdk_annotations_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_annotations_2_20_78","sha256":"--90ce2bb257ffa63942831f7329e28cf22fa4caf0cc96ee4f2f4557b7554eae1e","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.20.78/annotations-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/annotations/2.20.78/annotations-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/annotations/2.20.78/annotations-2.20.78.jar"} + }, + "io_netty_netty_codec": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_codec"} + }, + "io_netty_netty_buffer": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_buffer","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_buffer"} + }, + "io_grpc_grpc_netty": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_netty","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_grpc_grpc_netty"} + }, + "io_grpc_grpc_api_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_api_1_55_1","sha256":"--9f21b1585b1c578cf905fb4c926ce895494207cb5bf456a64a24c458850f51d3","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-api/1.55.1/grpc-api-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-api/1.55.1/grpc-api-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-api/1.55.1/grpc-api-1.55.1.jar"} + }, + "com_google_protobuf_protobuf_java_util_3_23_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_protobuf_protobuf_java_util_3_23_1","sha256":"--35d78f70fcba8ecaad6b2025a4879099a27997079158500a08fafebad8918c8c","urls":["--https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.23.1/protobuf-java-util-3.23.1.jar","--https://maven.google.com/com/google/protobuf/protobuf-java-util/3.23.1/protobuf-java-util-3.23.1.jar"],"downloaded_file_path":"--com/google/protobuf/protobuf-java-util/3.23.1/protobuf-java-util-3.23.1.jar"} + }, + "io_opencensus_opencensus_api": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_opencensus_opencensus_api","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_opencensus_opencensus_api"} + }, + "software_amazon_awssdk_profiles_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_profiles_2_20_78","sha256":"--c54925f8710a63b545f272ad651b40fc4310c4d3f49df50257645604d6021f32","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.20.78/profiles-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/profiles/2.20.78/profiles-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/profiles/2.20.78/profiles-2.20.78.jar"} + }, + "com_google_apis_google_api_services_storage_v1_rev20230301_2_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_apis_google_api_services_storage_v1_rev20230301_2_0_0","sha256":"--857ac102129477c55487ed94fd7e021b6093bd88370f9ccac799456a0ff86af9","urls":["--https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20230301-2.0.0/google-api-services-storage-v1-rev20230301-2.0.0.jar","--https://maven.google.com/com/google/apis/google-api-services-storage/v1-rev20230301-2.0.0/google-api-services-storage-v1-rev20230301-2.0.0.jar"],"downloaded_file_path":"--com/google/apis/google-api-services-storage/v1-rev20230301-2.0.0/google-api-services-storage-v1-rev20230301-2.0.0.jar"} + }, + "org_codehaus_mojo_animal_sniffer_annotations": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_codehaus_mojo_animal_sniffer_annotations","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_codehaus_mojo_animal_sniffer_annotations"} + }, + "org_slf4j_slf4j_api": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_slf4j_slf4j_api","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_slf4j_slf4j_api"} + }, + "com_google_api_api_common_2_11_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_api_common_2_11_1","sha256":"--21f67354fa308826395d2ed171d25416a8001d50ea70f82b68f2bdd17bb8947f","urls":["--https://repo1.maven.org/maven2/com/google/api/api-common/2.11.1/api-common-2.11.1.jar","--https://maven.google.com/com/google/api/api-common/2.11.1/api-common-2.11.1.jar"],"downloaded_file_path":"--com/google/api/api-common/2.11.1/api-common-2.11.1.jar"} + }, + "com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava","sha256":"--b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99","urls":["--https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar","--https://maven.google.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"],"downloaded_file_path":"--com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"} + }, + "org_apache_httpcomponents_httpclient_4_5_14": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_apache_httpcomponents_httpclient_4_5_14","sha256":"--c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6","urls":["--https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar","--https://maven.google.com/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar"],"downloaded_file_path":"--org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar"} + }, + "io_netty_netty_codec_http2": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec_http2","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_codec_http2"} + }, + "io_grpc_grpc_auth_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_auth_1_55_1","sha256":"--45d9bfaf837c41abf01e087773f535ea5afa6faad1faecbc6f32cb9ae423adef","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-auth/1.55.1/grpc-auth-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-auth/1.55.1/grpc-auth-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-auth/1.55.1/grpc-auth-1.55.1.jar"} + }, + "com_google_auth_google_auth_library_credentials_1_17_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auth_google_auth_library_credentials_1_17_0","sha256":"--5de364ee7a9ce95d8715bf124bdb0d949d37649914db846cc7005584fba7ce4d","urls":["--https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/1.17.0/google-auth-library-credentials-1.17.0.jar","--https://maven.google.com/com/google/auth/google-auth-library-credentials/1.17.0/google-auth-library-credentials-1.17.0.jar"],"downloaded_file_path":"--com/google/auth/google-auth-library-credentials/1.17.0/google-auth-library-credentials-1.17.0.jar"} + }, + "com_google_oauth_client_google_oauth_client_1_34_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_oauth_client_google_oauth_client_1_34_1","sha256":"--193edf97aefa28b93c5892bdc598bac34fa4c396588030084f290b1440e8b98a","urls":["--https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar","--https://maven.google.com/com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar"],"downloaded_file_path":"--com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar"} + }, + "org_opentest4j_opentest4j": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_opentest4j_opentest4j","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_opentest4j_opentest4j"} + }, + "com_google_code_gson_gson": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_code_gson_gson","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_code_gson_gson"} + }, + "com_google_cloud_google_cloud_storage_2_22_3": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_cloud_google_cloud_storage_2_22_3","sha256":"--a9b6e2cf02c37dd3a09ca4b2a091fd07eb5487b95995691df898ec223bdad5ab","urls":["--https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/2.22.3/google-cloud-storage-2.22.3.jar","--https://maven.google.com/com/google/cloud/google-cloud-storage/2.22.3/google-cloud-storage-2.22.3.jar"],"downloaded_file_path":"--com/google/cloud/google-cloud-storage/2.22.3/google-cloud-storage-2.22.3.jar"} + }, + "io_perfmark_perfmark_api": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_perfmark_perfmark_api","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_perfmark_perfmark_api"} + }, + "com_google_re2j_re2j": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_re2j_re2j","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_re2j_re2j"} + }, + "org_junit_vintage_junit_vintage_engine": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_junit_vintage_junit_vintage_engine","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_junit_vintage_junit_vintage_engine"} + }, + "org_codehaus_plexus_plexus_utils_3_5_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_codehaus_plexus_plexus_utils_3_5_1","sha256":"--86e0255d4c879c61b4833ed7f13124e8bb679df47debb127326e7db7dd49a07b","urls":["--https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar","--https://maven.google.com/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar"],"downloaded_file_path":"--org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar"} + }, + "unpinned_maven_gvm": { + "bzlFile": "@@rules_jvm_external~5.3//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": {"name":"--rules_jvm_external~5.3~maven~unpinned_maven_gvm","repositories":["--{ \"repo_url\": \"https://maven.pkg.st\" }","--{ \"repo_url\": \"https://maven.google.com\" }","--{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"],"artifacts":["--{ \"group\": \"org.graalvm.nativeimage\", \"artifact\": \"svm\", \"version\": \"23.0.1\" }","--{ \"group\": \"org.graalvm.sdk\", \"artifact\": \"graal-sdk\", \"version\": \"23.0.1\" }"],"fail_on_missing_checksum":true,"fetch_sources":true,"fetch_javadoc":false,"excluded_artifacts":[],"generate_compat_repositories":false,"version_conflict_policy":"--default","override_targets":{},"strict_visibility":false,"strict_visibility_value":["@@//visibility:private"],"maven_install_json":"@@//:maven_install.json","resolve_timeout":600,"jetify":false,"jetify_include_list":["--*"],"use_starlark_android_rules":false,"aar_import_bzl_label":"--@build_bazel_rules_android//android:rules.bzl","duplicate_version_warning":"--warn"} + }, + "io_grpc_grpc_protobuf_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_protobuf_1_55_1","sha256":"--a170ef578cd94bf81c57f46cca9328e2db5136f45e18da80af26bbebcca9618c","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.55.1/grpc-protobuf-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-protobuf/1.55.1/grpc-protobuf-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-protobuf/1.55.1/grpc-protobuf-1.55.1.jar"} + }, + "software_amazon_awssdk_regions_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_regions_2_20_78","sha256":"--af2dd9874404ef3bda177000134b7d9e04279a24a726388175b4dff2590740d7","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.20.78/regions-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/regions/2.20.78/regions-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/regions/2.20.78/regions-2.20.78.jar"} + }, + "io_grpc_grpc_protobuf_lite_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_protobuf_lite_1_55_1","sha256":"--d0253390609c72ec09c31ae46e79b01cd72a2ce2ccae11176de550ffd475c853","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.55.1/grpc-protobuf-lite-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-protobuf-lite/1.55.1/grpc-protobuf-lite-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-protobuf-lite/1.55.1/grpc-protobuf-lite-1.55.1.jar"} + }, + "contrib_rules_jvm_deps": { + "bzlFile": "@@rules_jvm_external~5.3//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": {"name":"--rules_jvm_external~5.3~maven~contrib_rules_jvm_deps","repositories":["--{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"],"artifacts":["--{ \"group\": \"com.github.spotbugs\", \"artifact\": \"spotbugs\", \"version\": \"4.7.0\", \"exclusions\": [{ \"group\": \"org.slf4j\", \"artifact\": \"slf4j-api\" }] }","--{ \"group\": \"com.google.code.findbugs\", \"artifact\": \"jsr305\", \"version\": \"3.0.2\" }","--{ \"group\": \"com.google.errorprone\", \"artifact\": \"error_prone_annotations\", \"version\": \"2.11.0\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"30.1.1-jre\" }","--{ \"group\": \"commons-cli\", \"artifact\": \"commons-cli\", \"version\": \"1.5.0\" }","--{ \"group\": \"io.grpc\", \"artifact\": \"grpc-api\", \"version\": \"1.40.0\" }","--{ \"group\": \"io.grpc\", \"artifact\": \"grpc-core\", \"version\": \"1.40.0\" }","--{ \"group\": \"io.grpc\", \"artifact\": \"grpc-netty\", \"version\": \"1.40.0\" }","--{ \"group\": \"io.grpc\", \"artifact\": \"grpc-services\", \"version\": \"1.40.0\" }","--{ \"group\": \"io.grpc\", \"artifact\": \"grpc-stub\", \"version\": \"1.40.0\" }","--{ \"group\": \"org.slf4j\", \"artifact\": \"slf4j-simple\", \"version\": \"1.7.32\" }","--{ \"group\": \"com.google.googlejavaformat\", \"artifact\": \"google-java-format\", \"version\": \"1.15.0\" }","--{ \"group\": \"org.junit.jupiter\", \"artifact\": \"junit-jupiter-engine\", \"version\": \"5.8.1\" }","--{ \"group\": \"org.junit.jupiter\", \"artifact\": \"junit-jupiter-api\", \"version\": \"5.8.1\" }","--{ \"group\": \"org.junit.platform\", \"artifact\": \"junit-platform-launcher\", \"version\": \"1.8.1\" }","--{ \"group\": \"org.junit.platform\", \"artifact\": \"junit-platform-reporting\", \"version\": \"1.8.1\" }","--{ \"group\": \"org.junit.vintage\", \"artifact\": \"junit-vintage-engine\", \"version\": \"5.8.1\" }","--{ \"group\": \"org.opentest4j\", \"artifact\": \"opentest4j\", \"version\": \"1.2.0\" }","--{ \"group\": \"com.puppycrawl.tools\", \"artifact\": \"checkstyle\", \"version\": \"10.2\" }","--{ \"group\": \"net.sourceforge.pmd\", \"artifact\": \"pmd-dist\", \"version\": \"6.46.0\" }","--{ \"group\": \"org.slf4j\", \"artifact\": \"slf4j-api\", \"version\": \"1.7.32\" }","--{ \"group\": \"org.slf4j\", \"artifact\": \"slf4j-jdk14\", \"version\": \"1.7.32\" }","--{ \"group\": \"com.google.android\", \"artifact\": \"annotations\", \"version\": \"4.1.1.4\" }","--{ \"group\": \"com.google.api.grpc\", \"artifact\": \"proto-google-common-protos\", \"version\": \"2.9.0\" }","--{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-credentials\", \"version\": \"0.22.0\" }","--{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-oauth2-http\", \"version\": \"0.22.0\" }","--{ \"group\": \"com.google.auto.value\", \"artifact\": \"auto-value-annotations\", \"version\": \"1.9\" }","--{ \"group\": \"com.google.auto.value\", \"artifact\": \"auto-value\", \"version\": \"1.9\" }","--{ \"group\": \"com.google.code.findbugs\", \"artifact\": \"jsr305\", \"version\": \"3.0.2\" }","--{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.9.0\" }","--{ \"group\": \"com.google.errorprone\", \"artifact\": \"error_prone_annotations\", \"version\": \"2.9.0\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"failureaccess\", \"version\": \"1.0.1\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"31.0.1-android\" }","--{ \"group\": \"com.google.j2objc\", \"artifact\": \"j2objc-annotations\", \"version\": \"1.3\" }","--{ \"group\": \"com.google.re2j\", \"artifact\": \"re2j\", \"version\": \"1.6\" }","--{ \"group\": \"com.google.truth\", \"artifact\": \"truth\", \"version\": \"1.0.1\" }","--{ \"group\": \"com.squareup.okhttp\", \"artifact\": \"okhttp\", \"version\": \"2.7.5\" }","--{ \"group\": \"com.squareup.okio\", \"artifact\": \"okio\", \"version\": \"1.17.5\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-buffer\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-http2\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-http\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-socks\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-codec\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-common\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-handler-proxy\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-handler\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-resolver\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-tcnative-boringssl-static\", \"version\": \"2.0.56.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-tcnative-classes\", \"version\": \"2.0.56.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-transport-native-epoll\", \"version\": \"4.1.87.Final\", \"packaging\": \"jar\", \"classifier\": \"linux-x86_64\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-transport-native-unix-common\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.netty\", \"artifact\": \"netty-transport\", \"version\": \"4.1.87.Final\" }","--{ \"group\": \"io.opencensus\", \"artifact\": \"opencensus-api\", \"version\": \"0.24.0\" }","--{ \"group\": \"io.opencensus\", \"artifact\": \"opencensus-contrib-grpc-metrics\", \"version\": \"0.24.0\" }","--{ \"group\": \"io.perfmark\", \"artifact\": \"perfmark-api\", \"version\": \"0.25.0\" }","--{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.12\" }","--{ \"group\": \"org.apache.tomcat\", \"artifact\": \"annotations-api\", \"version\": \"6.0.53\" }","--{ \"group\": \"org.codehaus.mojo\", \"artifact\": \"animal-sniffer-annotations\", \"version\": \"1.21\" }"],"fail_on_missing_checksum":true,"fetch_sources":true,"fetch_javadoc":false,"excluded_artifacts":[],"generate_compat_repositories":false,"version_conflict_policy":"--default","override_targets":{},"strict_visibility":false,"strict_visibility_value":["@@//visibility:private"],"maven_install_json":null,"resolve_timeout":600,"jetify":false,"jetify_include_list":["--*"],"use_starlark_android_rules":false,"aar_import_bzl_label":"--@build_bazel_rules_android//android:rules.bzl","duplicate_version_warning":"--warn"} + }, + "com_google_api_grpc_gapic_google_cloud_storage_v2_2_22_3_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_grpc_gapic_google_cloud_storage_v2_2_22_3_alpha","sha256":"--2843f647000e82fe1d3b89eff32a15aab7671d917c90b739f31c9aa895bf957a","urls":["--https://repo1.maven.org/maven2/com/google/api/grpc/gapic-google-cloud-storage-v2/2.22.3-alpha/gapic-google-cloud-storage-v2-2.22.3-alpha.jar","--https://maven.google.com/com/google/api/grpc/gapic-google-cloud-storage-v2/2.22.3-alpha/gapic-google-cloud-storage-v2-2.22.3-alpha.jar"],"downloaded_file_path":"--com/google/api/grpc/gapic-google-cloud-storage-v2/2.22.3-alpha/gapic-google-cloud-storage-v2-2.22.3-alpha.jar"} + }, + "io_netty_netty_tcnative_classes": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_tcnative_classes","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_tcnative_classes"} + }, + "com_google_http_client_google_http_client_1_43_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_http_client_google_http_client_1_43_1","sha256":"--834e37b0af2cfe80b297be4d6a5c8fd0ccab1d0b13e9b8d7ac921e8dd2f251ec","urls":["--https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.43.1/google-http-client-1.43.1.jar","--https://maven.google.com/com/google/http-client/google-http-client/1.43.1/google-http-client-1.43.1.jar"],"downloaded_file_path":"--com/google/http-client/google-http-client/1.43.1/google-http-client-1.43.1.jar"} + }, + "org_threeten_threetenbp_1_6_8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_threeten_threetenbp_1_6_8","sha256":"--e4b1eb3d90c38a54c7f3384fda957e0b5bf0b41b40672a44ae8b03cb6c87ce06","urls":["--https://repo1.maven.org/maven2/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8.jar","--https://maven.google.com/org/threeten/threetenbp/1.6.8/threetenbp-1.6.8.jar"],"downloaded_file_path":"--org/threeten/threetenbp/1.6.8/threetenbp-1.6.8.jar"} + }, + "io_opencensus_opencensus_proto_0_2_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_opencensus_opencensus_proto_0_2_0","sha256":"--0c192d451e9dd74e98721b27d02f0e2b6bca44b51563b5dabf2e211f7a3ebf13","urls":["--https://repo1.maven.org/maven2/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar","--https://maven.google.com/io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar"],"downloaded_file_path":"--io/opencensus/opencensus-proto/0.2.0/opencensus-proto-0.2.0.jar"} + }, + "com_google_code_findbugs_jsr305": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_code_findbugs_jsr305","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_code_findbugs_jsr305"} + }, + "org_slf4j_slf4j_api_1_7_30": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_slf4j_slf4j_api_1_7_30","sha256":"--cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57","urls":["--https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar","--https://maven.google.com/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar"],"downloaded_file_path":"--org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar"} + }, + "maven_gvm": { + "bzlFile": "@@rules_jvm_external~5.3//:coursier.bzl", + "ruleClassName": "pinned_coursier_fetch", + "attributes": {"name":"--rules_jvm_external~5.3~maven~maven_gvm","repositories":["--{ \"repo_url\": \"https://maven.pkg.st\" }","--{ \"repo_url\": \"https://maven.google.com\" }","--{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"],"artifacts":["--{ \"group\": \"org.graalvm.nativeimage\", \"artifact\": \"svm\", \"version\": \"23.0.1\" }","--{ \"group\": \"org.graalvm.sdk\", \"artifact\": \"graal-sdk\", \"version\": \"23.0.1\" }"],"fetch_sources":true,"fetch_javadoc":false,"generate_compat_repositories":false,"maven_install_json":"@@//:maven_install.json","override_targets":{},"strict_visibility":false,"strict_visibility_value":["@@//visibility:private"],"jetify":false,"jetify_include_list":["--*"],"additional_netrc_lines":[],"fail_if_repin_required":false,"use_starlark_android_rules":false,"aar_import_bzl_label":"--@build_bazel_rules_android//android:rules.bzl","duplicate_version_warning":"--warn"} + }, + "io_grpc_grpc_grpclb_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_grpclb_1_55_1","sha256":"--9d0dcf87d99a1042a3a2343e96d394220c6be07cf1a5082d5df066e2077b3428","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-grpclb/1.55.1/grpc-grpclb-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-grpclb/1.55.1/grpc-grpclb-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-grpclb/1.55.1/grpc-grpclb-1.55.1.jar"} + }, + "io_netty_netty_transport": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_transport","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_transport"} + }, + "commons_logging_commons_logging_1_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~commons_logging_commons_logging_1_2","sha256":"--daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636","urls":["--https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar","--https://maven.google.com/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"],"downloaded_file_path":"--commons-logging/commons-logging/1.2/commons-logging-1.2.jar"} + }, + "io_netty_netty_handler_proxy": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_handler_proxy","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_handler_proxy"} + }, + "com_google_http_client_google_http_client_apache_v2_1_43_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_http_client_google_http_client_apache_v2_1_43_1","sha256":"--18b25a8bed630a7b90204b7020f72219fdda643935fca6405e6e3937ae92b361","urls":["--https://repo1.maven.org/maven2/com/google/http-client/google-http-client-apache-v2/1.43.1/google-http-client-apache-v2-1.43.1.jar","--https://maven.google.com/com/google/http-client/google-http-client-apache-v2/1.43.1/google-http-client-apache-v2-1.43.1.jar"],"downloaded_file_path":"--com/google/http-client/google-http-client-apache-v2/1.43.1/google-http-client-apache-v2-1.43.1.jar"} + }, + "com_google_re2j_re2j_1_6": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_re2j_re2j_1_6","sha256":"--c8b5c3472d4db594a865b2e47f835d07fb8b1415eeba559dccfb0a6945f033cd","urls":["--https://repo1.maven.org/maven2/com/google/re2j/re2j/1.6/re2j-1.6.jar","--https://maven.google.com/com/google/re2j/re2j/1.6/re2j-1.6.jar"],"downloaded_file_path":"--com/google/re2j/re2j/1.6/re2j-1.6.jar"} + }, + "io_netty_netty_transport_classes_epoll_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_transport_classes_epoll_4_1_86_Final","sha256":"--3cc7eb87d85d6b4bf3d596a172a92df09f8d746c2b283c85543c95795b51edda","urls":["--https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.86.Final/netty-transport-classes-epoll-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-transport-classes-epoll/4.1.86.Final/netty-transport-classes-epoll-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-transport-classes-epoll/4.1.86.Final/netty-transport-classes-epoll-4.1.86.Final.jar"} + }, + "software_amazon_awssdk_apache_client_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_apache_client_2_20_78","sha256":"--771923580e38678b7f66c3a63f4b5f79eef9ffb81027e2a422aed2713ce4138b","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.20.78/apache-client-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/apache-client/2.20.78/apache-client-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/apache-client/2.20.78/apache-client-2.20.78.jar"} + }, + "com_google_errorprone_error_prone_annotations_2_18_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_errorprone_error_prone_annotations_2_18_0","sha256":"--9e6814cb71816988a4fd1b07a993a8f21bb7058d522c162b1de849e19bea54ae","urls":["--https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar","--https://maven.google.com/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar"],"downloaded_file_path":"--com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar"} + }, + "com_google_api_gax_2_28_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_gax_2_28_1","sha256":"--dddd191a2621bc5a747800c417005618f9c1f03d3d5056cb0208905400f17fac","urls":["--https://repo1.maven.org/maven2/com/google/api/gax/2.28.1/gax-2.28.1.jar","--https://maven.google.com/com/google/api/gax/2.28.1/gax-2.28.1.jar"],"downloaded_file_path":"--com/google/api/gax/2.28.1/gax-2.28.1.jar"} + }, + "software_amazon_awssdk_metrics_spi_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_metrics_spi_2_20_78","sha256":"--41680096cb566090be0504eaf207dab91d680c16d57f68239260860871d7ab8f","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.20.78/metrics-spi-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/metrics-spi/2.20.78/metrics-spi-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/metrics-spi/2.20.78/metrics-spi-2.20.78.jar"} + }, + "org_conscrypt_conscrypt_openjdk_uber_2_5_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_conscrypt_conscrypt_openjdk_uber_2_5_2","sha256":"--eaf537d98e033d0f0451cd1b8cc74e02d7b55ec882da63c88060d806ba89c348","urls":["--https://repo1.maven.org/maven2/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2.jar","--https://maven.google.com/org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2.jar"],"downloaded_file_path":"--org/conscrypt/conscrypt-openjdk-uber/2.5.2/conscrypt-openjdk-uber-2.5.2.jar"} + }, + "com_google_cloud_google_cloud_core_2_18_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_cloud_google_cloud_core_2_18_1","sha256":"--8a8da77a17193fae86012722237736db7d08cb6fac8df50a311427c95b26d4a6","urls":["--https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/2.18.1/google-cloud-core-2.18.1.jar","--https://maven.google.com/com/google/cloud/google-cloud-core/2.18.1/google-cloud-core-2.18.1.jar"],"downloaded_file_path":"--com/google/cloud/google-cloud-core/2.18.1/google-cloud-core-2.18.1.jar"} + }, + "javax_annotation_javax_annotation_api_1_3_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~javax_annotation_javax_annotation_api_1_3_2","sha256":"--e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b","urls":["--https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar","--https://maven.google.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"],"downloaded_file_path":"--javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"} + }, + "com_google_auto_value_auto_value_annotations_1_10_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auto_value_auto_value_annotations_1_10_1","sha256":"--a4fe0a211925e938a8510d741763ee1171a11bf931f5891ef4d4ee84fca72be2","urls":["--https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1.jar","--https://maven.google.com/com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1.jar"],"downloaded_file_path":"--com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1.jar"} + }, + "com_google_errorprone_error_prone_annotations": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_errorprone_error_prone_annotations","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_errorprone_error_prone_annotations"} + }, + "com_google_auth_google_auth_library_credentials": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_auth_google_auth_library_credentials","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_auth_google_auth_library_credentials"} + }, + "io_opencensus_opencensus_contrib_grpc_metrics": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_opencensus_opencensus_contrib_grpc_metrics","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_opencensus_opencensus_contrib_grpc_metrics"} + }, + "com_google_protobuf_protobuf_java_3_23_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_protobuf_protobuf_java_3_23_1","sha256":"--d9fd335a65165c760f53ae718878448627ce742ab6e9102dffe9bc2ea7b136ca","urls":["--https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.23.1/protobuf-java-3.23.1.jar","--https://maven.google.com/com/google/protobuf/protobuf-java/3.23.1/protobuf-java-3.23.1.jar"],"downloaded_file_path":"--com/google/protobuf/protobuf-java/3.23.1/protobuf-java-3.23.1.jar"} + }, + "com_google_api_client_google_api_client_2_2_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_client_google_api_client_2_2_0","sha256":"--58eca9fb0a869391689ffc828b3bd0b19ac76042ff9fab4881eddf7fde76903f","urls":["--https://repo1.maven.org/maven2/com/google/api-client/google-api-client/2.2.0/google-api-client-2.2.0.jar","--https://maven.google.com/com/google/api-client/google-api-client/2.2.0/google-api-client-2.2.0.jar"],"downloaded_file_path":"--com/google/api-client/google-api-client/2.2.0/google-api-client-2.2.0.jar"} + }, + "io_netty_netty_common_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_common_4_1_86_Final","sha256":"--a35a3f16e7cd45c5d8529aa3e7702d4ef3b36213ea332db59744ea348fc2ae99","urls":["--https://repo1.maven.org/maven2/io/netty/netty-common/4.1.86.Final/netty-common-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-common/4.1.86.Final/netty-common-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-common/4.1.86.Final/netty-common-4.1.86.Final.jar"} + }, + "rules_jvm_external_deps": { + "bzlFile": "@@rules_jvm_external~5.3//:coursier.bzl", + "ruleClassName": "pinned_coursier_fetch", + "attributes": {"name":"--rules_jvm_external~5.3~maven~rules_jvm_external_deps","repositories":["--{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"],"artifacts":["--{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-credentials\", \"version\": \"1.17.0\" }","--{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-oauth2-http\", \"version\": \"1.17.0\" }","--{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-core\", \"version\": \"2.18.1\" }","--{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-storage\", \"version\": \"2.22.3\" }","--{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.10.1\" }","--{ \"group\": \"com.google.googlejavaformat\", \"artifact\": \"google-java-format\", \"version\": \"1.17.0\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"32.0.0-jre\" }","--{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-artifact\", \"version\": \"3.9.2\" }","--{ \"group\": \"software.amazon.awssdk\", \"artifact\": \"s3\", \"version\": \"2.20.78\" }"],"fetch_sources":true,"fetch_javadoc":false,"generate_compat_repositories":false,"maven_install_json":"@@rules_jvm_external~5.3//:rules_jvm_external_deps_install.json","override_targets":{},"strict_visibility":false,"strict_visibility_value":["@@//visibility:private"],"jetify":false,"jetify_include_list":["--*"],"additional_netrc_lines":[],"fail_if_repin_required":false,"use_starlark_android_rules":false,"aar_import_bzl_label":"--@build_bazel_rules_android//android:rules.bzl","duplicate_version_warning":"--warn"} + }, + "io_netty_netty_transport_native_epoll": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_transport_native_epoll","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_transport_native_epoll"} + }, + "software_amazon_awssdk_aws_xml_protocol_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_aws_xml_protocol_2_20_78","sha256":"--c7977c61aeb3f74e471bedde0ab6ca44447af4cbff309c63f5e7d2a26dbcba7a","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.20.78/aws-xml-protocol-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/aws-xml-protocol/2.20.78/aws-xml-protocol-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/aws-xml-protocol/2.20.78/aws-xml-protocol-2.20.78.jar"} + }, + "com_google_http_client_google_http_client_appengine_1_43_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_http_client_google_http_client_appengine_1_43_1","sha256":"--93762484a9324f824455b24da0cb698a7e3467e2e4962ee541a14ff1922c3a88","urls":["--https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.43.1/google-http-client-appengine-1.43.1.jar","--https://maven.google.com/com/google/http-client/google-http-client-appengine/1.43.1/google-http-client-appengine-1.43.1.jar"],"downloaded_file_path":"--com/google/http-client/google-http-client-appengine/1.43.1/google-http-client-appengine-1.43.1.jar"} + }, + "org_graalvm_nativeimage_objectfile_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_nativeimage_objectfile_23_0_1","sha256":"--d454922b6c3a0161f67ac1167eeeda153f3294af32f00923d534d2fc984e703b","urls":["--https://maven.pkg.st/org/graalvm/nativeimage/objectfile/23.0.1/objectfile-23.0.1.jar","--https://maven.google.com/org/graalvm/nativeimage/objectfile/23.0.1/objectfile-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/nativeimage/objectfile/23.0.1/objectfile-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/nativeimage/objectfile/23.0.1/objectfile-23.0.1.jar"} + }, + "maven": { + "bzlFile": "@@rules_jvm_external~5.3//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": {"name":"--rules_jvm_external~5.3~maven~maven","repositories":["--{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"],"artifacts":["--{ \"group\": \"com.google.code.findbugs\", \"artifact\": \"jsr305\", \"version\": \"3.0.2\" }","--{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.8.9\" }","--{ \"group\": \"com.google.errorprone\", \"artifact\": \"error_prone_annotations\", \"version\": \"2.3.2\" }","--{ \"group\": \"com.google.j2objc\", \"artifact\": \"j2objc-annotations\", \"version\": \"1.3\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"31.1-jre\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"guava-testlib\", \"version\": \"31.1-jre\" }","--{ \"group\": \"com.google.truth\", \"artifact\": \"truth\", \"version\": \"1.1.2\" }","--{ \"group\": \"junit\", \"artifact\": \"junit\", \"version\": \"4.13.2\" }","--{ \"group\": \"org.mockito\", \"artifact\": \"mockito-core\", \"version\": \"4.3.1\" }"],"fail_on_missing_checksum":true,"fetch_sources":true,"fetch_javadoc":false,"excluded_artifacts":[],"generate_compat_repositories":false,"version_conflict_policy":"--default","override_targets":{},"strict_visibility":false,"strict_visibility_value":["@@//visibility:private"],"maven_install_json":null,"resolve_timeout":600,"jetify":false,"jetify_include_list":["--*"],"use_starlark_android_rules":false,"aar_import_bzl_label":"--@build_bazel_rules_android//android:rules.bzl","duplicate_version_warning":"--warn"} + }, + "software_amazon_awssdk_arns_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_arns_2_20_78","sha256":"--83c9c5743f83375e1d4b5bedce3593107b4989beec96f809554f545feeae4f34","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.20.78/arns-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/arns/2.20.78/arns-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/arns/2.20.78/arns-2.20.78.jar"} + }, + "io_grpc_grpc_services_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_services_1_55_1","sha256":"--324d773ca903ce13b67686c98f28f56a201ee75cbb859de071d05683d06d337b","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-services/1.55.1/grpc-services-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-services/1.55.1/grpc-services-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-services/1.55.1/grpc-services-1.55.1.jar"} + }, + "io_grpc_grpc_xds_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_xds_1_55_1","sha256":"--08e618b3e166981f86d8bd1623f161d6432923183c55338db77df49a2fb23893","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-xds/1.55.1/grpc-xds-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-xds/1.55.1/grpc-xds-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-xds/1.55.1/grpc-xds-1.55.1.jar"} + }, + "io_netty_netty_codec_http_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec_http_4_1_86_Final","sha256":"--3f6ceb3112cfcf7b70545eb5111220ce57db54d593f23f64c38333bb22c40b84","urls":["--https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.86.Final/netty-codec-http-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-codec-http/4.1.86.Final/netty-codec-http-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-codec-http/4.1.86.Final/netty-codec-http-4.1.86.Final.jar"} + }, + "com_google_cloud_google_cloud_core_grpc_2_18_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_cloud_google_cloud_core_grpc_2_18_1","sha256":"--3021f5ac856552155edfb459a1f4c0b0bf3c5363e6fa4923a82af3e531ff33ad","urls":["--https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-grpc/2.18.1/google-cloud-core-grpc-2.18.1.jar","--https://maven.google.com/com/google/cloud/google-cloud-core-grpc/2.18.1/google-cloud-core-grpc-2.18.1.jar"],"downloaded_file_path":"--com/google/cloud/google-cloud-core-grpc/2.18.1/google-cloud-core-grpc-2.18.1.jar"} + }, + "com_google_http_client_google_http_client_jackson2_1_43_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_http_client_google_http_client_jackson2_1_43_1","sha256":"--1d41fa103da432dc49b41a321effc3e2fda722a3dc896a89dcdc3a4d5fe82255","urls":["--https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.43.1/google-http-client-jackson2-1.43.1.jar","--https://maven.google.com/com/google/http-client/google-http-client-jackson2/1.43.1/google-http-client-jackson2-1.43.1.jar"],"downloaded_file_path":"--com/google/http-client/google-http-client-jackson2/1.43.1/google-http-client-jackson2-1.43.1.jar"} + }, + "io_netty_netty_transport_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_transport_4_1_86_Final","sha256":"--f6726dcd54e4922b46b3b4f4467b443a70a30eb08a62620c8fe502d8cb802c9f","urls":["--https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.86.Final/netty-transport-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-transport/4.1.86.Final/netty-transport-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-transport/4.1.86.Final/netty-transport-4.1.86.Final.jar"} + }, + "org_junit_platform_junit_platform_reporting": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_junit_platform_junit_platform_reporting","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_junit_platform_junit_platform_reporting"} + }, + "software_amazon_awssdk_aws_core_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_aws_core_2_20_78","sha256":"--83d02aa3fc781288b73b5392ef870282788cdd552fdf6ad31b9038e20a452395","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.20.78/aws-core-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/aws-core/2.20.78/aws-core-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/aws-core/2.20.78/aws-core-2.20.78.jar"} + }, + "org_checkerframework_checker_qual_3_33_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_checkerframework_checker_qual_3_33_0","sha256":"--e316255bbfcd9fe50d165314b85abb2b33cb2a66a93c491db648e498a82c2de1","urls":["--https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar","--https://maven.google.com/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar"],"downloaded_file_path":"--org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar"} + }, + "software_amazon_awssdk_third_party_jackson_core_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_third_party_jackson_core_2_20_78","sha256":"--3bc11fd8888ab3b8026dec0894e51dd76a7460f4baac4c1adead7a03a87f8a44","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.20.78/third-party-jackson-core-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/third-party-jackson-core/2.20.78/third-party-jackson-core-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/third-party-jackson-core/2.20.78/third-party-jackson-core-2.20.78.jar"} + }, + "com_google_j2objc_j2objc_annotations": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_j2objc_j2objc_annotations","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_j2objc_j2objc_annotations"} + }, + "org_graalvm_truffle_truffle_api_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_truffle_truffle_api_23_0_1","sha256":"--9adb4df44be7cc4c1cc507cc59521fd69e0a963b02a4998ccb04e50300a0d6b4","urls":["--https://maven.pkg.st/org/graalvm/truffle/truffle-api/23.0.1/truffle-api-23.0.1.jar","--https://maven.google.com/org/graalvm/truffle/truffle-api/23.0.1/truffle-api-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/23.0.1/truffle-api-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/truffle/truffle-api/23.0.1/truffle-api-23.0.1.jar"} + }, + "software_amazon_awssdk_http_client_spi_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_http_client_spi_2_20_78","sha256":"--a52f5fa04a3c7e5c15ae632e64c64c44d2d019a3ee609ddca38312039c7a5b24","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.20.78/http-client-spi-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/http-client-spi/2.20.78/http-client-spi-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/http-client-spi/2.20.78/http-client-spi-2.20.78.jar"} + }, + "unpinned_rules_jvm_external_deps": { + "bzlFile": "@@rules_jvm_external~5.3//:coursier.bzl", + "ruleClassName": "coursier_fetch", + "attributes": {"name":"--rules_jvm_external~5.3~maven~unpinned_rules_jvm_external_deps","repositories":["--{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"],"artifacts":["--{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-credentials\", \"version\": \"1.17.0\" }","--{ \"group\": \"com.google.auth\", \"artifact\": \"google-auth-library-oauth2-http\", \"version\": \"1.17.0\" }","--{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-core\", \"version\": \"2.18.1\" }","--{ \"group\": \"com.google.cloud\", \"artifact\": \"google-cloud-storage\", \"version\": \"2.22.3\" }","--{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.10.1\" }","--{ \"group\": \"com.google.googlejavaformat\", \"artifact\": \"google-java-format\", \"version\": \"1.17.0\" }","--{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"32.0.0-jre\" }","--{ \"group\": \"org.apache.maven\", \"artifact\": \"maven-artifact\", \"version\": \"3.9.2\" }","--{ \"group\": \"software.amazon.awssdk\", \"artifact\": \"s3\", \"version\": \"2.20.78\" }"],"fail_on_missing_checksum":true,"fetch_sources":true,"fetch_javadoc":false,"excluded_artifacts":[],"generate_compat_repositories":false,"version_conflict_policy":"--default","override_targets":{},"strict_visibility":false,"strict_visibility_value":["@@//visibility:private"],"maven_install_json":"@@rules_jvm_external~5.3//:rules_jvm_external_deps_install.json","resolve_timeout":600,"jetify":false,"jetify_include_list":["--*"],"use_starlark_android_rules":false,"aar_import_bzl_label":"--@build_bazel_rules_android//android:rules.bzl","duplicate_version_warning":"--warn"} + }, + "io_netty_netty_tcnative_boringssl_static": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_tcnative_boringssl_static","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_tcnative_boringssl_static"} + }, + "io_grpc_grpc_stub": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_stub","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_grpc_grpc_stub"} + }, + "software_amazon_awssdk_endpoints_spi_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_endpoints_spi_2_20_78","sha256":"--9e20aaeb3dda2305bc04fea71d284a5ab53c562a896cc9206bcff52281585bb2","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/endpoints-spi/2.20.78/endpoints-spi-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/endpoints-spi/2.20.78/endpoints-spi-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/endpoints-spi/2.20.78/endpoints-spi-2.20.78.jar"} + }, + "software_amazon_awssdk_json_utils_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_json_utils_2_20_78","sha256":"--a8f0752527d123de28ddea281ad5829bbe10bbb657fe96da32b454f976042f50","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.20.78/json-utils-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/json-utils/2.20.78/json-utils-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/json-utils/2.20.78/json-utils-2.20.78.jar"} + }, + "commons_cli_commons_cli": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~commons_cli_commons_cli","generating_repository":"--contrib_rules_jvm_deps","target_name":"--commons_cli_commons_cli"} + }, + "io_opencensus_opencensus_contrib_http_util_0_31_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_opencensus_opencensus_contrib_http_util_0_31_1","sha256":"--3ea995b55a4068be22989b70cc29a4d788c2d328d1d50613a7a9afd13fdd2d0a","urls":["--https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar","--https://maven.google.com/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar"],"downloaded_file_path":"--io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar"} + }, + "io_netty_netty_buffer_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_buffer_4_1_86_Final","sha256":"--e42e15f47c865266b1faa6e038ebfd7ddadcf9f4ae9e6617edd4881dbd4abe88","urls":["--https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.86.Final/netty-buffer-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-buffer/4.1.86.Final/netty-buffer-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-buffer/4.1.86.Final/netty-buffer-4.1.86.Final.jar"} + }, + "io_netty_netty_codec_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec_4_1_86_Final","sha256":"--0456840b5c851dad6cab881cd1a9ad5d916db65d81048145df1d9a6d03325bea","urls":["--https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.86.Final/netty-codec-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-codec/4.1.86.Final/netty-codec-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-codec/4.1.86.Final/netty-codec-4.1.86.Final.jar"} + }, + "software_amazon_awssdk_aws_query_protocol_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_aws_query_protocol_2_20_78","sha256":"--74c9b42046e3829836d2351a3a0bb06ae54f7e4f0c3d319c9b68166f245db549","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.20.78/aws-query-protocol-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/aws-query-protocol/2.20.78/aws-query-protocol-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/aws-query-protocol/2.20.78/aws-query-protocol-2.20.78.jar"} + }, + "software_amazon_awssdk_sdk_core_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_sdk_core_2_20_78","sha256":"--1d060bab19739fa3a2071b4693b6fc31608a8c968e9554a0a2d2481343132498","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.20.78/sdk-core-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/sdk-core/2.20.78/sdk-core-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/sdk-core/2.20.78/sdk-core-2.20.78.jar"} + }, + "junit_junit": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~junit_junit","generating_repository":"--contrib_rules_jvm_deps","target_name":"--junit_junit"} + }, + "com_google_j2objc_j2objc_annotations_2_8": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_j2objc_j2objc_annotations_2_8","sha256":"--f02a95fa1a5e95edb3ed859fd0fb7df709d121a35290eff8b74dce2ab7f4d6ed","urls":["--https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar","--https://maven.google.com/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar"],"downloaded_file_path":"--com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar"} + }, + "org_apache_tomcat_annotations_api": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_apache_tomcat_annotations_api","generating_repository":"--contrib_rules_jvm_deps","target_name":"--org_apache_tomcat_annotations_api"} + }, + "io_netty_netty_codec_http": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_codec_http","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_netty_netty_codec_http"} + }, + "io_netty_netty_resolver_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_resolver_4_1_86_Final","sha256":"--7628a1309d7f2443dc41d8923a7f269e2981b9616f80a999eb7264ae6bcbfdba","urls":["--https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.86.Final/netty-resolver-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-resolver/4.1.86.Final/netty-resolver-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-resolver/4.1.86.Final/netty-resolver-4.1.86.Final.jar"} + }, + "io_grpc_grpc_services": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_services","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_grpc_grpc_services"} + }, + "software_amazon_awssdk_utils_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_utils_2_20_78","sha256":"--bf346be5ab0af9267a1c8101378f37e76fc977e9d8f5b8e5cfc98221e4179374","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.20.78/utils-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/utils/2.20.78/utils-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/utils/2.20.78/utils-2.20.78.jar"} + }, + "org_graalvm_nativeimage_pointsto_23_0_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~org_graalvm_nativeimage_pointsto_23_0_1","sha256":"--4ef0cd65b65e9820937f402c36d31434c201c904c600cc0d8c98963974599caf","urls":["--https://maven.pkg.st/org/graalvm/nativeimage/pointsto/23.0.1/pointsto-23.0.1.jar","--https://maven.google.com/org/graalvm/nativeimage/pointsto/23.0.1/pointsto-23.0.1.jar","--https://repo1.maven.org/maven2/org/graalvm/nativeimage/pointsto/23.0.1/pointsto-23.0.1.jar"],"downloaded_file_path":"--org/graalvm/nativeimage/pointsto/23.0.1/pointsto-23.0.1.jar"} + }, + "com_google_api_grpc_proto_google_common_protos_2_19_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_grpc_proto_google_common_protos_2_19_1","sha256":"--5557ee1b7f44a80fa595cdcedcc52ed3be143ce25408181c3ad136006cdd749f","urls":["--https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.19.1/proto-google-common-protos-2.19.1.jar","--https://maven.google.com/com/google/api/grpc/proto-google-common-protos/2.19.1/proto-google-common-protos-2.19.1.jar"],"downloaded_file_path":"--com/google/api/grpc/proto-google-common-protos/2.19.1/proto-google-common-protos-2.19.1.jar"} + }, + "com_google_api_gax_grpc_2_28_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_gax_grpc_2_28_1","sha256":"--e9e40d1d7354e8f857b05be2208c11722c1b97dc7aaa4b4b125fcf0457b45a03","urls":["--https://repo1.maven.org/maven2/com/google/api/gax-grpc/2.28.1/gax-grpc-2.28.1.jar","--https://maven.google.com/com/google/api/gax-grpc/2.28.1/gax-grpc-2.28.1.jar"],"downloaded_file_path":"--com/google/api/gax-grpc/2.28.1/gax-grpc-2.28.1.jar"} + }, + "software_amazon_awssdk_s3_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_s3_2_20_78","sha256":"--0a21d9d740f20e8d65985b8e31154a6603f4f15a7c5acea5a70957745519327b","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.20.78/s3-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/s3/2.20.78/s3-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/s3/2.20.78/s3-2.20.78.jar"} + }, + "com_fasterxml_jackson_core_jackson_core_2_14_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_fasterxml_jackson_core_jackson_core_2_14_2","sha256":"--b5d37a77c88277b97e3593c8740925216c06df8e4172bbde058528df04ad3e7a","urls":["--https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.14.2/jackson-core-2.14.2.jar","--https://maven.google.com/com/fasterxml/jackson/core/jackson-core/2.14.2/jackson-core-2.14.2.jar"],"downloaded_file_path":"--com/fasterxml/jackson/core/jackson-core/2.14.2/jackson-core-2.14.2.jar"} + }, + "com_google_code_findbugs_jsr305_3_0_2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_code_findbugs_jsr305_3_0_2","sha256":"--766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7","urls":["--https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar","--https://maven.google.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"],"downloaded_file_path":"--com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"} + }, + "com_google_android_annotations_4_1_1_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_android_annotations_4_1_1_4","sha256":"--ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15","urls":["--https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar","--https://maven.google.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"],"downloaded_file_path":"--com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"} + }, + "commons_codec_commons_codec_1_15": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~commons_codec_commons_codec_1_15","sha256":"--b3e9f6d63a790109bf0d056611fbed1cf69055826defeb9894a71369d246ed63","urls":["--https://repo1.maven.org/maven2/commons-codec/commons-codec/1.15/commons-codec-1.15.jar","--https://maven.google.com/commons-codec/commons-codec/1.15/commons-codec-1.15.jar"],"downloaded_file_path":"--commons-codec/commons-codec/1.15/commons-codec-1.15.jar"} + }, + "io_grpc_grpc_api": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_api","generating_repository":"--contrib_rules_jvm_deps","target_name":"--io_grpc_grpc_api"} + }, + "software_amazon_awssdk_crt_core_2_20_78": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~software_amazon_awssdk_crt_core_2_20_78","sha256":"--f83ba65ea519cfcc2306994527d6432a969ac8efb418abfcf38128d08467f7cf","urls":["--https://repo1.maven.org/maven2/software/amazon/awssdk/crt-core/2.20.78/crt-core-2.20.78.jar","--https://maven.google.com/software/amazon/awssdk/crt-core/2.20.78/crt-core-2.20.78.jar"],"downloaded_file_path":"--software/amazon/awssdk/crt-core/2.20.78/crt-core-2.20.78.jar"} + }, + "io_grpc_grpc_googleapis_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_googleapis_1_55_1","sha256":"--d77f33f3c78b99c0c604def7efe27f912b9cee49219698180101a064d67bd268","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-googleapis/1.55.1/grpc-googleapis-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-googleapis/1.55.1/grpc-googleapis-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-googleapis/1.55.1/grpc-googleapis-1.55.1.jar"} + }, + "com_google_cloud_google_cloud_core_http_2_18_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_cloud_google_cloud_core_http_2_18_1","sha256":"--52466ba755e309ae43977209897aac76f40103115cf37ca755a428dae5a190ae","urls":["--https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/2.18.1/google-cloud-core-http-2.18.1.jar","--https://maven.google.com/com/google/cloud/google-cloud-core-http/2.18.1/google-cloud-core-http-2.18.1.jar"],"downloaded_file_path":"--com/google/cloud/google-cloud-core-http/2.18.1/google-cloud-core-http-2.18.1.jar"} + }, + "com_google_api_grpc_proto_google_common_protos": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_grpc_proto_google_common_protos","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_api_grpc_proto_google_common_protos"} + }, + "com_google_guava_failureaccess": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_guava_failureaccess","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_guava_failureaccess"} + }, + "com_github_spotbugs_spotbugs": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_github_spotbugs_spotbugs","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_github_spotbugs_spotbugs"} + }, + "com_google_guava_guava": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_guava_guava","generating_repository":"--contrib_rules_jvm_deps","target_name":"--com_google_guava_guava"} + }, + "net_sourceforge_pmd_pmd_dist": { + "bzlFile": "@@rules_jvm_external~5.3//private:compat_repository.bzl", + "ruleClassName": "compat_repository", + "attributes": {"name":"--rules_jvm_external~5.3~maven~net_sourceforge_pmd_pmd_dist","generating_repository":"--contrib_rules_jvm_deps","target_name":"--net_sourceforge_pmd_pmd_dist"} + }, + "io_netty_netty_handler_4_1_86_Final": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_netty_netty_handler_4_1_86_Final","sha256":"--e69b42292929b278dc522e25177ddf7c54025484b55879f8227349adfbe1c04d","urls":["--https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.86.Final/netty-handler-4.1.86.Final.jar","--https://maven.google.com/io/netty/netty-handler/4.1.86.Final/netty-handler-4.1.86.Final.jar"],"downloaded_file_path":"--io/netty/netty-handler/4.1.86.Final/netty-handler-4.1.86.Final.jar"} + }, + "com_google_api_grpc_proto_google_cloud_storage_v2_2_22_3_alpha": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_api_grpc_proto_google_cloud_storage_v2_2_22_3_alpha","sha256":"--346cc208553f4b286868bd05ccf4558e3798609559ec2b8fc8b2ea5e15819d8b","urls":["--https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-storage-v2/2.22.3-alpha/proto-google-cloud-storage-v2-2.22.3-alpha.jar","--https://maven.google.com/com/google/api/grpc/proto-google-cloud-storage-v2/2.22.3-alpha/proto-google-cloud-storage-v2-2.22.3-alpha.jar"],"downloaded_file_path":"--com/google/api/grpc/proto-google-cloud-storage-v2/2.22.3-alpha/proto-google-cloud-storage-v2-2.22.3-alpha.jar"} + }, + "io_grpc_grpc_rls_1_55_1": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~io_grpc_grpc_rls_1_55_1","sha256":"--f828087440c2f6b274e196b21a6fb38db60648724c1be450f4d0ed991d819a6f","urls":["--https://repo1.maven.org/maven2/io/grpc/grpc-rls/1.55.1/grpc-rls-1.55.1.jar","--https://maven.google.com/io/grpc/grpc-rls/1.55.1/grpc-rls-1.55.1.jar"],"downloaded_file_path":"--io/grpc/grpc-rls/1.55.1/grpc-rls-1.55.1.jar"} + }, + "com_google_googlejavaformat_google_java_format_1_17_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--rules_jvm_external~5.3~maven~com_google_googlejavaformat_google_java_format_1_17_0","sha256":"--631ba54c39f6c20df027dc1420736df2e5e43c581880efdd1e46ddb4ce050e3e","urls":["--https://repo1.maven.org/maven2/com/google/googlejavaformat/google-java-format/1.17.0/google-java-format-1.17.0.jar","--https://maven.google.com/com/google/googlejavaformat/google-java-format/1.17.0/google-java-format-1.17.0.jar"],"downloaded_file_path":"--com/google/googlejavaformat/google-java-format/1.17.0/google-java-format-1.17.0.jar"} + } + } + }, + "@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": { + "bzlTransitiveDigest": "gvBPgSA/rGjyFvEaC/Kn9dEyWx1eBBQW6HOar5AcZ3M=", + "envVariables": {}, + "generatedRepoSpecs": { + "remote_coverage_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--bazel_tools~remote_coverage_tools_extension~remote_coverage_tools","sha256":"--7006375f6756819b7013ca875eab70a541cf7d89142d9c511ed78ea4fefa38af","urls":["--https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.6.zip"]} + } + } + }, + "@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { + "bzlTransitiveDigest": "ize4zcIVCVbkFLlSvG/bR8aviLLIeZTAI1GxjWcU45M=", + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_sh": { + "bzlFile": "@@bazel_tools//tools/sh:sh_configure.bzl", + "ruleClassName": "sh_config", + "attributes": {"name":"--bazel_tools~sh_configure_extension~local_config_sh"} + } + } + }, + "@rules_java~6.5.0//java:extensions.bzl%toolchains": { + "bzlTransitiveDigest": "RLUS8nw949TZeBNyyRPAysESU9FuKaTUbWJuNbk1aL4=", + "envVariables": {}, + "generatedRepoSpecs": { + "remotejdk20_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_linux","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 20,\n)\n","sha256":"--0386418db7f23ae677d05045d30224094fc13423593ce9cd087d455069893bac","strip_prefix":"--zulu20.28.85-ca-jdk20.0.0-linux_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-linux_x64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-linux_x64.tar.gz"]} + }, + "remotejdk17_linux_s390x_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n"} + }, + "remotejdk17_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_macos_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos//:jdk\",\n)\n"} + }, + "remotejdk17_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n"} + }, + "remotejdk17_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux//:jdk\",\n)\n"} + }, + "remotejdk17_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_macos_aarch64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--515dd56ec99bb5ae8966621a2088aadfbe72631818ffbba6e4387b7ee292ab09","strip_prefix":"--zulu17.38.21-ca-jdk17.0.5-macosx_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_aarch64.tar.gz"]} + }, + "remote_java_tools_windows": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remote_java_tools_windows","sha256":"--63f727d44011b8c504bb4e6d89c2cd982278efb34dae8629687e9483d8f7d62d","urls":["--https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_windows-v12.6.zip","--https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_windows-v12.6.zip"]} + }, + "remotejdk11_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_win","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83","strip_prefix":"--zulu11.66.15-ca-jdk11.0.20-win_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip","--https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-win_x64.zip"]} + }, + "remotejdk11_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_win_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win//:jdk\",\n)\n"} + }, + "remotejdk20_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_win","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 20,\n)\n","sha256":"--ac5f6a7d84dbbb0bb4d376feb331cc4c49a9920562f2a5e85b7a6b4863b10e1e","strip_prefix":"--zulu20.28.85-ca-jdk20.0.0-win_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-win_x64.zip","--https://cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-win_x64.zip"]} + }, + "remotejdk11_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_aarch64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de","strip_prefix":"--zulu11.66.15-ca-jdk11.0.20-linux_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_aarch64.tar.gz"]} + }, + "remotejdk17_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--20c91a922eec795f3181eaa70def8b99d8eac56047c9a14bfb257c85b991df1b","strip_prefix":"--zulu17.38.21-ca-jdk17.0.5-linux_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_x64.tar.gz"]} + }, + "remotejdk11_linux_s390x_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n"} + }, + "remotejdk20_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_linux_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_20\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"20\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk20_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk20_linux//:jdk\",\n)\n"} + }, + "remotejdk11_linux_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux//:jdk\",\n)\n"} + }, + "remotejdk11_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_macos","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd","strip_prefix":"--zulu11.66.15-ca-jdk11.0.20-macosx_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_x64.tar.gz"]} + }, + "remotejdk11_win_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_win_arm64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2","strip_prefix":"--jdk-11.0.13+8","urls":["--https://mirror.bazel.build/aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-aarch64.zip"]} + }, + "remotejdk17_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_macos","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--e6317cee4d40995f0da5b702af3f04a6af2bbd55febf67927696987d11113b53","strip_prefix":"--zulu17.38.21-ca-jdk17.0.5-macosx_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-macosx_x64.tar.gz"]} + }, + "remotejdk17_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n"} + }, + "remotejdk20_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_macos_aarch64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 20,\n)\n","sha256":"--a2eff6a940c2df3a2352278027e83f5959f34dcfc8663034fe92be0f1b91ce6f","strip_prefix":"--zulu20.28.85-ca-jdk20.0.0-macosx_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-macosx_aarch64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-macosx_aarch64.tar.gz"]} + }, + "remotejdk17_win": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_win","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--9972c5b62a61b45785d3d956c559e079d9e91f144ec46225f5deeda214d48f27","strip_prefix":"--zulu17.38.21-ca-jdk17.0.5-win_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip","--https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_x64.zip"]} + }, + "remotejdk11_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n"} + }, + "remotejdk11_linux_ppc64le_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n"} + }, + "remote_java_tools_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remote_java_tools_linux","sha256":"--64294e91fe940c77e6d35818b4c3a1f07d78e33add01e330188d907032687066","urls":["--https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_linux-v12.6.zip","--https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_linux-v12.6.zip"]} + }, + "remotejdk11_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n"} + }, + "remotejdk11_linux_s390x": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_s390x","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b","strip_prefix":"--jdk-11.0.15+10","urls":["--https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz","--https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.15_10.tar.gz"]} + }, + "remotejdk17_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_aarch64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--dbc6ae9163e7ff469a9ab1f342cd1bc1f4c1fb78afc3c4f2228ee3b32c4f3e43","strip_prefix":"--zulu17.38.21-ca-jdk17.0.5-linux_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-linux_aarch64.tar.gz"]} + }, + "remotejdk17_win_arm64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n"} + }, + "remotejdk11_linux": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c","strip_prefix":"--zulu11.66.15-ca-jdk11.0.20-linux_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-linux_x64.tar.gz"]} + }, + "remotejdk11_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_macos_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_macos//:jdk\",\n)\n"} + }, + "remotejdk17_linux_ppc64le_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n"} + }, + "remotejdk17_win_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_win_arm64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--bc3476f2161bf99bc9a243ff535b8fc033b34ce9a2fa4b62fb8d79b6bfdc427f","strip_prefix":"--zulu17.38.21-ca-jdk17.0.5-win_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip","--https://cdn.azul.com/zulu/bin/zulu17.38.21-ca-jdk17.0.5-win_aarch64.zip"]} + }, + "remote_java_tools_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remote_java_tools_darwin_arm64","sha256":"--c6ffcaf87965c436cc86fc0e9673dafc97c0761efae8225ad2691cf6cfe3d87a","urls":["--https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_arm64-v12.6.zip","--https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_arm64-v12.6.zip"]} + }, + "remotejdk17_linux_ppc64le": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_ppc64le","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--cbedd0a1428b3058d156e99e8e9bc8769e0d633736d6776a4c4d9136648f2fd1","strip_prefix":"--jdk-17.0.4.1+1","urls":["--https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.4.1_1.tar.gz","--https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.4.1_1.tar.gz"]} + }, + "remotejdk20_macos_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_macos_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_20\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"20\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk20_macos//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk20_macos//:jdk\",\n)\n"} + }, + "remotejdk20_macos_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_macos_aarch64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_20\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"20\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk20_macos_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk20_macos_aarch64//:jdk\",\n)\n"} + }, + "remotejdk20_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_win_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_20\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"20\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk20_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk20_win//:jdk\",\n)\n"} + }, + "remotejdk11_win_arm64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_11\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"11\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n"} + }, + "local_jdk": { + "bzlFile": "@@rules_java~6.5.0//toolchains:local_java_repository.bzl", + "ruleClassName": "_local_java_repository_rule", + "attributes": {"name":"--rules_java~6.5.0~toolchains~local_jdk","java_home":"--","version":"--","build_file":null,"build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = {RUNTIME_VERSION},\n)\n"} + }, + "remotejdk20_linux_aarch64_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_linux_aarch64_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_20\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"20\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk20_linux_aarch64//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk20_linux_aarch64//:jdk\",\n)\n"} + }, + "remotejdk20_macos": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_macos","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 20,\n)\n","sha256":"--fde6cc17a194ea0d9b0c6c0cb6178199d8edfc282d649eec2c86a9796e843f86","strip_prefix":"--zulu20.28.85-ca-jdk20.0.0-macosx_x64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-macosx_x64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-macosx_x64.tar.gz"]} + }, + "remote_java_tools_darwin_x86_64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remote_java_tools_darwin_x86_64","sha256":"--c6545e82e543cb5775d3b8909d6270b5f481864b5ff083d20bfa5dcf77ac3ef7","urls":["--https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools_darwin_x86_64-v12.6.zip","--https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools_darwin_x86_64-v12.6.zip"]} + }, + "remotejdk20_linux_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk20_linux_aarch64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 20,\n)\n","sha256":"--47ce58ead9a05d5d53b96706ff6fa0eb2e46755ee67e2b416925e28f5b55038a","strip_prefix":"--zulu20.28.85-ca-jdk20.0.0-linux_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-linux_aarch64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu20.28.85-ca-jdk20.0.0-linux_aarch64.tar.gz"]} + }, + "remote_java_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remote_java_tools","sha256":"--f58a358ca694a41416a9b6a92b852935ad301d8882e5d22f4f11134f035317d5","urls":["--https://mirror.bazel.build/bazel_java_tools/releases/java/v12.6/java_tools-v12.6.zip","--https://github.com/bazelbuild/java_tools/releases/download/java_v12.6/java_tools-v12.6.zip"]} + }, + "remotejdk17_linux_s390x": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_linux_s390x","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 17,\n)\n","sha256":"--fdc82f4b06c880762503b0cb40e25f46cf8190d06011b3b768f4091d3334ef7f","strip_prefix":"--jdk-17.0.4.1+1","urls":["--https://mirror.bazel.build/github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.4.1_1.tar.gz","--https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_s390x_linux_hotspot_17.0.4.1_1.tar.gz"]} + }, + "remotejdk17_win_toolchain_config_repo": { + "bzlFile": "@@rules_java~6.5.0//toolchains:remote_java_repository.bzl", + "ruleClassName": "_toolchain_config", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk17_win_toolchain_config_repo","build_file":"--\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_17\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"17\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk17_win//:jdk\",\n)\n"} + }, + "remotejdk11_linux_ppc64le": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_linux_ppc64le","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f","strip_prefix":"--jdk-11.0.15+10","urls":["--https://mirror.bazel.build/github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz","--https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz"]} + }, + "remotejdk11_macos_aarch64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_java~6.5.0~toolchains~remotejdk11_macos_aarch64","build_file_content":"--load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n name = \"jre\",\n srcs = glob(\n [\n \"jre/bin/**\",\n \"jre/lib/**\",\n ],\n allow_empty = True,\n # In some configurations, Java browser plugin is considered harmful and\n # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n # so do not include it in JRE on Windows.\n exclude = [\"jre/bin/plugin2/**\"],\n ),\n)\n\nfilegroup(\n name = \"jdk-bin\",\n srcs = glob(\n [\"bin/**\"],\n # The JDK on Windows sometimes contains a directory called\n # \"%systemroot%\", which is not a valid label.\n exclude = [\"**/*%*/**\"],\n ),\n)\n\n# This folder holds security policies.\nfilegroup(\n name = \"jdk-conf\",\n srcs = glob(\n [\"conf/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-include\",\n srcs = glob(\n [\"include/**\"],\n allow_empty = True,\n ),\n)\n\nfilegroup(\n name = \"jdk-lib\",\n srcs = glob(\n [\"lib/**\", \"release\"],\n allow_empty = True,\n exclude = [\n \"lib/missioncontrol/**\",\n \"lib/visualvm/**\",\n ],\n ),\n)\n\njava_runtime(\n name = \"jdk\",\n srcs = [\n \":jdk-bin\",\n \":jdk-conf\",\n \":jdk-include\",\n \":jdk-lib\",\n \":jre\",\n ],\n version = 11,\n)\n","sha256":"--7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885","strip_prefix":"--zulu11.66.15-ca-jdk11.0.20-macosx_aarch64","urls":["--https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz","--https://cdn.azul.com/zulu/bin/zulu11.66.15-ca-jdk11.0.20-macosx_aarch64.tar.gz"]} + } + } + }, + "@rules_go~0.41.0//go:extensions.bzl%go_sdk": { + "bzlTransitiveDigest": "tRrGuP5KZU5kuSUBti/+/g5eIbD2xanbhV1Gh6pGkSM=", + "envVariables": {}, + "generatedRepoSpecs": { + "go_default_sdk": { + "bzlFile": "@@rules_go~0.41.0//go/private:sdk.bzl", + "ruleClassName": "go_download_sdk_rule", + "attributes": {"name":"--rules_go~0.41.0~go_sdk~go_default_sdk","goos":"--","goarch":"--","sdks":{},"urls":["--https://dl.google.com/go/{}"],"version":"--1.20.2"} + }, + "go_host_compatible_sdk_label": { + "bzlFile": "@@rules_go~0.41.0//go/private:extensions.bzl", + "ruleClassName": "host_compatible_toolchain", + "attributes": {"name":"--rules_go~0.41.0~go_sdk~go_host_compatible_sdk_label","toolchain":"--@go_default_sdk//:ROOT"} + }, + "go_toolchains": { + "bzlFile": "@@rules_go~0.41.0//go/private:sdk.bzl", + "ruleClassName": "go_multiple_toolchains", + "attributes": {"name":"--rules_go~0.41.0~go_sdk~go_toolchains","prefixes":["--_0000_go_default_sdk_"],"geese":["--"],"goarchs":["--"],"sdk_repos":["--go_default_sdk"],"sdk_types":["--remote"],"sdk_versions":["--1.20.2"]} + } + } + }, + "@aspect_bazel_lib~1.33.0//lib:extensions.bzl%ext": { + "bzlTransitiveDigest": "YU5QiKW+KB3BilKRtXcVNhcerlYoDRAcFOF3cNx6CBY=", + "envVariables": {}, + "generatedRepoSpecs": { + "expand_template_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~expand_template_windows_amd64","platform":"--windows_amd64"} + }, + "copy_to_directory_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_to_directory_windows_amd64","platform":"--windows_amd64"} + }, + "jq": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_host_alias_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~jq"} + }, + "jq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~jq_darwin_amd64","platform":"--darwin_amd64","version":"--1.6"} + }, + "expand_template_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~expand_template_darwin_arm64","platform":"--darwin_arm64"} + }, + "expand_template_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~expand_template_linux_amd64","platform":"--linux_amd64"} + }, + "copy_to_directory_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_to_directory_linux_amd64","platform":"--linux_amd64"} + }, + "coreutils_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~coreutils_darwin_arm64","platform":"--darwin_arm64","version":"--0.0.16"} + }, + "coreutils_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~coreutils_linux_amd64","platform":"--linux_amd64","version":"--0.0.16"} + }, + "copy_directory_toolchains": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_toolchains_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_directory_toolchains","user_repository_name":"--copy_directory"} + }, + "copy_to_directory_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_to_directory_linux_arm64","platform":"--linux_arm64"} + }, + "yq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_linux_amd64","platform":"--linux_amd64","version":"--4.25.2"} + }, + "copy_to_directory_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_to_directory_darwin_arm64","platform":"--darwin_arm64"} + }, + "copy_directory_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_directory_darwin_amd64","platform":"--darwin_amd64"} + }, + "coreutils_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~coreutils_darwin_amd64","platform":"--darwin_amd64","version":"--0.0.16"} + }, + "coreutils_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~coreutils_linux_arm64","platform":"--linux_arm64","version":"--0.0.16"} + }, + "coreutils_toolchains": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_toolchains_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~coreutils_toolchains","user_repository_name":"--coreutils"} + }, + "yq_linux_s390x": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_linux_s390x","platform":"--linux_s390x","version":"--4.25.2"} + }, + "yq": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_host_alias_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq"} + }, + "expand_template_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~expand_template_darwin_amd64","platform":"--darwin_amd64"} + }, + "copy_directory_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_directory_linux_amd64","platform":"--linux_amd64"} + }, + "jq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~jq_darwin_arm64","platform":"--darwin_arm64","version":"--1.6"} + }, + "yq_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_darwin_amd64","platform":"--darwin_amd64","version":"--4.25.2"} + }, + "copy_directory_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_directory_linux_arm64","platform":"--linux_arm64"} + }, + "expand_template_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~expand_template_linux_arm64","platform":"--linux_arm64"} + }, + "jq_linux_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~jq_linux_amd64","platform":"--linux_amd64","version":"--1.6"} + }, + "expand_template_toolchains": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:expand_template_toolchain.bzl", + "ruleClassName": "expand_template_toolchains_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~expand_template_toolchains","user_repository_name":"--expand_template"} + }, + "yq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_windows_amd64","platform":"--windows_amd64","version":"--4.25.2"} + }, + "copy_to_directory_darwin_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_to_directory_darwin_amd64","platform":"--darwin_amd64"} + }, + "jq_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~jq_windows_amd64","platform":"--windows_amd64","version":"--1.6"} + }, + "yq_linux_ppc64le": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_linux_ppc64le","platform":"--linux_ppc64le","version":"--4.25.2"} + }, + "copy_to_directory_toolchains": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_to_directory_toolchain.bzl", + "ruleClassName": "copy_to_directory_toolchains_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_to_directory_toolchains","user_repository_name":"--copy_to_directory"} + }, + "jq_toolchains": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:jq_toolchain.bzl", + "ruleClassName": "jq_toolchains_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~jq_toolchains","user_repository_name":"--jq"} + }, + "copy_directory_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_directory_darwin_arm64","platform":"--darwin_arm64"} + }, + "copy_directory_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:copy_directory_toolchain.bzl", + "ruleClassName": "copy_directory_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~copy_directory_windows_amd64","platform":"--windows_amd64"} + }, + "yq_darwin_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_darwin_arm64","platform":"--darwin_arm64","version":"--4.25.2"} + }, + "yq_toolchains": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_toolchains_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_toolchains","user_repository_name":"--yq"} + }, + "coreutils_windows_amd64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:coreutils_toolchain.bzl", + "ruleClassName": "coreutils_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~coreutils_windows_amd64","platform":"--windows_amd64","version":"--0.0.16"} + }, + "yq_linux_arm64": { + "bzlFile": "@@aspect_bazel_lib~1.33.0//lib/private:yq_toolchain.bzl", + "ruleClassName": "yq_platform_repo", + "attributes": {"name":"--aspect_bazel_lib~1.33.0~ext~yq_linux_arm64","platform":"--linux_arm64","version":"--4.25.2"} + } + } + }, + "@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": { + "bzlTransitiveDigest": "tPOdRizSo9otQd2GJyqlwJgaAgrXgkIQ2SE6rrn/Nok=", + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_cc": { + "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", + "ruleClassName": "cc_autoconf", + "attributes": {"name":"--bazel_tools~cc_configure_extension~local_config_cc"} + }, + "local_config_cc_toolchains": { + "bzlFile": "@@bazel_tools//tools/cpp:cc_configure.bzl", + "ruleClassName": "cc_autoconf_toolchains", + "attributes": {"name":"--bazel_tools~cc_configure_extension~local_config_cc_toolchains"} + } + } + }, + "@rules_cc~0.0.8//cc:extensions.bzl%cc_configure": { + "bzlTransitiveDigest": "z9FP5xNPBStqQOEY0p9DnVmesomJxV7UTKcEY9fQtrU=", + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_cc": { + "bzlFile": "@@rules_cc~0.0.8//cc/private/toolchain:cc_configure.bzl", + "ruleClassName": "cc_autoconf", + "attributes": {"name":"--rules_cc~0.0.8~cc_configure~local_config_cc"} + }, + "local_config_cc_toolchains": { + "bzlFile": "@@rules_cc~0.0.8//cc/private/toolchain:cc_configure.bzl", + "ruleClassName": "cc_autoconf_toolchains", + "attributes": {"name":"--rules_cc~0.0.8~cc_configure~local_config_cc_toolchains"} + }, + "local_config_xcode": { + "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl", + "ruleClassName": "xcode_autoconf", + "attributes": {"name":"--rules_cc~0.0.8~cc_configure~local_config_xcode","xcode_locator":"--@bazel_tools//tools/osx:xcode_locator.m","remote_xcode":"--"} + } + } + }, + "@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { + "bzlTransitiveDigest": "U2J5o7vFOuzvTlGgp6NRLXTFojCj6ZlCdx0bgC1TQWs=", + "envVariables": {}, + "generatedRepoSpecs": { + "local_config_xcode": { + "bzlFile": "@@bazel_tools//tools/osx:xcode_configure.bzl", + "ruleClassName": "xcode_autoconf", + "attributes": {"name":"--bazel_tools~xcode_configure_extension~local_config_xcode","xcode_locator":"--@bazel_tools//tools/osx:xcode_locator.m","remote_xcode":"--"} + } + } + }, + "@rules_go~0.41.0//go/private:extensions.bzl%non_module_dependencies": { + "bzlTransitiveDigest": "32I4rndmiGqHcdgqpFQ4g+VBhxhJ7yTne1+F2OKYvOE=", + "envVariables": {}, + "generatedRepoSpecs": { + "bazel_skylib": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~bazel_skylib","urls":["--https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz","--https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz"],"sha256":"--66ffd9315665bfaafc96b52278f57c7e2dd09f5ede279ea6d39b2be471e7e3aa","strip_prefix":"--"} + }, + "com_github_gogo_protobuf": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~com_github_gogo_protobuf","urls":["--https://mirror.bazel.build/github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip","--https://github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip"],"sha256":"--f89f8241af909ce3226562d135c25b28e656ae173337b3e58ede917aa26e1e3c","strip_prefix":"--protobuf-1.3.2","patches":["@@rules_go~0.41.0//third_party:com_github_gogo_protobuf-gazelle.patch"],"patch_args":["---p1"]} + }, + "org_golang_x_xerrors": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~org_golang_x_xerrors","urls":["--https://mirror.bazel.build/github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip","--https://github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip"],"sha256":"--ffad2b06ef2e09d040da2ff08077865e99ab95d4d0451737fc8e33706bb01634","strip_prefix":"--xerrors-04be3eba64a22a838cdb17b8dca15a52871c08b4","patches":["@@rules_go~0.41.0//third_party:org_golang_x_xerrors-gazelle.patch"],"patch_args":["---p1"]} + }, + "com_github_golang_protobuf": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~com_github_golang_protobuf","urls":["--https://mirror.bazel.build/github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip","--https://github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip"],"sha256":"--2dced4544ae5372281e20f1e48ca76368355a01b31353724718c4d6e3dcbb430","strip_prefix":"--protobuf-1.5.3","patches":["@@rules_go~0.41.0//third_party:com_github_golang_protobuf-gazelle.patch"],"patch_args":["---p1"]} + }, + "io_bazel_rules_nogo": { + "bzlFile": "@@rules_go~0.41.0//go/private:nogo.bzl", + "ruleClassName": "go_register_nogo", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~io_bazel_rules_nogo","nogo":"--@io_bazel_rules_go//:default_nogo"} + }, + "gogo_special_proto": { + "bzlFile": "@@rules_go~0.41.0//proto:gogo.bzl", + "ruleClassName": "gogo_special_proto", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~gogo_special_proto"} + }, + "com_github_golang_mock": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~com_github_golang_mock","urls":["--https://mirror.bazel.build/github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip","--https://github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip"],"patches":["@@rules_go~0.41.0//third_party:com_github_golang_mock-gazelle.patch"],"patch_args":["---p1"],"sha256":"--5359c78b0c1649cf7beb3b48ff8b1d1aaf0243b22ea4789aba94805280075d8e","strip_prefix":"--mock-1.7.0-rc.1"} + }, + "org_golang_google_protobuf": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~org_golang_google_protobuf","sha256":"--cb1a05581c33b3705ede6c08edf9b9c1dbc579559ba30f532704c324e42bf801","urls":["--https://mirror.bazel.build/github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.30.0.zip","--https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.30.0.zip"],"strip_prefix":"--protobuf-go-1.30.0","patches":["@@rules_go~0.41.0//third_party:org_golang_google_protobuf-gazelle.patch"],"patch_args":["---p1"]} + }, + "com_github_mwitkow_go_proto_validators": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~com_github_mwitkow_go_proto_validators","urls":["--https://mirror.bazel.build/github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip","--https://github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip"],"sha256":"--d8697f05a2f0eaeb65261b480e1e6035301892d9fc07ed945622f41b12a68142","strip_prefix":"--go-proto-validators-0.3.2"} + }, + "org_golang_x_tools": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~org_golang_x_tools","urls":["--https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/v0.7.0.zip","--https://github.com/golang/tools/archive/refs/tags/v0.7.0.zip"],"sha256":"--9f20a20f29f4008d797a8be882ef82b69cf8f7f2b96dbdfe3814c57d8280fa4b","strip_prefix":"--tools-0.7.0","patches":["@@rules_go~0.41.0//third_party:org_golang_x_tools-deletegopls.patch","@@rules_go~0.41.0//third_party:org_golang_x_tools-gazelle.patch"],"patch_args":["---p1"]} + }, + "org_golang_x_sys": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~org_golang_x_sys","urls":["--https://mirror.bazel.build/github.com/golang/sys/archive/refs/tags/v0.8.0.zip","--https://github.com/golang/sys/archive/refs/tags/v0.8.0.zip"],"sha256":"--58ef1f478ba923715bc493f2e0a431d4b2d428f1e3409f6acaac452945f6fd2f","strip_prefix":"--sys-0.8.0","patches":["@@rules_go~0.41.0//third_party:org_golang_x_sys-gazelle.patch"],"patch_args":["---p1"]} + }, + "org_golang_google_genproto": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": {"name":"--rules_go~0.41.0~non_module_dependencies~org_golang_google_genproto","urls":["--https://mirror.bazel.build/github.com/googleapis/go-genproto/archive/e85fd2cbaebc35e54b279b5e9b1057db87dacd57.zip","--https://github.com/googleapis/go-genproto/archive/e85fd2cbaebc35e54b279b5e9b1057db87dacd57.zip"],"sha256":"--da966a75fdc2f9d8006bc51e683490ff969ff637bbc030812cd9c5697e3a7cab","strip_prefix":"--go-genproto-e85fd2cbaebc35e54b279b5e9b1057db87dacd57","patches":["@@rules_go~0.41.0//third_party:org_golang_google_genproto-gazelle.patch"],"patch_args":["---p1"]} + } + } + }, + "@gazelle~0.32.0//:extensions.bzl%go_deps": { + "bzlTransitiveDigest": "HT7kb3CGKCPCfGQwpdDUxgZOYN6RV6XT7LeivzJojsg=", + "envVariables": {}, + "generatedRepoSpecs": { + "com_github_fsnotify_fsnotify": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_fsnotify_fsnotify","importpath":"--github.com/fsnotify/fsnotify","sum":"--h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=","replace":"--","version":"--v1.6.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_bmatcuk_doublestar_v4": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_bmatcuk_doublestar_v4","importpath":"--github.com/bmatcuk/doublestar/v4","sum":"--h1:HTuxyug8GyFbRkrffIpzNCSK4luc0TY3wzXvzIZhEXc=","replace":"--","version":"--v4.6.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_pmezard_go_difflib": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_pmezard_go_difflib","importpath":"--github.com/pmezard/go-difflib","sum":"--h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=","replace":"--","version":"--v1.0.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_mattn_go_isatty": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_mattn_go_isatty","importpath":"--github.com/mattn/go-isatty","sum":"--h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=","replace":"--","version":"--v0.0.14","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_alecthomas_repr": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_alecthomas_repr","importpath":"--github.com/alecthomas/repr","sum":"--h1:8Uy0oSf5co/NZXje7U1z8Mpep++QJOldL2hs/sBQf48=","replace":"--","version":"--v0.0.0-20210801044451-80ca428c5142","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_davecgh_go_spew": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_davecgh_go_spew","importpath":"--github.com/davecgh/go-spew","sum":"--h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=","replace":"--","version":"--v1.1.1","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_x_tools": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_tools","importpath":"--golang.org/x/tools","sum":"--h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo=","replace":"--","version":"--v0.9.1","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_x_net": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_net","importpath":"--golang.org/x/net","sum":"--h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=","replace":"--","version":"--v0.5.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_bazelbuild_buildtools": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_bazelbuild_buildtools","importpath":"--github.com/bazelbuild/buildtools","sum":"--h1:Fl1FfItZp34QIQmmDTbZXHB5XA6JfbNNfH7tRRGWvQo=","replace":"--","version":"--v0.0.0-20230510134650-37bd1811516d","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_google_genproto": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_google_genproto","importpath":"--google.golang.org/genproto","sum":"--h1:2ncG/LajxmrclaZH+ppVi02rQxz4eXYJzGHdFN4Y9UA=","replace":"--","version":"--v0.0.0-20210921142501-181ce0d877f6","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_google_btree": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_google_btree","importpath":"--github.com/google/btree","sum":"--h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=","replace":"--","version":"--v1.1.2","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "net_starlark_go": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~net_starlark_go","importpath":"--go.starlark.net","sum":"--h1:xwwDQW5We85NaTk2APgoN9202w/l0DVGp+GZMfsrh7s=","replace":"--","version":"--v0.0.0-20210223155950-e043a3d3c984","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_gogo_protobuf": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_gogo_protobuf","importpath":"--github.com/gogo/protobuf","sum":"--h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=","replace":"--","version":"--v1.3.2","build_directives":["--gazelle:proto disable"],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "in_gopkg_alecthomas_kingpin_v2": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~in_gopkg_alecthomas_kingpin_v2","importpath":"--gopkg.in/alecthomas/kingpin.v2","sum":"--h1:CC8tJ/xljioKrK6ii3IeWVXU4Tw7VB+LbjZBJaBxN50=","replace":"--","version":"--v2.2.4","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_stretchr_testify": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_stretchr_testify","importpath":"--github.com/stretchr/testify","sum":"--h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=","replace":"--","version":"--v1.7.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_alecthomas_colour": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_alecthomas_colour","importpath":"--github.com/alecthomas/colour","sum":"--h1:nOE9rJm6dsZ66RGWYSFrXw461ZIt9A6+nHgL7FRrDUk=","replace":"--","version":"--v0.1.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_alecthomas_template": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_alecthomas_template","importpath":"--github.com/alecthomas/template","sum":"--h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU=","replace":"--","version":"--v0.0.0-20160405071501-a0175ee3bccc","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_golang_mock": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_golang_mock","importpath":"--github.com/golang/mock","sum":"--h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=","replace":"--","version":"--v1.6.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_x_sync": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_sync","importpath":"--golang.org/x/sync","sum":"--h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=","replace":"--","version":"--v0.2.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_google_grpc": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_google_grpc","importpath":"--google.golang.org/grpc","sum":"--h1:fPVVDxY9w++VjTZsYvXWqEf9Rqar/e+9zYfxKK+W+YU=","replace":"--","version":"--v1.50.0","build_directives":["--gazelle:proto disable"],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_alecthomas_assert": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_alecthomas_assert","importpath":"--github.com/alecthomas/assert","sum":"--h1:smF2tmSOzy2Mm+0dGI2AIUHY+w0BUc+4tn40djz7+6U=","replace":"--","version":"--v0.0.0-20170929043011-405dbfeb8e38","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_google_go_cmp": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_google_go_cmp","importpath":"--github.com/google/go-cmp","sum":"--h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=","replace":"--","version":"--v0.5.9","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_hashicorp_golang_lru": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_hashicorp_golang_lru","importpath":"--github.com/hashicorp/golang-lru","sum":"--h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=","replace":"--","version":"--v0.5.4","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_x_xerrors": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_xerrors","importpath":"--golang.org/x/xerrors","sum":"--h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=","replace":"--","version":"--v0.0.0-20200804184101-5ec99f83aff1","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_alecthomas_units": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_alecthomas_units","importpath":"--github.com/alecthomas/units","sum":"--h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=","replace":"--","version":"--v0.0.0-20151022065526-2efee857e7cf","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_x_text": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_text","importpath":"--golang.org/x/text","sum":"--h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=","replace":"--","version":"--v0.6.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_ekalinin_github_markdown_toc_go": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_ekalinin_github_markdown_toc_go","importpath":"--github.com/ekalinin/github-markdown-toc.go","sum":"--h1:6jRFt5qg61XfXZbP3SDaeTX+1OC1EgbHvRceYDmPAUE=","replace":"--","version":"--v1.2.1","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_google_uuid": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_google_uuid","importpath":"--github.com/google/uuid","sum":"--h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=","replace":"--","version":"--v1.1.2","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_google_protobuf": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_google_protobuf","importpath":"--google.golang.org/protobuf","sum":"--h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=","replace":"--","version":"--v1.28.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "org_golang_x_mod": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_mod","importpath":"--golang.org/x/mod","sum":"--h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=","replace":"--","version":"--v0.10.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "in_gopkg_yaml_v3": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~in_gopkg_yaml_v3","importpath":"--gopkg.in/yaml.v3","sum":"--h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=","replace":"--","version":"--v3.0.0-20200313102051-9f266ea9e77c","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_sergi_go_diff": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_sergi_go_diff","importpath":"--github.com/sergi/go-diff","sum":"--h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=","replace":"--","version":"--v1.2.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_aristanetworks_goarista": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_aristanetworks_goarista","importpath":"--github.com/aristanetworks/goarista","sum":"--h1:xnu1MpGNjnEooJ8lWa3YiU3330zMZISReAosjpZpLzg=","replace":"--","version":"--v0.0.0-20220328143245-64c8d3945829","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_golang_protobuf": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_golang_protobuf","importpath":"--github.com/golang/protobuf","sum":"--h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=","replace":"--","version":"--v1.5.2","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "bazel_gazelle_go_repository_config": { + "bzlFile": "@@gazelle~0.32.0//internal/bzlmod:go_deps.bzl", + "ruleClassName": "_go_repository_config", + "attributes": {"name":"--gazelle~0.32.0~go_deps~bazel_gazelle_go_repository_config","importpaths":{"--com_github_gogo_protobuf":"--github.com/gogo/protobuf","--com_github_golang_mock":"--github.com/golang/mock","--com_github_golang_protobuf":"--github.com/golang/protobuf","--org_golang_google_protobuf":"--google.golang.org/protobuf","--org_golang_x_net":"--golang.org/x/net","--org_golang_x_sys":"--golang.org/x/sys","--org_golang_x_text":"--golang.org/x/text","--org_golang_google_genproto":"--google.golang.org/genproto","--org_golang_google_grpc":"--google.golang.org/grpc","--com_github_bazelbuild_buildtools":"--github.com/bazelbuild/buildtools","--com_github_bmatcuk_doublestar_v4":"--github.com/bmatcuk/doublestar/v4","--com_github_fsnotify_fsnotify":"--github.com/fsnotify/fsnotify","--com_github_google_go_cmp":"--github.com/google/go-cmp","--com_github_pmezard_go_difflib":"--github.com/pmezard/go-difflib","--org_golang_x_mod":"--golang.org/x/mod","--org_golang_x_sync":"--golang.org/x/sync","--org_golang_x_tools":"--golang.org/x/tools","--com_github_aristanetworks_goarista":"--github.com/aristanetworks/goarista","--com_github_google_btree":"--github.com/google/btree","--com_github_google_uuid":"--github.com/google/uuid","--com_github_hashicorp_golang_lru":"--github.com/hashicorp/golang-lru","--com_github_rs_zerolog":"--github.com/rs/zerolog","--com_github_sergi_go_diff":"--github.com/sergi/go-diff","--com_github_stretchr_testify":"--github.com/stretchr/testify","--net_starlark_go":"--go.starlark.net","--com_github_davecgh_go_spew":"--github.com/davecgh/go-spew","--org_golang_x_xerrors":"--golang.org/x/xerrors","--in_gopkg_yaml_v3":"--gopkg.in/yaml.v3","--com_github_alecthomas_assert":"--github.com/alecthomas/assert","--com_github_alecthomas_colour":"--github.com/alecthomas/colour","--com_github_alecthomas_repr":"--github.com/alecthomas/repr","--com_github_alecthomas_template":"--github.com/alecthomas/template","--com_github_alecthomas_units":"--github.com/alecthomas/units","--com_github_ekalinin_github_markdown_toc_go":"--github.com/ekalinin/github-markdown-toc.go","--com_github_mattn_go_isatty":"--github.com/mattn/go-isatty","--in_gopkg_alecthomas_kingpin_v2":"--gopkg.in/alecthomas/kingpin.v2","--@rules_go~0.41.0":"--github.com/bazelbuild/rules_go","--@gazelle~0.32.0":"--github.com/bazelbuild/bazel-gazelle","--@contrib_rules_jvm~0.13.0":"--github.com/bazel-contrib/rules_jvm"},"module_names":{"--@rules_go~0.41.0":"--rules_go","--@gazelle~0.32.0":"--gazelle","--@contrib_rules_jvm~0.13.0":"--contrib_rules_jvm"},"build_naming_conventions":{}} + }, + "org_golang_x_sys": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~org_golang_x_sys","importpath":"--golang.org/x/sys","sum":"--h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=","replace":"--","version":"--v0.8.0","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + }, + "com_github_rs_zerolog": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": {"name":"--gazelle~0.32.0~go_deps~com_github_rs_zerolog","importpath":"--github.com/rs/zerolog","sum":"--h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc=","replace":"--","version":"--v1.26.1","build_directives":[],"build_file_generation":"--auto","patches":[],"patch_args":[]} + } + } + }, + "@gazelle~0.32.0//internal/bzlmod:non_module_deps.bzl%non_module_deps": { + "bzlTransitiveDigest": "7KQimPa0FNr7HpJHiN1j3JHDwzx1/4ePlc/SLZ8uPL4=", + "envVariables": {}, + "generatedRepoSpecs": { + "bazel_gazelle_go_repository_tools": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository_tools.bzl", + "ruleClassName": "go_repository_tools", + "attributes": {"name":"--gazelle~0.32.0~non_module_deps~bazel_gazelle_go_repository_tools","go_cache":"@@gazelle~0.32.0~non_module_deps~bazel_gazelle_go_repository_cache//:go.env"} + }, + "bazel_gazelle_go_repository_cache": { + "bzlFile": "@@gazelle~0.32.0//internal:go_repository_cache.bzl", + "ruleClassName": "go_repository_cache", + "attributes": {"name":"--gazelle~0.32.0~non_module_deps~bazel_gazelle_go_repository_cache","go_sdk_name":"--go_sdk","go_env":{}} + } + } + }, + "@buildifier_prebuilt~6.1.2.1//:defs.bzl%buildifier_prebuilt_deps_extension": { + "bzlTransitiveDigest": "YIaX7kFbTFNYzlKbkGLYOh4lrX0gogD1hbWwzXyd4KM=", + "envVariables": {}, + "generatedRepoSpecs": { + "buildozer_darwin_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildozer_darwin_amd64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildozer-darwin-amd64"],"downloaded_file_path":"--buildozer","executable":true,"sha256":"--4014751a4cc5e91a7dc4b64be7b30c565bd9014ae6d1879818dc624562a1d431"} + }, + "buildifier_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildifier_linux_amd64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildifier-linux-amd64"],"downloaded_file_path":"--buildifier","executable":true,"sha256":"--51bc947dabb7b14ec6fb1224464fbcf7a7cb138f1a10a3b328f00835f72852ce"} + }, + "buildozer_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildozer_darwin_arm64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildozer-darwin-arm64"],"downloaded_file_path":"--buildozer","executable":true,"sha256":"--e78bd5357f2356067d4b0d49ec4e4143dd9b1308746afc6ff11b55b952f462d7"} + }, + "buildozer_linux_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildozer_linux_amd64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildozer-linux-amd64"],"downloaded_file_path":"--buildozer","executable":true,"sha256":"--2aef0f1ef80a0140b8fe6e6a8eb822e14827d8855bfc6681532c7530339ea23b"} + }, + "buildozer_windows_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildozer_windows_amd64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildozer-windows-amd64.exe"],"downloaded_file_path":"--buildozer.exe","executable":true,"sha256":"--07664d5d08ee099f069cd654070cabf2708efaae9f52dc83921fa400c67a868b"} + }, + "buildozer_linux_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildozer_linux_arm64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildozer-linux-arm64"],"downloaded_file_path":"--buildozer","executable":true,"sha256":"--586e27630cbc242e8bd6fe8e24485eca8dcadea6410cc13cbe059202655980ac"} + }, + "buildifier_windows_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildifier_windows_amd64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildifier-windows-amd64.exe"],"downloaded_file_path":"--buildifier.exe","executable":true,"sha256":"--92bdd284fbc6766fc3e300b434ff9e68ac4d76a06cb29d1bdefe79a102a8d135"} + }, + "buildifier_prebuilt_toolchains": { + "bzlFile": "@@buildifier_prebuilt~6.1.2.1//:defs.bzl", + "ruleClassName": "_buildifier_toolchain_setup", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildifier_prebuilt_toolchains","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\"}]"} + }, + "buildifier_darwin_amd64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildifier_darwin_amd64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildifier-darwin-amd64"],"downloaded_file_path":"--buildifier","executable":true,"sha256":"--e2f4a67691c5f55634fbfb3850eb97dd91be0edd059d947b6c83d120682e0216"} + }, + "buildifier_darwin_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildifier_darwin_arm64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildifier-darwin-arm64"],"downloaded_file_path":"--buildifier","executable":true,"sha256":"--7549b5f535219ac957aa2a6069d46fbfc9ea3f74abd85fd3d460af4b1a2099a6"} + }, + "buildifier_linux_arm64": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": {"name":"--buildifier_prebuilt~6.1.2.1~buildifier_prebuilt_deps_extension~buildifier_linux_arm64","urls":["--https://github.com/bazelbuild/buildtools/releases/download/v6.1.2/buildifier-linux-arm64"],"downloaded_file_path":"--buildifier","executable":true,"sha256":"--0ba6e8e3208b5a029164e542ddb5509e618f87b639ffe8cc2f54770022853080"} + } + } + } + } +} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..c14335d8 --- /dev/null +++ b/Makefile @@ -0,0 +1,125 @@ + +# +# Makefile: GraalVM Rules for Bazel +# + +# Configuration +# + +CI ?= no +DEBUG ?= no +RELEASE ?= no +VERBOSE ?= no +BZLMOD ?= no +COVERAGE ?= yes +TARGETS ?= //... +TESTS ?= //... +ARGS ?= +CONFIGS ?= + +# -------------------------------------------------------- + +CP ?= $(shell which cp) +MV ?= $(shell which mv) +RM ?= $(shell which rm) +GIT ?= $(shell which git) +BAZEL ?= $(shell which bazel) +MKDIR ?= $(shell which mkdir) + +# -------------------------------------------------------- + +_ARGS = $(ARGS) +_CONFIGS = $(CONFIGS) +_STARTUP = + +ifeq ($(COVERAGE),yes) +TEST_TASK = coverage +else +TEST_TASK = test +endif + +ifeq ($(VERBOSE),yes) +RULE = +else +RULE = @ +endif + +ifeq ($(BZLMOD),yes) +_CONFIGS += bzlmod +endif + +ifeq ($(DEBUG),yes) +_CONFIGS += debug +else +ifeq ($(RELEASE),yes) +_CONFIGS += release +else +_CONFIGS += fastbuild +endif +endif + +_ARGS += $(patsubst %,--config=%,$(_CONFIGS)) + +# -------------------------------------------------------- + +all: build test docs + + +# Targets: Build/Test +# + +build: ## Build all targets. + $(RULE)$(BAZEL) $(_STARTUP) build $(TARGETS) $(_ARGS) + +test: ## Run all tests. + $(RULE)$(BAZEL) $(_STARTUP) $(TEST_TASK) $(TESTS) $(_ARGS) + +docs: ## Build docs. + + +# Targets: Diagnosis +# + +args: ## Show current build args. + @echo "Printing args:" + @echo "$(_ARGS)" + +config: ## Show current build configuration. + @echo "Current configuration": + @echo "CI: $(CI)" + @echo "Bzlmod: $(BZLMOD)" + @echo "Debug: $(DEBUG)" + @echo "Release: $(RELEASE)" + @echo "Verbose: $(VERBOSE)" + @echo "Coverage: $(COVERAGE)" + @echo "Test task: $(TEST_TASK)" + @echo "Configs: $(CONFIGS)" + @echo "Targets: $(TARGETS)" + @echo "Tests: $(TESTS)" + @echo "Args:" + @echo "$(_ARGS)" + + +# Targets: Clean +# + +clean: ## Clean built targets. + @echo "Cleaning targets..." + $(RULE)$(BAZEL) clean + +distclean: clean ## Clean and expunge; drops all state and kills worker. + $(RULE)$(BAZEL) --expunge + +reset: distclean ## Clean, expunge, and perform a hard Git reset (DANGEROUS). + $(RULE)$(GIT) reset --hard + +forceclean: reset ## Clean, expunge, reset, and drop all ignored files (DANGEROUS). + $(RULE)$(GIT) clean -xdf + + +help: ## Show this help message. + $(info GraalVM Rules for Bazel:) + @grep -E '^[a-z1-9A-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +.PHONY: all build test docs clean distclean reset forceclean + diff --git a/README.md b/README.md index 41f4eb05..46b3594d 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,80 @@ -# rules_graal +# `rules_graalvm` -Turn a JVM binary into a native binary. +> [!IMPORTANT] +> Currently in beta. Will probably break -## Usage +Use [GraalVM](https://graalvm.org) from Bazel, with support for: -You'll need to first load the rules in your WORKSPACE file. +- [Building native image binaries](./docs/native-image.md) +- [Installing components with `gu`](./docs/components.md) +- [Using GraalVM as a Bazel Java toolchain](./docs/toolchain.md) +- [Support for Bazel 6, Bazel 7, and Bzlmod](./docs/modern-bazel.md) +- Support for macOS, Linux, Windows +- Support for latest modern GraalVM releases (Community Edition and Oracle GraalVM) -``` python +## Installation + +**Via `WORKSPACE`:** +```starlark load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( - name = "rules_graal", - sha256 = "", - strip_prefix = "rules_graal-master", + name = "rules_graalvm", + sha256 = "", + strip_prefix = "rules_graalvm-", urls = [ - "https://github.com/andyscott/rules_graal/archive/.zip", + "https://github.com/sgammon/rules_graalvm/archive/.tar.gz", ], ) -load("@rules_graal//graal:graal_bindist.bzl", "graal_bindist_repository") +load("@rules_graalvm//graalvm:repositories.bzl", "graalvm_repository") -graal_bindist_repository( - name = "graal", - java_version = "11", # 17 is also a valid option. 8 is an option in earlier versions. - version = "21.3.0", +graalvm_repository( + name = "graalvm", # anything you want + version = "20.0.1", # exact version of a GraalVM CE or Oracle GVM release + distribution = "oracle", # required for newer GVM releases (`oracle`, `ce`, or `community`) + java_version = "20", # java language version to use/declare ) ``` -Then, in a build file: +**Via `MODULE.bazel`:** +```starlark +# Coming soon. +``` + +## Usage: Java Toolchains + +You can use the `graalvm_repository` as a Java toolchain, by registering it like below: + +**In `WORKSPACE.bazel`:** +```starlark +# Coming soon. +``` + +**Or, in a `.bazelrc` file:** +``` +# Coming soon. +``` + +## Usage: Build a native binary +**In a `BUILD.bazel` file:** ```python -load("@rules_graal//graal:graal.bzl", "graal_binary") load("@rules_java//java:defs.bzl", "java_library") +load("@rules_graalvm//graalvm:defs.bzl", "native_image") java_library( name = "main", srcs = glob(["Main.java"]), ) -graal_binary( +native_image( name = "main-native", deps = [":main"], main_class = "Main", ) ``` + +## Acknowledgements + +Built on top of @andyscott's fantastic work with [rules_graal](https://github.com/andyscott/rules_graal). diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index 93214bb8..00000000 --- a/WORKSPACE +++ /dev/null @@ -1,22 +0,0 @@ -workspace(name = "rules_graal") - -load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -load("@rules_graal//graal:graal_bindist.bzl", "graal_bindist_repository") - -graal_bindist_repository( - name = "graal", - version = "19.3.1", - java_version = "8", -) - -git_repository( - name = "rules_adroit", - commit = "e98240c73746934b8cfcf05020f5e936aee5bd9f", - remote = "git://github.com/andyscott/rules_adroit", -) - -register_toolchains( - "@rules_adroit//toolchains:shellcheck_from_host_path", -) diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel new file mode 100644 index 00000000..7d43867d --- /dev/null +++ b/WORKSPACE.bazel @@ -0,0 +1,195 @@ +workspace(name = "rules_graalvm") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("//internal:config.bzl", "RULES_JVM_EXTERNAL_TAG", "RULES_JVM_EXTERNAL_SHA", "PROTOBUF_VERSION", "PROTOBUF_SHA") + +http_archive( + name = "com_google_protobuf", + sha256 = PROTOBUF_SHA, + strip_prefix = "protobuf-%s" % PROTOBUF_VERSION, + urls = ["https://github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % PROTOBUF_VERSION], +) + +http_archive( + name = "googleapis", + sha256 = "9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88", + strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922", + urls = [ + "https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip", + ], +) + +http_archive( + name = "aspect_bazel_lib", + sha256 = "d488d8ecca98a4042442a4ae5f1ab0b614f896c0ebf6e3eafff363bcc51c6e62", + strip_prefix = "bazel-lib-1.33.0", + url = "https://github.com/aspect-build/bazel-lib/releases/download/v1.33.0/bazel-lib-v1.33.0.tar.gz", +) + +http_archive( + name = "rules_java", + urls = [ + "https://github.com/bazelbuild/rules_java/releases/download/6.5.0/rules_java-6.5.0.tar.gz", + ], + sha256 = "160d1ebf33763124766fb35316329d907ca67f733238aa47624a8e3ff3cf2ef4", +) + +http_archive( + name = "platforms", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz", + ], + sha256 = "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51", +) + +http_archive( + name = "bazel_skylib", + sha256 = "66ffd9315665bfaafc96b52278f57c7e2dd09f5ede279ea6d39b2be471e7e3aa", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz", + ], +) + +http_archive( + name = "io_bazel_rules_go", + sha256 = "278b7ff5a826f3dc10f04feaf0b70d48b68748ccd512d7f98bf442077f043fe3", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.41.0/rules_go-v0.41.0.zip", + "https://github.com/bazelbuild/rules_go/releases/download/v0.41.0/rules_go-v0.41.0.zip", + ], +) + + +http_archive( + name = "bazel_gazelle", + sha256 = "29218f8e0cebe583643cbf93cae6f971be8a2484cdcfa1e45057658df8d54002", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.32.0/bazel-gazelle-v0.32.0.tar.gz", + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.32.0/bazel-gazelle-v0.32.0.tar.gz", + ], +) + +http_archive( + name = "bazel_skylib_gazelle_plugin", + sha256 = "3327005dbc9e49cc39602fb46572525984f7119a9c6ffe5ed69fbe23db7c1560", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-gazelle-plugin-1.4.2.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-gazelle-plugin-1.4.2.tar.gz", + ], +) + +http_archive( + name = "io_bazel_stardoc", + sha256 = "3fd8fec4ddec3c670bd810904e2e33170bedfe12f90adf943508184be458c8bb", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/releases/download/0.5.3/stardoc-0.5.3.tar.gz", + "https://github.com/bazelbuild/stardoc/releases/download/0.5.3/stardoc-0.5.3.tar.gz", + ], +) + +http_archive( + name = "rules_cc", + urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.8/rules_cc-0.0.8.tar.gz"], + sha256 = "ae46b722a8b8e9b62170f83bfb040cbf12adb732144e689985a66b26410a7d6f", + strip_prefix = "rules_cc-0.0.8", +) + +http_archive( + name = "rules_jvm_external", + strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, + sha256 = RULES_JVM_EXTERNAL_SHA, + url = "https://github.com/bazelbuild/rules_jvm_external/releases/download/%s/rules_jvm_external-%s.tar.gz" % (RULES_JVM_EXTERNAL_TAG, RULES_JVM_EXTERNAL_TAG) +) + +http_archive( + name = "contrib_rules_jvm", + sha256 = "2b710518847279f655a18a51a1629b033e4406f29609e73eb07ecfb6f0138d25", + strip_prefix = "rules_jvm-0.13.0", + url = "https://github.com/bazel-contrib/rules_jvm/releases/download/v0.13.0/rules_jvm-v0.13.0.tar.gz", +) + +http_archive( + name = "apple_rules_lint", + strip_prefix = "apple_rules_lint-0.3.2", + sha256 = "7c3cc45a95e3ef6fbc484a4234789a027e11519f454df63cbb963ac499f103f9", + url = "https://github.com/apple/apple_rules_lint/archive/refs/tags/0.3.2.tar.gz", +) + +http_archive( + name = "buildifier_prebuilt", + sha256 = "41d57362ee8f351b10d9313239bb4cbc6152fdc04aa86e63007a1b843ad33f4d", + strip_prefix = "buildifier-prebuilt-6.1.2.1", + urls = [ + "http://github.com/keith/buildifier-prebuilt/archive/6.1.2.1.tar.gz", + ], +) + +HERMETIC_CC_TOOLCHAIN_VERSION = "v2.0.0" + +http_archive( + name = "hermetic_cc_toolchain", + sha256 = "57f03a6c29793e8add7bd64186fc8066d23b5ffd06fe9cc6b0b8c499914d3a65", + urls = [ + "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION), + "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION), + ], +) + +http_archive( + name = "remote_java_tools", + sha256 = "942b3d88ebd785a5face38049077a1f8dab5a3500f5ebd0c0df090244acc4e16", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_linux", + sha256 = "45dda5441b46385e8ec95d3bc4a04b9337a6ff837bb41bdaa6247d8d36edceae", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_linux-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_linux-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_windows", + sha256 = "0b319cf762e256133f8d0f5f99fd7d35ca4cf00f35e7c0e8aea1b9fcd9cf4fb0", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_windows-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_windows-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_darwin_x86_64", + sha256 = "7e96d0310222e9c27e4c87987978c0c59a0acb97cebdbd838ff652a13abbed77", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_darwin_x86_64-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_darwin_x86_64-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_darwin_arm64", + sha256 = "5fb927b24043dd79010b54be31ec5f18b38ee9dbd9fd03d8353232431a7e2392", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_darwin_arm64-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_darwin_arm64-v12.5.zip", + ], +) + +# -------------------------------------------------------------------------------------------------------------- + +load("//internal:repositories.bzl", "rules_graalvm_repositories") + +rules_graalvm_repositories() + +load("//internal:setup.bzl", "rules_graalvm_workspace", "rules_graalvm_toolchains") + +rules_graalvm_toolchains() + +rules_graalvm_workspace() diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod new file mode 100644 index 00000000..faf8a8c3 --- /dev/null +++ b/WORKSPACE.bzlmod @@ -0,0 +1,120 @@ +workspace(name = "rules_graalvm") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("//internal:config.bzl", "PROTOBUF_VERSION", "PROTOBUF_SHA") + +http_archive( + name = "platforms", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz", + ], + sha256 = "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51", +) + +http_archive( + name = "bazel_skylib", + sha256 = "66ffd9315665bfaafc96b52278f57c7e2dd09f5ede279ea6d39b2be471e7e3aa", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz", + ], +) + +http_archive( + name = "io_bazel_stardoc", + sha256 = "62bd2e60216b7a6fec3ac79341aa201e0956477e7c8f6ccc286f279ad1d96432", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/stardoc/releases/download/0.6.2/stardoc-0.6.2.tar.gz", + "https://github.com/bazelbuild/stardoc/releases/download/0.6.2/stardoc-0.6.2.tar.gz", + ], +) + +http_archive( + name = "com_google_protobuf", + sha256 = PROTOBUF_SHA, + strip_prefix = "protobuf-%s" % PROTOBUF_VERSION, + urls = ["https://github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % PROTOBUF_VERSION], +) + +http_archive( + name = "googleapis", + sha256 = "9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88", + strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922", + urls = [ + "https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip", + ], +) + +HERMETIC_CC_TOOLCHAIN_VERSION = "v2.0.0" + +http_archive( + name = "hermetic_cc_toolchain", + sha256 = "57f03a6c29793e8add7bd64186fc8066d23b5ffd06fe9cc6b0b8c499914d3a65", + urls = [ + "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION), + "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION), + ], +) + +http_archive( + name = "remote_java_tools", + sha256 = "942b3d88ebd785a5face38049077a1f8dab5a3500f5ebd0c0df090244acc4e16", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_linux", + sha256 = "45dda5441b46385e8ec95d3bc4a04b9337a6ff837bb41bdaa6247d8d36edceae", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_linux-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_linux-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_windows", + sha256 = "0b319cf762e256133f8d0f5f99fd7d35ca4cf00f35e7c0e8aea1b9fcd9cf4fb0", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_windows-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_windows-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_darwin_x86_64", + sha256 = "7e96d0310222e9c27e4c87987978c0c59a0acb97cebdbd838ff652a13abbed77", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_darwin_x86_64-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_darwin_x86_64-v12.5.zip", + ], +) + +http_archive( + name = "remote_java_tools_darwin_arm64", + sha256 = "5fb927b24043dd79010b54be31ec5f18b38ee9dbd9fd03d8353232431a7e2392", + urls = [ + "https://mirror.bazel.build/bazel_java_tools/releases/java/v12.5/java_tools_darwin_arm64-v12.5.zip", + "https://github.com/bazelbuild/java_tools/releases/download/java_v12.5/java_tools_darwin_arm64-v12.5.zip", + ], +) + +# -------------------------------------------------------------------------------------------------------------- + +load("//internal:repositories.bzl", "rules_graalvm_repositories") + +rules_graalvm_repositories(maven = False) + +load("//internal:setup.bzl", "rules_graalvm_workspace", "rules_graalvm_toolchains") + +rules_graalvm_toolchains() + +rules_graalvm_workspace(gazelle = False, maven = False, linters = False) + +# Provide a repository hint for Gazelle to inform it that the go package +# github.com/bazelbuild/rules_go is available from io_bazel_rules_go and it +# doesn't need to duplicatively fetch it. +# gazelle:repository go_repository name=io_bazel_rules_go importpath=github.com/bazelbuild/rules_go diff --git a/graal/BUILD b/docs/BUILD.bazel similarity index 100% rename from graal/BUILD rename to docs/BUILD.bazel diff --git a/docs/api/BUILD.bazel b/docs/api/BUILD.bazel new file mode 100644 index 00000000..19d1b6f1 --- /dev/null +++ b/docs/api/BUILD.bazel @@ -0,0 +1,11 @@ +"Aliases to documentation targets for the package API." + +alias( + name = "defs", + actual = "//graalvm:defs_doc", +) + +alias( + name = "repositories", + actual = "//graalvm:repositories_doc", +) diff --git a/docs/api/defs.md b/docs/api/defs.md new file mode 100755 index 00000000..ada0fdef --- /dev/null +++ b/docs/api/defs.md @@ -0,0 +1,36 @@ + + +Target rule definitions, intended for use by rule users. + + + +## native_image + +
+native_image(name, c_compiler_option, data, deps, extra_args, graalvm, include_resources,
+             initialize_at_build_time, initialize_at_run_time, jni_configuration, main_class,
+             native_features, reflection_configuration)
+
+ + + +**ATTRIBUTES** + + +| Name | Description | Type | Mandatory | Default | +| :------------- | :------------- | :------------- | :------------- | :------------- | +| name | A unique name for this target. | Name | required | | +| c_compiler_option | - | List of strings | optional | [] | +| data | - | List of labels | optional | [] | +| deps | - | List of labels | optional | [] | +| extra_args | - | List of strings | optional | [] | +| graalvm | - | Label | optional | @graalvm//:bin/native-image | +| include_resources | - | String | optional | "" | +| initialize_at_build_time | - | List of strings | optional | [] | +| initialize_at_run_time | - | List of strings | optional | [] | +| jni_configuration | - | Label | optional | None | +| main_class | - | String | optional | "" | +| native_features | - | List of strings | optional | [] | +| reflection_configuration | - | Label | optional | None | + + diff --git a/docs/api/repositories.md b/docs/api/repositories.md new file mode 100755 index 00000000..96018516 --- /dev/null +++ b/docs/api/repositories.md @@ -0,0 +1,47 @@ + + +Repository rule definitions, intended for use by rule users. + + + +## graalvm_repository + +
+graalvm_repository(name, java_version, version, distribution, toolchain, toolchain_prefix,
+                   target_compatible_with, components, setup_actions, register_all, kwargs)
+
+ +Declare a GraalVM distribution repository, and optionally a Java toolchain to match. + +To register and use the GraalVM distribution as a toolchain, follow the Toolchains guide in the docs +(`docs/toolchain.md`). + +If `distribution` is set to `oracle`, an Oracle GraalVM installation is downloaded. This variant of +GraalVM may be subject to different license obligations; please consult Oracle's docs for more info. + +Oracle GraalVM distributions are downloaded directly from Oracle, which provides a `latest` download +endpoint. Set `version` to `latest` (the default value) to download the latest available version of +GraalVM matching the provided `java_version`. + +When installing the `latest` version of GraalVM, it is probably ideal to provide your own `sha256`. +In this case, the `rules_graalvm` package does not provide an SHA256 hash otherwise. + + +**PARAMETERS** + + +| Name | Description | Default Value | +| :------------- | :------------- | :------------- | +| name | Name of the VM repository. | none | +| java_version | Java version to use/declare. | none | +| version | Version of the GraalVM release. | "latest" | +| distribution | Which GVM distribution to download - ce, community, or oracle. | "oracle" | +| toolchain | Whether to create a Java toolchain from this GVM installation. | True | +| toolchain_prefix | Name prefix to use for the toolchain; defaults to graalvm. | "graalvm" | +| target_compatible_with | Compatibility tags to apply. | [] | +| components | Components to install in the target GVM installation. | [] | +| setup_actions | GraalVM Updater commands that should be run; pass complete command strings that start with "gu". | [] | +| register_all | Register all GraalVM repositories and use target_compatible_with (experimental). | False | +| kwargs | Passed to the underlying bindist repository rule. | none | + + diff --git a/docs/components.md b/docs/components.md new file mode 100644 index 00000000..538d7c6b --- /dev/null +++ b/docs/components.md @@ -0,0 +1,61 @@ + +## Installing and using GraalVM components + +Some GraalVM distributions make available _components_, which include language implementations, tooling, and other utilities. Your project may need one or more GraalVM components installed in order to build or run correctly. + +Using these rules, you can declare your required components in the `graalvm_repository` rule, and they will be installed using the GraalVM Updater tool (`gu`). + +By default, no components are installed beyond what is present in a given distribution. Newer versions of GraalVM distribute the `native-image` tool and `js` runtime in the base distribution. + +### Installing components + +**In your `WORKSPACE.bazel`:** +```starlark +load("@rules_graalvm//graalvm:repositories.bzl", "graalvm_repository") + +# ... + +graalvm_repository( + name = "graalvm", + version = "20.0.1", + distribution = "oracle", + java_version = "20", + + # This is how you install components + components = [ + "wasm", + "js", + ], +) +``` + +This snippet assumes you've [set up the rules](../README.md). + +> [!IMPORTANT] +> If you declare `components`, make sure to declare the full set you need, including any that may be installed in the base distribution. + + +### After-install actions + +With certain GraalVM components or project configurations, you may need to run post-installation actions with the GraalVM Updater tool (`gu`): + +**In your `WORKSPACE.bazel`:** +```starlark +load("@rules_graalvm//graalvm:repositories.bzl", "graalvm_repository") + +# ... + +graalvm_repository( + name = "graalvm", + version = "20.0.1", + distribution = "oracle", + java_version = "20", + + components = [ + "espresso", + ], + setup_actions = [ + "gu rebuild-images libpolyglot -cp ${JAVA_HOME}/lib/graalvm/lib-javavm.jar", + ], +) +``` diff --git a/docs/modern-bazel.md b/docs/modern-bazel.md new file mode 100644 index 00000000..8db050ff --- /dev/null +++ b/docs/modern-bazel.md @@ -0,0 +1,44 @@ + +## Usage from modern Bazel + +See instructions below for installation and use of `rules_graalvm` on Bazel 6 or newer, via Bazel Modules: + +### Installation in `MODULE.bazel` + +```starlark +bazel_dep(name = "rules_graalvm", version = "") +``` + +**Toolchain registration in `WORKSPACE.bzlmod` (optional):** +```starlark +load("@rules_graalvm//graalvm:repositories.bzl", "graalvm_repository") + +# graalvm_repository(name = "graalvm" ...) + +register_toolchains("@graalvm//:all") +``` + +### Installation in `WORKSPACE.bazel` + +If you don't want to use Bzlmod, you can install in a `WORKSPACE` manually: + +```starlark +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + # ... paste this part from the github releases page ... # +) + +load("@rules_graalvm//graalvm:repositories.bzl", "graalvm_repository") + +graalvm_repository( + name = "graalvm", # anything you want + version = "20.0.1", # exact version of a GraalVM CE or Oracle GVM release + distribution = "oracle", # required for newer GVM releases (`oracle`, `ce`, or `community`) + java_version = "20", # java language version to use/declare +) +``` + +## Use as a toolchain + +See the [toolchains guide](./toolchain.md) for more information. diff --git a/docs/native-image.md b/docs/native-image.md new file mode 100644 index 00000000..b4e6860f --- /dev/null +++ b/docs/native-image.md @@ -0,0 +1,40 @@ + +## Building GraalVM native images with Bazel + +After you [install the rules](./modern-bazel.md) and setup your GraalVM repository, you can easily use it to build a native image using the `native-image` tool, from a standard Bazel `java_library` or `java_binary` target. + +### Native image example + +> [!NOTE] +> This sample is present in the `rules_graalvm` repository at `example/native`. + +**In `Main.java`:** +```java +public class Main { + public static void main(String args[]) { + System.out.println("Hello, GraalVM Native!"); + } +} +``` + +**In `BUILD.bazel`:** +```starlark +load("@rules_java//java:defs.bzl", "java_library") +load("@rules_graalvm//graalvm:defs.bzl", "native_image") + +java_library( + name = "main", + srcs = ["Main.java"], +) + +native_image( + name = "native", + deps = [":main"], + main_class = "Main", +) +``` + +Then, from your terminal: +``` +bazel build //some/package:native +``` diff --git a/docs/toolchain.md b/docs/toolchain.md new file mode 100644 index 00000000..8dcba90a --- /dev/null +++ b/docs/toolchain.md @@ -0,0 +1,59 @@ + +## Using GraalVM as a toolchain with Bazel + +> [!NOTE] +> Bazel toolchains can be hard to use. See the _Troubleshooting_ section for best-effort help. + +[Bazel Toolchains](https://bazel.build/extending/toolchains) is an optional feature which helps Bazel resolve tools on different platforms and in different project contexts. Several Bazel rule sets use toolchains in order to make the underlying tooling customizable for an end-user's goals. + +Java toolchains in Bazel are typically used to select a particular JDK to run against or build against. `rules_graalvm` integrates with Bazel toolchains by default; **if you want to use a downloaded GVM installation as your Java toolchain, follow the directions below.** + +### Toolchain registration + +> [!IMPORTANT] +> Make sure you've [installed and setup the rules](./modern-bazel.md) first. + +After you've installed `rules_graalvm` and declared a `graalvm_repository`, you can register GraalVM as a Java toolchain using the `:all` target at the repository root: + +**In your `WORKSPACE.bazel`:** +```starlark +# ... + +# graalvm_repository(name = "graalvm", ...) + +register_toolchains("@graalvm//:toolchain") +``` + +**Or, in a `bazel.rc`:** +``` +build --extra_toolchains=@graalvm//:toolchain +``` + +### Toolchain selection + +> [!IMPORTANT] +> You need to **register** _and_ **select** a toolchain in order to actually use it. This sample assumes the `graalvm_repository` is named `graalvm`. + +Bazel uses several JDKs throughout the course of a regular build; there is the embedded JDK which runs Bazel itself, then the _tooling_ JDK which is used to build your code, and, finally, there is the _runtime_ JDK which is used to execute JVM bytecode. This is referred to as Bazel's "[JVM sandwich](https://github.com/bazelbuild/bazel/issues/2614)." + +You can select GraalVM as the **tooling toolchain**, the **runtime toolchain**, or **both**: + +#### Assigning GraalVM as the tooling toolchain + +Set **`tool_java_language_version`** to the version matching your GraalVM JDK declared in `graalvm_repository`. + +**In a `bazel.rc`:** +``` +build --tool_java_language_version=20 +build --extra_toolchains=@graalvm//:bootstrap_runtime_toolchain +``` + +#### Assigning GraalVM as the tooling toolchain + +Set **`java_runtime_version`** to the version matching your GraalVM JDK declared in `graalvm_repository`. + +**In a `bazel.rc`:** +``` +build --java_language_version=20 +build --java_runtime_version=graalvm_20 +``` diff --git a/example/BUILD b/example/BUILD deleted file mode 100644 index 453da6a5..00000000 --- a/example/BUILD +++ /dev/null @@ -1,24 +0,0 @@ -load("@rules_graal//graal:graal.bzl", "graal_binary") - -java_library( - name = "main", - #main_class = "Main", - srcs = glob(["Main.java"]), -) - -graal_binary( - name = "main-native", - deps = [":main"], - main_class = "Main", -) - - -graal_binary( - name = "main-native-reflectioncfg", - deps = [":main"], - initialize_at_build_time=["Main"], - reflection_configuration = "reflection.cfg", - main_class = "Main", -) - - diff --git a/example/BUILD.bazel b/example/BUILD.bazel new file mode 100644 index 00000000..e69de29b diff --git a/example/native/BUILD.bazel b/example/native/BUILD.bazel new file mode 100644 index 00000000..0647f9b6 --- /dev/null +++ b/example/native/BUILD.bazel @@ -0,0 +1,33 @@ +load( + "@rules_java//java:defs.bzl", + "java_binary", + "java_library", +) +load( + "@rules_graalvm//graalvm:defs.bzl", + "native_image", +) + +java_library( + name = "java", + srcs = ["Main.java"], +) + +java_binary( + name = "main", + main_class = "Main", + runtime_deps = [ + ":java", + ], +) + +native_image( + name = "main-native", + main_class = "Main", + deps = [":java"], +) + +alias( + name = "native", + actual = "main-native", +) diff --git a/example/Main.java b/example/native/Main.java similarity index 60% rename from example/Main.java rename to example/native/Main.java index dccb13bc..c9824efb 100644 --- a/example/Main.java +++ b/example/native/Main.java @@ -1,7 +1,5 @@ public class Main { - public static void main(String args[]) { - System.out.println("Hello, Stripe"); + System.out.println("Hello, GraalVM!"); } - } \ No newline at end of file diff --git a/example/reflection.cfg b/example/native/reflection.cfg similarity index 100% rename from example/reflection.cfg rename to example/native/reflection.cfg diff --git a/graal/graal_bindist.bzl b/graal/graal_bindist.bzl deleted file mode 100644 index 49f96acc..00000000 --- a/graal/graal_bindist.bzl +++ /dev/null @@ -1,269 +0,0 @@ -_graal_archive_internal_prefixs = { - "darwin-amd64": "graalvm-ce-java{java_version}-{version}/Contents/Home", - "darwin-aarch64": "graalvm-ce-java{java_version}-{version}/Contents/Home", - "linux-amd64": "graalvm-ce-java{java_version}-{version}", -} - -_graal_version_configs = { - "19.0.0": { - "urls": ["https://github.com/oracle/graal/releases/download/vm-{version}/graalvm-ce-{platform}-{version}.tar.gz"], - "sha": { - "8": { - "darwin-amd64": "fc652566e61b9b774c120da1aea0ae3e28f198d55a297524dcc97b9a83525a79", - "linux-amd64": "7ad124cdb19cbaa962f6d2f26d1e3eccfeb93afabbf8e81cb65976519f15730c", - }, - }, - }, - "19.3.1": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], - "sha": { - "8": { - "darwin-amd64": "eba3765174f0279ae2dc57c84fc0eb324da778dbfdcc03c6fa8381fe3728aef9", - "linux-amd64": "815385a1c35a1db54b9b9622059c9e8e5155460f65c3d713e55d3a84222c9194", - }, - "11": { - "darwin-amd64": "b3ea6cf6545332f667b2cc742bbff9949d47e49eecea06334d14f0b69aa1a3f3", - "linux-amd64": "691f0577c75c4ba0fb50916087925e6eb8a5a73de51994a37eee022d1e2c9e7d", - }, - }, - }, - "20.2.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], - "sha": { - "8": { - "darwin-amd64": "a1f524788354cfd2434566f0de972372f4a7743919bae49a9d508f2080385e7b", - "linux-amd64": "60951c774c708caeebd1fa3886c05aa1260d81c7595ede0c9c3e689be7fcc4e8", - }, - "11": { - "darwin-amd64": "e9df2caace6f90fcfbc623c184ef1bbb053de20eb4cf5b002d708c609340ba7a", - "linux-amd64": "5db74b5b8888712d2ac3cd7ae2a8361c2aa801bc94c801f5839351aba5064e29", - }, - }, - }, - "21.0.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], - "sha": { - "8": { - "darwin-amd64": "9192d8370b544c0efd36ef744f5933bd2d694d0cc9cb5e7f53d3b7e58f433b3e", - "linux-amd64": "326c5a9ba2f6a6b28023c1fef9c4c6fb6acf9cd87b0fcb6916e0527633bd01a3", - }, - "11": { - "darwin-amd64": "0e6b9af45d0ba40d8e61b16708361f794e17430f5098760bd03584ebcc950fa9", - "linux-amd64": "4cdb5b9d0142cdaf5565fd20c5cde176d9b7c9dfd278267cab318f64f2923dbc", - }, - }, - }, - "21.3.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], - "sha": { - "11": { - "darwin-amd64": "6c2bf7f6e5fab901e8a2284a0dbec6ce214bde65aa80cfeb90bfef8eabb5f862", - "linux-amd64": "3a1bc8eaf0518c128aaacb987ceb0b0e288776f48af630c11c01fd31122d93fa", - }, - "17": { - "darwin-amd64": "60236506920cc84a07ea7602f4514d05da2c07c7176e0634652f8a9c5ad677aa", - "linux-amd64": "11d8039e0a7a31b799a6f20a0e806e4128730e9a2595a7ffdec1443539d4c3f6", - }, - }, - }, - "22.0.0.2": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], - "sha": { - "11": { - "darwin-amd64": "8280159b8a66c51a839c8079d885928a7f759d5da0632f3af7300df2b63a6323", - "linux-aarch64": "1cc0263d95f642dada4e290dca7f49c0456cefa7b690b67e3e5c159b537b2c58", - "linux-amd64": "bc86083bb7e2778c7e4fe4f55d74790e42255b96f7806a7fefa51d06f3bc7103", - }, - "17": { - "darwin-amd64": "d54af9d1f4d0d351827395a714ed84d2489b023b74a9c13a431cc9d31d1e8f9a", - "linux-aarch64": "c7d78387d2a144944f26773697c1b61d3478a081a1c5e7fc20f47f1f5f3c82c7", - "linux-amd64": "4f743e0ed3d974b7d619ca2ed6014554e8c12e5ebbb38b9bc9e820b182169bd4", - }, - }, - }, - "22.1.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], - "sha": { - "11": { - "darwin-aarch64": "06bc19a0b1e93aa3df5e15c08e97f8cef624cb6070eeae40a69a51ec7fd41152", - "darwin-amd64": "c4c9df94ca47b83b582758b87d39042732ba0193fc63f1ab93f6818005a1fe6b", - "linux-aarch64": "050a4d471247d91935f7f485e92d678f0163e1d6209e26e8fe75d7c924f73e71", - "linux-amd64": "78c628707007bb97b09562932ee16f50beb1c3fa4a36e4311a0465a4a718e683", - }, - "17": { - "darwin-aarch64": "06075cd390bd261721392cd6fd967b1d28c0500d1b5625272ea906038e5cd533", - "darwin-amd64": "b9327fa73531a822d9a27d25980396353869eefbd73fdcef89b4fceb9f529c75", - "linux-aarch64": "05128e361ed44beebc89495faaa504b0b975bf93aa5e512e217b3cf5e42dfada", - "linux-amd64": "f11d46098efbf78465a875c502028767e3de410a31e45d92a9c5cf5046f42aa2", - }, - }, - }, -} - -_graal_native_image_version_configs = { - "19.0.0": { - "urls": ["https://github.com/oracle/graal/releases/download/vm-{version}/native-image-installable-svm-{platform}-{version}.jar"], - "sha": { - "8": { - "darwin-amd64": "4fa035b31cfd3d86d464e9a67b652c69a0cceb88c6b2f2ce629c55ca2113c786", - "linux-amd64": "1c794a3c038f4e6bb90542cf13ba3c6c793dcd193462bf56b8713fd24386e344", - }, - }, - }, - "19.3.1": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], - "sha": { - "8": { - "darwin-amd64": "266d295456dfc588fae52ef2c26cd7e745e6fa0681271e677cad2dd9a1b09461", - "linux-amd64": "3fd2e5b5299c8ce7c939235b4d01df990aeb236f127f98fbf19b588c521793fa", - }, - "11": { - "darwin-amd64": "6bd2bace9773a2ac7ff8182a36f84507678e71f94bf3f0c4646a091100644e13", - "linux-amd64": "fef2e2c71a5408855026e022ae15fda50cb52769aa7d0ec008837f49196ee16a", - }, - }, - }, - "20.2.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], - "sha": { - "8": { - "darwin-amd64": "4852abafe92e13cb6bf655bba4ba36721b93324ccc6777504f34c70094c583fb", - "linux-amd64": "6b5403e27282847acce180f0ae9637c3f26678f27047bbd5dfed92a5bef73ab2", - }, - "11": { - "darwin-amd64": "d60c321d6e680028f37954121eeebff0839a0a49a4436e5b41c636c3dd951de3", - "linux-amd64": "92b429939f12434575e4d586f79c5b686d322f29211d1608ed6055a97a35925c", - }, - }, - }, - "21.0.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], - "sha": { - "8": { - "darwin-amd64": "f006e001d195de80cd71b28518f230815b6c00e8d3762148f4b23c09097debc7", - "linux-amd64": "8f6976b2a9a40d35df50402a3e893af41a6a6bc01301851a91672106d313f842", - }, - "11": { - "darwin-amd64": "68d95999312e96c8cd070a8ba1d9724bc4d4fbe03e29da2c392e021a5f393fb5", - "linux-amd64": "c70b00b4eabcc0140505acab756c394a88be7980634706cce11f53e09658707c", - }, - }, - }, - "21.3.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], - "sha": { - "11": { - "darwin-amd64": "038ac1168b909cfb5e4d6437ee02a5aa8126cbb835aba7a3e6ab72042162e8d5", - "linux-amd64": "8958d4e0cad07340db0cf9e871776809e2f08fe0c93960f728fec75c4a96764f", - }, - "17": { - "darwin-amd64": "80ac09d45f8822413b9f16297da60da196013bbcfbc4bc7721f1257885ebe063", - "linux-amd64": "df488a04b5405c6443c90e94710cd3bd2be9adcb3768f91429aa494168d52440", - }, - }, - }, - "22.0.0.2": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], - "sha": { - "11": { - "darwin-amd64": "03c27de6cce61ee8073e89252212457f3fbac2c0bc9bfa4acbff12176476c176", - "linux-aarch64": "51d41e890a5aabf8e7b9d4f4e0f88206ee70a261f7dbb0315d51770ab8f3009e", - "linux-amd64": "8504a3441f5b28b8fd625f676674a9216f082ae63a4e30d43930c80f9672e71d", - }, - "17": { - "darwin-amd64": "007fa742cd139d447f83d776b6d78e717c9df11d56a61061a5937547c20028b7", - "linux-aarch64": "798947d0a93988929d2b8e3555f7c65225e789124cd99fbc0c3aae5f350175db", - "linux-amd64": "8c25f650d58c2649c97061cb806dfaec9e685d5d2b80afc7cf72fe61d6891831", - }, - }, - }, - "22.1.0": { - "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], - "sha": { - "11": { - "darwin-aarch64": "21f84ccf7b979dccc9091032fe76b5737b38e0092f282107cef75143dadb3bdb", - "darwin-amd64": "e0758687f4bd46f15fcee9b0a5bdd65d702ec81c41d465ee7229d3f4465bcf13", - "linux-aarch64": "12715793b223ce1db7ec7d0a339f0b578a0c9fb6dcc6607044e5af4fd33b25a7", - "linux-amd64": "36e4a2a9a73a19b03883f9e783bc8bde7c214bb0fa4b617379cb81798de425bf", - }, - "17": { - "darwin-aarch64": "beabecdd5b87e7536772d4dfe70abf4c5dd9847e87615464cf309138d21c39af", - "darwin-amd64": "e6bfe208bb28cd1d98da55e00fa705890a7f69286b919947b07d18cc9bb9c270", - "linux-aarch64": "6e10f6953ec8b9509c7a7d0194d57f265cf2a05dcb8f3272a6a8e847bda49cda", - "linux-amd64": "d81eecea15ebbf4f24850860c14104eaf6f8ae74574330e22afac533b8f96738", - }, - }, - }, -} - -def _get_platform(ctx): - res = ctx.execute(["uname", "-p"]) - arch = "amd64" - if res.return_code == 0: - uname = res.stdout.strip() - if uname == "arm": - arch = "arm64" - elif uname == "aarch64": - arch = "aarch64" - - if ctx.os.name == "linux": - return "linux-%s" % arch - elif ctx.os.name == "mac os x": - if arch == "arm64" or arch == "aarch64": - if ctx.attr.version != "22.1.0": - fail( - "GraalVM has `aarch64` distributions for macOS starting with v22.1.0. " + - "Please upgrade or use `amd64`." - ) - return "darwin-aarch64" - return "darwin-amd64" - else: - fail("Unsupported operating system: " + ctx.os.name) - -def _graal_bindist_repository_impl(ctx): - platform = _get_platform(ctx) - version = ctx.attr.version - java_version = ctx.attr.java_version - format_args = { - "version": version, - "platform": platform, - "java_version": java_version, - } - - #Download graal - config = _graal_version_configs[version] - sha = config["sha"][java_version][platform] - urls = [url.format(**format_args) for url in config["urls"]] - archive_internal_prefix = _graal_archive_internal_prefixs[platform].format(**format_args) - - ctx.download_and_extract( - url = urls, - sha256 = sha, - stripPrefix = archive_internal_prefix, - ) - - # download native image - native_image_config = _graal_native_image_version_configs[version] - native_image_sha = native_image_config["sha"][java_version][platform] - native_image_urls = [url.format(**format_args) for url in native_image_config["urls"]] - - ctx.download( - url = native_image_urls, - sha256 = native_image_sha, - output = "native-image-installer.jar", - ) - - exec_result = ctx.execute(["bin/gu", "install", "--local-file", "native-image-installer.jar"], quiet = False) - if exec_result.return_code != 0: - fail("Unable to install native image:\n{stdout}\n{stderr}".format(stdout = exec_result.stdout, stderr = exec_result.stderr)) - - ctx.file("BUILD", """exports_files(glob(["**/*"]))""") - ctx.file("WORKSPACE", "workspace(name = \"{name}\")".format(name = ctx.name)) - -graal_bindist_repository = repository_rule( - attrs = { - "version": attr.string(mandatory = True), - "java_version": attr.string(mandatory = True), - }, - implementation = _graal_bindist_repository_impl, -) diff --git a/graalvm/BUILD.bazel b/graalvm/BUILD.bazel new file mode 100644 index 00000000..14ab6e52 --- /dev/null +++ b/graalvm/BUILD.bazel @@ -0,0 +1,57 @@ +load( + "@bazel_skylib//:bzl_library.bzl", + "bzl_library", +) +load( + "@io_bazel_stardoc//stardoc:stardoc.bzl", + "stardoc", +) + +exports_files([ + "defs.bzl", + "repositories.bzl", +]) + +bzl_library( + name = "defs", + srcs = [ + "defs.bzl", + ], + deps = [ + "//graalvm/nativeimage:rules", + "//internal:tooling", + ], +) + +bzl_library( + name = "repositories", + srcs = [ + "repositories.bzl", + ], + deps = [ + "//internal:bindist", + "//internal:tooling", + ], +) + +stardoc( + name = "defs_doc", + out = "defs.md", + input = "defs.bzl", + visibility = ["//docs:__subpackages__"], + deps = [ + "//graalvm/nativeimage:rules", + "//internal:tooling", + ], +) + +stardoc( + name = "repositories_doc", + out = "repositories.md", + input = "repositories.bzl", + visibility = ["//docs:__subpackages__"], + deps = [ + "//internal:bindist", + "//internal:tooling", + ], +) diff --git a/graalvm/artifacts/BUILD.bazel b/graalvm/artifacts/BUILD.bazel new file mode 100644 index 00000000..11cb93a6 --- /dev/null +++ b/graalvm/artifacts/BUILD.bazel @@ -0,0 +1 @@ +# Nothing at this time. diff --git a/graalvm/defs.bzl b/graalvm/defs.bzl new file mode 100644 index 00000000..0bd2006a --- /dev/null +++ b/graalvm/defs.bzl @@ -0,0 +1,10 @@ +"Target rule definitions, intended for use by rule users." + +load( + "//graalvm/nativeimage:rules.bzl", + _native_image = "native_image", +) + + +## Exports +native_image = _native_image diff --git a/graalvm/nativeimage/BUILD.bazel b/graalvm/nativeimage/BUILD.bazel new file mode 100644 index 00000000..749d5a82 --- /dev/null +++ b/graalvm/nativeimage/BUILD.bazel @@ -0,0 +1,15 @@ +load( + "@bazel_skylib//:bzl_library.bzl", + "bzl_library", +) + +exports_files([ + "rules.bzl", +]) + +bzl_library( + name = "rules", + srcs = ["rules.bzl"], + visibility = ["//graalvm:__subpackages__"], + deps = ["//internal:tooling"], +) diff --git a/graal/graal.bzl b/graalvm/nativeimage/rules.bzl similarity index 89% rename from graal/graal.bzl rename to graalvm/nativeimage/rules.bzl index c795aa0f..5d2d3ddf 100644 --- a/graal/graal.bzl +++ b/graalvm/nativeimage/rules.bzl @@ -1,18 +1,19 @@ -load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") +"Rules for building native binaries using the GraalVM `native-image` tool." + +load( + "@bazel_tools//tools/cpp:toolchain_utils.bzl", + "find_cpp_toolchain", +) load( "@bazel_tools//tools/build_defs/cc:action_names.bzl", - "ASSEMBLE_ACTION_NAME", - "CPP_COMPILE_ACTION_NAME", "CPP_LINK_DYNAMIC_LIBRARY_ACTION_NAME", "CPP_LINK_EXECUTABLE_ACTION_NAME", "CPP_LINK_STATIC_LIBRARY_ACTION_NAME", "C_COMPILE_ACTION_NAME", - "OBJCPP_COMPILE_ACTION_NAME", - "OBJC_COMPILE_ACTION_NAME", ) def _graal_binary_implementation(ctx): - graal_attr = ctx.attr._graal + graal_attr = ctx.attr.graalvm graal_inputs, _, _ = ctx.resolve_command(tools = [graal_attr]) graal = graal_inputs[0] @@ -67,21 +68,20 @@ def _graal_binary_implementation(ctx): binary = ctx.actions.declare_file("%s-bin" % ctx.attr.name) args = ctx.actions.args() - args.add("--no-server") args.add("--no-fallback") args.add("-cp", ":".join([f.path for f in classpath_depset.to_list()])) args.add("-H:-CheckToolchain") args.add("-H:Class=%s" % ctx.attr.main_class) args.add("-H:Name=%s" % binary.path) args.add("-H:+ReportExceptionStackTraces") - for arg in ctx.attr.graal_extra_args: + for arg in ctx.attr.extra_args: args.add(arg) args.add_joined(ctx.attr.c_compiler_option, join_with = " ", format_joined="-H:CCompilerOption=%s") - if len(ctx.attr.native_image_features) > 0: - args.add("-H:Features={entries}".format(entries=",".join(ctx.attr.native_image_features))) + if len(ctx.attr.native_features) > 0: + args.add("-H:Features={entries}".format(entries=",".join(ctx.attr.native_features))) if len(ctx.attr.initialize_at_build_time) > 0: args.add("--initialize-at-build-time={entries}".format(entries=",".join(ctx.attr.initialize_at_build_time))) @@ -119,7 +119,7 @@ def _graal_binary_implementation(ctx): ), )] -graal_binary = rule( +native_image = rule( implementation = _graal_binary_implementation, attrs = { "deps": attr.label_list(providers = [[JavaInfo]]), @@ -129,10 +129,10 @@ graal_binary = rule( "include_resources": attr.string(), "initialize_at_build_time": attr.string_list(), "initialize_at_run_time": attr.string_list(), - "native_image_features": attr.string_list(), - "_graal": attr.label( - cfg = "host", - default = "@graal//:bin/native-image", + "native_features": attr.string_list(), + "graalvm": attr.label( + cfg = "exec", + default = "@graalvm//:bin/native-image", allow_files = True, executable = True, ), @@ -140,7 +140,7 @@ graal_binary = rule( default = Label("@bazel_tools//tools/cpp:current_cc_toolchain") ), "data": attr.label_list(allow_files = True), - "graal_extra_args": attr.string_list(), + "extra_args": attr.string_list(), "c_compiler_option": attr.string_list() }, executable = True, diff --git a/graalvm/repositories.bzl b/graalvm/repositories.bzl new file mode 100644 index 00000000..1c0eb54b --- /dev/null +++ b/graalvm/repositories.bzl @@ -0,0 +1,10 @@ +"Repository rule definitions, intended for use by rule users." + +load( + "//internal:graalvm_bindist.bzl", + _graalvm_repository = "graalvm_repository", +) + + +## Exports +graalvm_repository = _graalvm_repository diff --git a/graalvm/toolchain/BUILD.bazel b/graalvm/toolchain/BUILD.bazel new file mode 100644 index 00000000..f82bf11b --- /dev/null +++ b/graalvm/toolchain/BUILD.bazel @@ -0,0 +1,13 @@ +"Defines toolchain types for GraalVM." + +# Toolchain type: `graalvm` +# +# Describes a regular GraalVM toolchain; this type is satisfied by either GraalVM Community Edition +# or a distribution of Oracle GraalVM. +toolchain_type(name = "graalvm") + +# Toolchain type: `graalvm_native_image` +# +# Describes a `native-image` binary made available as part of a GraalVM installation of any type. +# This tool may be installed via the GraalVM Updater or provided otherwise. +toolchain_type(name = "graalvm_native_image") diff --git a/internal/BUILD.bazel b/internal/BUILD.bazel new file mode 100644 index 00000000..df5e6262 --- /dev/null +++ b/internal/BUILD.bazel @@ -0,0 +1,50 @@ +load( + "@bazel_skylib//:bzl_library.bzl", + "bzl_library", +) + +exports_files([ + "config.bzl", + "graalvm_bindist.bzl", + "maven.bzl", +]) + +bzl_library( + name = "tooling", + srcs = [ + "@bazel_tools//tools:bzl_srcs", + ], + visibility = ["//graalvm:__subpackages__"], +) + +bzl_library( + name = "java_toolchains", + srcs = [ + "@rules_java//toolchains:bzl_srcs", + ], +) + +bzl_library( + name = "config", + srcs = ["config.bzl"], +) + +bzl_library( + name = "bindist", + srcs = ["graalvm_bindist.bzl"], + visibility = ["//graalvm:__subpackages__"], + deps = [ + ":java_toolchains", + ":tooling", + ], +) + +bzl_library( + name = "maven", + srcs = ["maven.bzl"], + visibility = ["//graalvm:__subpackages__"], + deps = [ + ":config", + ":tooling", + ], +) diff --git a/internal/config.bzl b/internal/config.bzl new file mode 100644 index 00000000..2a3d6d20 --- /dev/null +++ b/internal/config.bzl @@ -0,0 +1,38 @@ +"Defines configuration and pinned versions for the GraalVM Rules project." + +GRAALVM_VERSION = "20.0.1" + +GRAALVM_SDK_VERSION = "23.0.1" + +GRAALVM_DISTRIBUTION = "oracle" + +GRAALVM_JAVA_VERSION = "20" + +GRAALVM_SHA = None + +RULES_JVM_EXTERNAL_TAG = "5.3" + +RULES_JVM_EXTERNAL_SHA ="d31e369b854322ca5098ea12c69d7175ded971435e55c18dd9dd5f29cc5249ac" + +PROTOBUF_VERSION = "3.20.1" + +PROTOBUF_SHA = "8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930" + +GO_VERSION = "1.20.5" + +MAVEN_ARTIFACTS = [ + "org.graalvm.nativeimage:svm:%s" % GRAALVM_SDK_VERSION, + "org.graalvm.sdk:graal-sdk:%s" % GRAALVM_SDK_VERSION, +] + +MAVEN_REPOSITORIES = [ + "https://maven.pkg.st", + "https://maven.google.com", + "https://repo1.maven.org/maven2", +] + +GRAALVM_COMPONENTS = [ + "js", + "native-image", + "wasm", +] diff --git a/internal/graalvm_bindist.bzl b/internal/graalvm_bindist.bzl new file mode 100644 index 00000000..6530210b --- /dev/null +++ b/internal/graalvm_bindist.bzl @@ -0,0 +1,635 @@ +"Describes binary distribution coordinates for GraalVM releases." + +load( + "@rules_java//toolchains:jdk_build_file.bzl", + _JDK_BUILD_TEMPLATE = "JDK_BUILD_TEMPLATE", +) + +_graal_archive_internal_prefixes = { + "darwin-amd64": "graalvm-ce-java{java_version}-{version}/Contents/Home", + "linux-amd64": "graalvm-ce-java{java_version}-{version}", +} + +_graal_v2_archive_internal_prefixes = { + "macos": "Contents/Home", + "linux": "", + "windows": "" +} + +_graal_version_configs = { + "19.0.0": { + "urls": ["https://github.com/oracle/graal/releases/download/vm-{version}/graalvm-ce-{platform}-{version}.tar.gz"], + "sha256": { + "8": { + "darwin-amd64": "fc652566e61b9b774c120da1aea0ae3e28f198d55a297524dcc97b9a83525a79", + "linux-amd64": "7ad124cdb19cbaa962f6d2f26d1e3eccfeb93afabbf8e81cb65976519f15730c", + }, + }, + }, + "19.3.1": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha256": { + "8": { + "darwin-amd64": "eba3765174f0279ae2dc57c84fc0eb324da778dbfdcc03c6fa8381fe3728aef9", + "linux-amd64": "815385a1c35a1db54b9b9622059c9e8e5155460f65c3d713e55d3a84222c9194", + }, + "11": { + "darwin-amd64": "b3ea6cf6545332f667b2cc742bbff9949d47e49eecea06334d14f0b69aa1a3f3", + "linux-amd64": "691f0577c75c4ba0fb50916087925e6eb8a5a73de51994a37eee022d1e2c9e7d", + }, + }, + }, + "20.2.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha256": { + "8": { + "darwin-amd64": "a1f524788354cfd2434566f0de972372f4a7743919bae49a9d508f2080385e7b", + "linux-amd64": "60951c774c708caeebd1fa3886c05aa1260d81c7595ede0c9c3e689be7fcc4e8", + }, + "11": { + "darwin-amd64": "e9df2caace6f90fcfbc623c184ef1bbb053de20eb4cf5b002d708c609340ba7a", + "linux-amd64": "5db74b5b8888712d2ac3cd7ae2a8361c2aa801bc94c801f5839351aba5064e29", + }, + }, + }, + "21.0.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha256": { + "8": { + "darwin-amd64": "9192d8370b544c0efd36ef744f5933bd2d694d0cc9cb5e7f53d3b7e58f433b3e", + "linux-amd64": "326c5a9ba2f6a6b28023c1fef9c4c6fb6acf9cd87b0fcb6916e0527633bd01a3", + }, + "11": { + "darwin-amd64": "0e6b9af45d0ba40d8e61b16708361f794e17430f5098760bd03584ebcc950fa9", + "linux-amd64": "4cdb5b9d0142cdaf5565fd20c5cde176d9b7c9dfd278267cab318f64f2923dbc", + }, + }, + }, + "21.3.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha256": { + "11": { + "darwin-amd64": "6c2bf7f6e5fab901e8a2284a0dbec6ce214bde65aa80cfeb90bfef8eabb5f862", + "linux-amd64": "3a1bc8eaf0518c128aaacb987ceb0b0e288776f48af630c11c01fd31122d93fa", + }, + "17": { + "darwin-amd64": "60236506920cc84a07ea7602f4514d05da2c07c7176e0634652f8a9c5ad677aa", + "linux-amd64": "11d8039e0a7a31b799a6f20a0e806e4128730e9a2595a7ffdec1443539d4c3f6", + } + }, + }, + "22.0.0.2": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha": { + "11": { + "darwin-amd64": "8280159b8a66c51a839c8079d885928a7f759d5da0632f3af7300df2b63a6323", + "linux-aarch64": "1cc0263d95f642dada4e290dca7f49c0456cefa7b690b67e3e5c159b537b2c58", + "linux-amd64": "bc86083bb7e2778c7e4fe4f55d74790e42255b96f7806a7fefa51d06f3bc7103", + }, + "17": { + "darwin-amd64": "d54af9d1f4d0d351827395a714ed84d2489b023b74a9c13a431cc9d31d1e8f9a", + "linux-aarch64": "c7d78387d2a144944f26773697c1b61d3478a081a1c5e7fc20f47f1f5f3c82c7", + "linux-amd64": "4f743e0ed3d974b7d619ca2ed6014554e8c12e5ebbb38b9bc9e820b182169bd4", + }, + }, + }, + "22.1.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha": { + "11": { + "darwin-aarch64": "06bc19a0b1e93aa3df5e15c08e97f8cef624cb6070eeae40a69a51ec7fd41152", + "darwin-amd64": "c4c9df94ca47b83b582758b87d39042732ba0193fc63f1ab93f6818005a1fe6b", + "linux-aarch64": "050a4d471247d91935f7f485e92d678f0163e1d6209e26e8fe75d7c924f73e71", + "linux-amd64": "78c628707007bb97b09562932ee16f50beb1c3fa4a36e4311a0465a4a718e683", + }, + "17": { + "darwin-aarch64": "06075cd390bd261721392cd6fd967b1d28c0500d1b5625272ea906038e5cd533", + "darwin-amd64": "b9327fa73531a822d9a27d25980396353869eefbd73fdcef89b4fceb9f529c75", + "linux-aarch64": "05128e361ed44beebc89495faaa504b0b975bf93aa5e512e217b3cf5e42dfada", + "linux-amd64": "f11d46098efbf78465a875c502028767e3de410a31e45d92a9c5cf5046f42aa2", + }, + }, + }, + "ce-22.3.2": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/graalvm-ce-java{java_version}-{platform}-{version}.tar.gz"], + "sha256": { + "11": { + "macos-x64": "da3c52cc68ce0fb4dcc27dba3c59beadafb7588fec9e9d2812f5bc7c7d00ab63", + "linux-x64": "0e638d2b7406fabc15a1079fc65431a4f33f6f754da77e4073de8433b40e7c4a", + "linux-aarch64": "506c99fef656653ccbc57facb9f200303bfcc21ea29679e7391046d0990493da", + "windows-x64": "ce02ce51f3339895cfeef5afe5e6caf6a61a165534a4995981de837f4da2e3c6" + }, + "17": { + "macos-x64": "470d538e34dc168255ee8ceadca74aab4b028ec6c699c4bd8e0226b0a7d3f155", + "linux-x64": "e5a5868c9b498643fadebfba2040e4d9a19a13ea58ec77cec8d64ab6ee691d1e", + "windows-x64": "23fcc0ef9d245fc087d2bcefb321d2ef13a87dd10bfc04b2a98c55db7b401732" + } + }, + }, + "oracle-17.0.7": { + "urls": ["https://download.oracle.com/graalvm/{java_version}/archive/graalvm-jdk-{version}_{platform}_bin.tar.gz"], + "prefix": { + "macos": "graalvm-jdk-17.0.8+9.1", + "linux": "graalvm-jdk-17.0.8+9.1", + "windows": "graalvm-jdk-17.0.8+9.1" + }, + "sha256": { + "macos-x64": "325c1c5adce1e8b569e87f1e4dffe852f73e7c25e720ea15977f2ca1d7dba1bb", + "macos-aarch64": "c73d2917c1b681679d90a7e3851b553c328e4028137e19adb301040fe0d43cfd", + "linux-x64": "2d6696aa209daa098c51fefc51906aa7bf0dbe28dcc560ef738328352564181b", + "linux-aarch64": "10cb0b61571befb20bf7c11ac4e10ff4e4801065a64ae425b39f34d401e352b1", + "windows-x64": "ea90259f08c7e358bed62c2b48d68d295aa7be38ab3cb922d74bab284e717f64" + } + }, + "oracle-20.0.1": { + "urls": ["https://download.oracle.com/graalvm/{java_version}/archive/graalvm-jdk-{version}_{platform}_bin.tar.gz"], + "prefix": { + "macos": "graalvm-jdk-20.0.1+9.1", + "linux": "graalvm-jdk-20.0.1+9.1", + "windows": "graalvm-jdk-20.0.2+9.1" + }, + "sha256": { + "macos-x64": "72c74c3702437824cba3db3435897cce3643e9443acac59f6cfd43f9444b1004", + "macos-aarch64": "b94877df825ccefbe8b6751e087d54aa9b8129f9d2919d29ea18e00900392da1", + "linux-x64": "0aef42ae97bc98acbd11dce81018a7916250fced6ee9f95a934816813e48e4f4", + "linux-aarch64": "890596363a864bdbe55c6a9678a87384e62660056b6951c385cceaae4807fbb8", + "windows-x64": "3ec83085b54a8de7d0c0ca893d225718cf6ff514f406af6d31a615da63ae9019" + } + }, + "oracle-latest": { + "urls": ["https://download.oracle.com/graalvm/{java_version}/latest/graalvm-jdk-{java_version}_{platform}_bin.tar.gz"], + "prefix": { + "macos": "graalvm-jdk-{version}", + "linux": "graalvm-jdk-{version}", + "windows": "graalvm-jdk-{version}", + }, + "sha256": { + "macos-x64": None, + "macos-aarch64": None, + "linux-x64": None, + "linux-aarch64": None, + "windows-x64": None, + } + } +} + +_graal_native_image_version_configs = { + "19.0.0": { + "urls": ["https://github.com/oracle/graal/releases/download/vm-{version}/native-image-installable-svm-{platform}-{version}.jar"], + "sha256": { + "8": { + "darwin-amd64": "4fa035b31cfd3d86d464e9a67b652c69a0cceb88c6b2f2ce629c55ca2113c786", + "linux-amd64": "1c794a3c038f4e6bb90542cf13ba3c6c793dcd193462bf56b8713fd24386e344", + }, + }, + }, + "19.3.1": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha256": { + "8": { + "darwin-amd64": "266d295456dfc588fae52ef2c26cd7e745e6fa0681271e677cad2dd9a1b09461", + "linux-amd64": "3fd2e5b5299c8ce7c939235b4d01df990aeb236f127f98fbf19b588c521793fa", + }, + "11": { + "darwin-amd64": "6bd2bace9773a2ac7ff8182a36f84507678e71f94bf3f0c4646a091100644e13", + "linux-amd64": "fef2e2c71a5408855026e022ae15fda50cb52769aa7d0ec008837f49196ee16a", + }, + }, + }, + "20.2.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha256": { + "8": { + "darwin-amd64": "4852abafe92e13cb6bf655bba4ba36721b93324ccc6777504f34c70094c583fb", + "linux-amd64": "6b5403e27282847acce180f0ae9637c3f26678f27047bbd5dfed92a5bef73ab2", + }, + "11": { + "darwin-amd64": "d60c321d6e680028f37954121eeebff0839a0a49a4436e5b41c636c3dd951de3", + "linux-amd64": "92b429939f12434575e4d586f79c5b686d322f29211d1608ed6055a97a35925c", + }, + }, + }, + "21.0.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha256": { + "8": { + "darwin-amd64": "f006e001d195de80cd71b28518f230815b6c00e8d3762148f4b23c09097debc7", + "linux-amd64": "8f6976b2a9a40d35df50402a3e893af41a6a6bc01301851a91672106d313f842", + }, + "11": { + "darwin-amd64": "68d95999312e96c8cd070a8ba1d9724bc4d4fbe03e29da2c392e021a5f393fb5", + "linux-amd64": "c70b00b4eabcc0140505acab756c394a88be7980634706cce11f53e09658707c", + }, + }, + }, + "21.3.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha256": { + "11": { + "darwin-amd64": "038ac1168b909cfb5e4d6437ee02a5aa8126cbb835aba7a3e6ab72042162e8d5", + "linux-amd64": "8958d4e0cad07340db0cf9e871776809e2f08fe0c93960f728fec75c4a96764f", + }, + "17": { + "darwin-amd64": "80ac09d45f8822413b9f16297da60da196013bbcfbc4bc7721f1257885ebe063", + "linux-amd64": "df488a04b5405c6443c90e94710cd3bd2be9adcb3768f91429aa494168d52440", + } + }, + }, + "22.0.0.2": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha": { + "11": { + "darwin-amd64": "03c27de6cce61ee8073e89252212457f3fbac2c0bc9bfa4acbff12176476c176", + "linux-aarch64": "51d41e890a5aabf8e7b9d4f4e0f88206ee70a261f7dbb0315d51770ab8f3009e", + "linux-amd64": "8504a3441f5b28b8fd625f676674a9216f082ae63a4e30d43930c80f9672e71d", + }, + "17": { + "darwin-amd64": "007fa742cd139d447f83d776b6d78e717c9df11d56a61061a5937547c20028b7", + "linux-aarch64": "798947d0a93988929d2b8e3555f7c65225e789124cd99fbc0c3aae5f350175db", + "linux-amd64": "8c25f650d58c2649c97061cb806dfaec9e685d5d2b80afc7cf72fe61d6891831", + }, + }, + }, + "22.1.0": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha": { + "11": { + "darwin-aarch64": "21f84ccf7b979dccc9091032fe76b5737b38e0092f282107cef75143dadb3bdb", + "darwin-amd64": "e0758687f4bd46f15fcee9b0a5bdd65d702ec81c41d465ee7229d3f4465bcf13", + "linux-aarch64": "12715793b223ce1db7ec7d0a339f0b578a0c9fb6dcc6607044e5af4fd33b25a7", + "linux-amd64": "36e4a2a9a73a19b03883f9e783bc8bde7c214bb0fa4b617379cb81798de425bf", + }, + "17": { + "darwin-aarch64": "beabecdd5b87e7536772d4dfe70abf4c5dd9847e87615464cf309138d21c39af", + "darwin-amd64": "e6bfe208bb28cd1d98da55e00fa705890a7f69286b919947b07d18cc9bb9c270", + "linux-aarch64": "6e10f6953ec8b9509c7a7d0194d57f265cf2a05dcb8f3272a6a8e847bda49cda", + "linux-amd64": "d81eecea15ebbf4f24850860c14104eaf6f8ae74574330e22afac533b8f96738", + }, + }, + }, + "22.3.2": { + "urls": ["https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-{version}/native-image-installable-svm-java{java_version}-{platform}-{version}.jar"], + "sha256": { + "11": { + "darwin-amd64": "ae542383b033576e26d0431b0b62b4f7c048fee3b209dad2a257c4ae6345f1fb", + "linux-amd64": "7093522c446e16e7d3db81fbec858ef487709d6f58fe1ee3b654676629d786aa", + "linux-aarch64": "6594b5b5558542cd3f30f235967209809924ea2d3fbb75e9a43db7035370416b", + "windows-amd64": "b6be28b7841a5e1e7221c4dd96e5cd6dfcf5d99152564e08e43f02b4b891982c" + }, + "17": { + "darwin-amd64": "f3325ba7fbbcb865c3cc38ee531398482344fae2dd364073391568b0e5b0a77a", + "linux-amd64": "c70dedcf87f4aad917a5e35a972e7b1bd33f91d4eec35c4dfa4cb4123ad06a2a", + "linux-aarch64": "20f69183baeabc3270d056f3caa57bdccb3b0ea130e8773725130f2e60184563", + "windows-amd64": "b6be28b7841a5e1e7221c4dd96e5cd6dfcf5d99152564e08e43f02b4b891982c" + } + }, + } +} + +def _get_platform(ctx, newdist): + arch_labels = { + "x86_64": "x64", + "amd64": "x64", + "aarch64": "aarch64", + } + if not newdist: + if ctx.os.name == "linux": + return "linux-amd64" + elif ctx.os.name == "mac os x": + return "darwin-amd64" + else: + fail("Unsupported operating system: " + ctx.os.name) + else: + if ctx.os.name == "linux": + return ("linux-%s" % (arch_labels[ctx.os.arch] or ctx.os.arch), "linux") + elif ctx.os.name == "mac os x": + return ("macos-%s" % (arch_labels[ctx.os.arch] or ctx.os.arch), "macos") + elif ctx.os.name == "windows": + return ("windows-%s" % (arch_labels[ctx.os.arch] or ctx.os.arch), "windows") + else: + fail("Unsupported operating system: " + ctx.os.name) + +def _check_version(version, java_version, newdist): + java_version_numeric = int(java_version) + gvm_version_major = None + + if version != "latest": + gvm_version_major = int(version.split(".")[0]) + + if newdist: + # rule 1: java less than 17 is not supported in the new distribution + if java_version_numeric < 17: fail("Modern GraalVM distribution not available for Java version: '%s'" % java_version) + + else: + if gvm_version_major and gvm_version_major > 22: fail("Legacy GraalVM distributions not available at version '%s'" % version) + +def _toolchain_config_impl(ctx): + ctx.file("WORKSPACE", "workspace(name = \"{name}\")\n".format(name = ctx.name)) + ctx.file("BUILD.bazel", ctx.attr.build_file) + +def _graal_postinstall_actions(ctx): + if ctx.attr.setup_actions and len(ctx.attr.setup_actions) > 0: + for action in ctx.attr.setup_actions: + if not action.startsWith("gu "): + fail("GraalVM setup action did not start with 'gu'. Please only run GraalVM updater commands.") + + action_cmd = action.replace("gu ", "").split(" ") + exec_result = ctx.execute(["bin/gu"] + action_cmd, quiet = False) + if exec_result.return_code != 0: + fail("Unable to run GraalVM setup action '{cmd}':\n{stdout}\n{stderr}".format( + cmd = action, + stdout = exec_result.stdout, + stderr = exec_result.stderr + )) + +def _graal_bindist_repository_impl(ctx): + if ctx.attr.distribution == None: + platform = _get_platform(ctx, False) + version = ctx.attr.version + java_version = ctx.attr.java_version + format_args = { + "version": version, + "platform": platform, + "java_version": java_version, + } + + _check_version(ctx.attr.version, ctx.attr.java_version, False) + + # download graal + config = _graal_version_configs[version] + sha = config["sha256"][java_version][platform] + urls = [url.format(**format_args) for url in config["urls"]] + archive_internal_prefix = _graal_archive_internal_prefixes[platform].format(**format_args) + + ctx.download_and_extract( + url = urls, + sha256 = sha, + stripPrefix = archive_internal_prefix, + ) + + # download native image + native_image_config = _graal_native_image_version_configs[version] + native_image_sha = native_image_config["sha256"][java_version][platform] + native_image_urls = [url.format(**format_args) for url in native_image_config["urls"]] + + ctx.download( + url = native_image_urls, + sha256 = native_image_sha, + output = "native-image-installer.jar", + ) + + exec_result = ctx.execute(["bin/gu", "install", "--local-file", "native-image-installer.jar"], quiet = False) + if exec_result.return_code != 0: + fail("Unable to install native image:\n{stdout}\n{stderr}".format(stdout = exec_result.stdout, stderr = exec_result.stderr)) + + ctx.file("BUILD", """exports_files(glob(["**/*"]))""") + ctx.file("WORKSPACE", "workspace(name = \"{name}\")".format(name = ctx.name)) + _graal_postinstall_actions(ctx) + + else: + platform, os = _get_platform(ctx, True) + version = ctx.attr.version + distribution = ctx.attr.distribution + java_version = ctx.attr.java_version + + # new gvm distribution check + _check_version(ctx.attr.version, ctx.attr.java_version, True) + ctx.report_progress("Downloading GraalVM") + + dist_names = { + "ce": "ce", + "community": "ce", + "oracle": "oracle", + "gvm": "oracle", + } + dist_name = dist_names[ctx.attr.distribution] + if not dist_name: + fail("Cannot find distribution name for GraalVM: " + ctx.attr.distribution) + + # resolve & download vm + dist_tag = "{dist}-{version}".format(dist = dist_name, version = ctx.attr.version) + version = ctx.attr.version + java_version = ctx.attr.java_version + format_args = { + "version": version, + "platform": platform, + "java_version": java_version, + } + + # download graal + config = _graal_version_configs[dist_tag] + if platform not in config["sha256"]: + fail("Platform %s not supported at GraalVM version '%s' (distribution '%s'). Available: %s." % ( + platform, version, distribution, ", ".join(config["sha256"].keys()) + )) + + sha = None + if platform in config["sha256"]: + sha = config["sha256"][platform] + elif ctx.attr.sha256: + sha = ctx.attr.sha256 + + urls = [url.format(**format_args) for url in config["urls"]] + prefix = config["prefix"][os] + archive_internal_prefix = _graal_v2_archive_internal_prefixes[os].format(**format_args) + effective_prefix = "%s/%s" % (prefix, archive_internal_prefix) + + ctx.download_and_extract( + url = urls, + sha256 = sha or ctx.attr.sha256, + stripPrefix = effective_prefix, + ) + + if ctx.attr.components and len(ctx.attr.components) > 0: + ctx.report_progress("Downloading GraalVM components") + exec_result = ctx.execute(["bin/gu", "install"] + ctx.attr.components, quiet = False) + if exec_result.return_code != 0: + fail("Unable to install GraalVM components:\n{stdout}\n{stderr}".format(stdout = exec_result.stdout, stderr = exec_result.stderr)) + + toolchain_aliases_template = """ +alias( + name = "toolchain", + actual = "@{repo}//:toolchain", + visibility = ["//visibility:public"], +) +alias( + name = "bootstrap_runtime_toolchain", + actual = "@{repo}//:bootstrap_runtime_toolchain", + visibility = ["//visibility:public"], +) +alias( + name = "toolchain_gvm", + actual = "@{repo}//:gvm", + visibility = ["//visibility:public"], +) +alias( + name = "toolchain_native_image", + actual = "@{repo}//:native_image", + visibility = ["//visibility:public"], +) + """.format( + repo = ctx.attr.toolchain_config + ) + + ctx.file("BUILD.bazel", """ +exports_files(glob(["**/*"])) + +%s +%s +""" % ( + ctx.attr.enable_toolchain and toolchain_aliases_template or "", + _JDK_BUILD_TEMPLATE.format(RUNTIME_VERSION = java_version)), + ) + + ctx.file("WORKSPACE.bazel", """ +workspace(name = \"{name}\") +""".format(name = ctx.name)) + + _graal_postinstall_actions(ctx) + # Done. + +_graalvm_bindist_repository = repository_rule( + attrs = { + "version": attr.string(mandatory = True), + "java_version": attr.string(mandatory = True), + "distribution": attr.string(mandatory = False), + "toolchain_prefix": attr.string(mandatory = False), + "components": attr.string_list(mandatory = False), + "setup_actions": attr.string_list(mandatory = False), + "enable_toolchain": attr.bool(mandatory = False), + "toolchain_config": attr.string(mandatory = True), + "sha256": attr.string(mandatory = False), + }, + implementation = _graal_bindist_repository_impl, +) + +_toolchain_config = repository_rule( + local = True, + implementation = _toolchain_config_impl, + attrs = { + "build_file": attr.string(), + }, +) + +def graalvm_repository( + name, + java_version, + version = "latest", + distribution = "oracle", + toolchain = True, + toolchain_prefix = "graalvm", + target_compatible_with = [], + components = [], + setup_actions = [], + register_all = False, + **kwargs): + + """Declare a GraalVM distribution repository, and optionally a Java toolchain to match. + + To register and use the GraalVM distribution as a toolchain, follow the Toolchains guide in the docs + (`docs/toolchain.md`). + + If `distribution` is set to `oracle`, an Oracle GraalVM installation is downloaded. This variant of + GraalVM may be subject to different license obligations; please consult Oracle's docs for more info. + + Oracle GraalVM distributions are downloaded directly from Oracle, which provides a `latest` download + endpoint. Set `version` to `latest` (the default value) to download the latest available version of + GraalVM matching the provided `java_version`. + + When installing the `latest` version of GraalVM, it is probably ideal to provide your own `sha256`. + In this case, the `rules_graalvm` package does not provide an SHA256 hash otherwise. + + Args: + name: Name of the VM repository. + java_version: Java version to use/declare. + version: Version of the GraalVM release. + distribution: Which GVM distribution to download - `ce`, `community`, or `oracle`. + toolchain: Whether to create a Java toolchain from this GVM installation. + toolchain_prefix: Name prefix to use for the toolchain; defaults to `graalvm`. + target_compatible_with: Compatibility tags to apply. + components: Components to install in the target GVM installation. + setup_actions: GraalVM Updater commands that should be run; pass complete command strings that start with "gu". + register_all: Register all GraalVM repositories and use `target_compatible_with` (experimental). + **kwargs: Passed to the underlying bindist repository rule. + """ + + if toolchain: + _toolchain_config( + name = name + "_toolchain_config_repo", + build_file = """ +config_setting( + name = "prefix_version_setting", + values = {{"java_runtime_version": "{prefix}_{version}"}}, + visibility = ["//visibility:private"], +) +config_setting( + name = "version_setting", + values = {{"java_runtime_version": "{version}"}}, + visibility = ["//visibility:private"], +) +alias( + name = "version_or_prefix_version_setting", + actual = select({{ + ":version_setting": ":version_setting", + "//conditions:default": ":prefix_version_setting", + }}), + visibility = ["//visibility:private"], +) +toolchain( + name = "gvm", + target_compatible_with = {target_compatible_with}, + target_settings = [":version_or_prefix_version_setting"], + toolchain_type = "@rules_graalvm//graalvm/toolchain:graalvm", + toolchain = "{toolchain}", + visibility = ["//visibility:public"], +) +toolchain( + name = "native_image", + target_compatible_with = {target_compatible_with}, + target_settings = [":version_or_prefix_version_setting"], + toolchain_type = "@rules_graalvm//graalvm/toolchain:graalvm_native_image", + toolchain = "{toolchain}", + visibility = ["//visibility:public"], +) +toolchain( + name = "toolchain", + target_compatible_with = {target_compatible_with}, + target_settings = [":version_or_prefix_version_setting"], + toolchain_type = "@bazel_tools//tools/jdk:runtime_toolchain_type", + toolchain = "{toolchain}", + visibility = ["//visibility:public"], +) +toolchain( + name = "bootstrap_runtime_toolchain", + # These constraints are not required for correctness, but prevent fetches of remote JDK for + # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in + # the same configuration, this constraint will not result in toolchain resolution failures. + exec_compatible_with = {target_compatible_with}, + target_settings = [":version_or_prefix_version_setting"], + toolchain_type = "@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type", + toolchain = "{toolchain}", + visibility = ["//visibility:public"], +) +""".format( + prefix = toolchain_prefix or "graalvm", + version = java_version, + target_compatible_with = target_compatible_with, + toolchain = "@{repo}//:jdk".format(repo = name), + ), + ) + + if not register_all: + # register a specific GraalVM version at the host OS/arch pair + _graalvm_bindist_repository( + name = name, + version = version, + java_version = java_version, + distribution = distribution, + components = components, + setup_actions = setup_actions, + enable_toolchain = toolchain, + toolchain_config = "%s_toolchain_config_repo" % name, + **kwargs + ) + else: + fail("GraalVM rules `register_all` is not supported yet.") diff --git a/internal/maven.bzl b/internal/maven.bzl new file mode 100644 index 00000000..58773ffc --- /dev/null +++ b/internal/maven.bzl @@ -0,0 +1,43 @@ +"Defines useful macros for use with GraalVM projects." + +load( + "//internal:config.bzl", + "GRAALVM_VERSION", +) + +def graalvm(artifact, repository = "@maven", version = None, group = None): + """Return an artifact coordinate for GraalVM Maven artifact. + + Args: + artifact: Group and name of the artifact, separated with `:`. + repository: Name of the Maven Bazel repository to pull from; defaults to + `@maven`. + version: Version to use for the artifact; if `None`, a version is selected + which matches the active GraalVM installation. + group: Artifact group to use; if not provided, expected to be provided as + part of the `artifact`. + + Returns: + Desired artifact label.""" + + if ":" in artifact and group: + fail("Please provide the `group` and `artifact` separately, or together as part of `artifact`, but not both.") + + group = (group or artifact.split(":")[0]).replace(".", "_") + name = (group and artifact or artifact.split(":")[1]).replace(".", "_") + resolved_version = version or GRAALVM_VERSION + + if resolved_version: + formatted_version = resolved_version.replace(".", "_") + return Label("%s//:%s_%s_%s" % ( + repository, + group, + name, + formatted_version, + )) + + return Label("%s//:%s_%s" % ( + repository, + group, + name, + )) diff --git a/internal/repositories.bzl b/internal/repositories.bzl new file mode 100644 index 00000000..adc6f091 --- /dev/null +++ b/internal/repositories.bzl @@ -0,0 +1,177 @@ +"Local declarations for the GraalVM Rules project workspace." + +load( + "//internal:config.bzl", + "GO_VERSION", + "GRAALVM_COMPONENTS", + "GRAALVM_DISTRIBUTION", + "GRAALVM_JAVA_VERSION", + "GRAALVM_VERSION", + "GRAALVM_SHA", + "MAVEN_ARTIFACTS", + "MAVEN_REPOSITORIES", +) + +load( + "@buildifier_prebuilt//:deps.bzl", + "buildifier_prebuilt_deps", +) + +load( + "@bazel_skylib//:workspace.bzl", + "bazel_skylib_workspace", +) + +load( + "@rules_java//java:repositories.bzl", + "rules_java_dependencies", + "rules_java_toolchains", +) + +load( + "@//graalvm:repositories.bzl", + "graalvm_repository", +) + +load( + "@aspect_bazel_lib//lib:repositories.bzl", + "aspect_bazel_lib_dependencies", +) + +load( + "@rules_jvm_external//:repositories.bzl", + "rules_jvm_external_deps", +) + +load( + "@io_bazel_stardoc//:setup.bzl", + "stardoc_repositories", +) + +load( + "@rules_jvm_external//:defs.bzl", + "maven_install", +) + +load( + "@io_bazel_rules_go//go:deps.bzl", + "go_register_toolchains", + "go_rules_dependencies", +) + +load( + "@bazel_gazelle//:deps.bzl", + "gazelle_dependencies", +) + +load( + "@googleapis//:repository_rules.bzl", + "switched_rules_by_language", +) + +load( + "@contrib_rules_jvm//:repositories.bzl", + "contrib_rules_jvm_deps", +) + +load( + "@apple_rules_lint//lint:repositories.bzl", + "lint_deps", +) + + +load( + "@apple_rules_lint//lint:setup.bzl", + "lint_setup", +) + +load( + "@hermetic_cc_toolchain//toolchain:defs.bzl", + zig_toolchains = "toolchains", +) + +def _setup_rules_graalvm_repositories(maven = True, go_toolchains = True, linters = True): + + """Setup dependencies for the GraalVM Rules project.""" + + # Apple Linting Rules + if linters: + lint_deps() + + # Linting Rules + lint_setup({ + # Note: this is an example config! + "java-spotbugs": "//java:spotbugs-config", + }) + + # Zig + + zig_toolchains() + + # Go + + go_rules_dependencies() + + if go_toolchains: + go_register_toolchains(version = GO_VERSION) + + gazelle_dependencies(go_repository_default_config = "//:WORKSPACE.bazel") + + # Google APIs + + switched_rules_by_language( + name = "com_google_googleapis_imports", + ) + + # Buildifier + + buildifier_prebuilt_deps() + + # Skylib + + bazel_skylib_workspace() + + # Java + + rules_java_dependencies() + + rules_java_toolchains() + + # GraalVM + + graalvm_repository( + name = "graalvm", + version = GRAALVM_VERSION, + distribution = GRAALVM_DISTRIBUTION, + java_version = GRAALVM_JAVA_VERSION, + sha256 = GRAALVM_SHA, + components = GRAALVM_COMPONENTS, + ) + + # Aspect: Bazel Lib + + aspect_bazel_lib_dependencies() + + # Rules JVM External + + rules_jvm_external_deps() + + # Contrib Rules JVM + + contrib_rules_jvm_deps() + + # Stardoc + + stardoc_repositories() + + if maven: + maven_install( + name = "maven_gvm", + artifacts = MAVEN_ARTIFACTS, + repositories = MAVEN_REPOSITORIES, + maven_install_json = "//:maven_install.json", + generate_compat_repositories = True, + ) + + +rules_graalvm_repositories = _setup_rules_graalvm_repositories diff --git a/internal/setup.bzl b/internal/setup.bzl new file mode 100644 index 00000000..1c9839e6 --- /dev/null +++ b/internal/setup.bzl @@ -0,0 +1,71 @@ +"Second-stage setup code for the GraalVM Rules project." + +load( + "@rules_jvm_external//:setup.bzl", + "rules_jvm_external_setup", +) + +load( + "@maven_gvm//:defs.bzl", + "pinned_maven_install", +) + +load( + "@contrib_rules_jvm//:setup.bzl", + "contrib_rules_jvm_setup", +) + +load( + "@bazel_skylib_gazelle_plugin//:setup.bzl", + "bazel_skylib_gazelle_plugin_setup", +) + +load( + "@buildifier_prebuilt//:defs.bzl", + "buildifier_prebuilt_register_toolchains", +) + +def _rules_graalvm_toolchains(): + + """Register toolchains for use in the GraalVM Rules codebase.""" + + native.register_toolchains( + "@graalvm//:toolchain" + ) + + native.register_toolchains( + "@zig_sdk//toolchain:linux_amd64_gnu.2.28", + "@zig_sdk//toolchain:linux_arm64_gnu.2.28", + "@zig_sdk//toolchain:darwin_amd64", + "@zig_sdk//toolchain:darwin_arm64", + "@zig_sdk//toolchain:windows_amd64", + "@zig_sdk//toolchain:windows_arm64", + ) + +def _rules_graalvm_setup_workspace(gazelle = True, maven = False, linters = False): + + """Perform second-stage setup of the GraalVM Rules codebase.""" + + # Rules JVM External + + rules_jvm_external_setup() + + # Contrib Rules JVM + + contrib_rules_jvm_setup() + + # Buildifier + + buildifier_prebuilt_register_toolchains() + + if gazelle: + # Bazel Skylib: Gazelle Plugin + bazel_skylib_gazelle_plugin_setup(register_go_toolchains = False) + + if maven: + # Maven: Pinned + pinned_maven_install() + + +rules_graalvm_toolchains = _rules_graalvm_toolchains +rules_graalvm_workspace = _rules_graalvm_setup_workspace diff --git a/local.bazelrc.inert b/local.bazelrc.inert new file mode 100644 index 00000000..6c6ea2ba --- /dev/null +++ b/local.bazelrc.inert @@ -0,0 +1,14 @@ + +# Example `local.bazelrc` file +# +# This file should be used by an individual developer to declare local settings. This is +# where you should put your BuildBuddy and Buildless API keys, as applicable. +# +# Bzlmod mode is enabled, but only during development, for now. + +build --config=dev +build --config=bzlmod + +build --remote_header=x-buildbuddy-api-key= +build --remote_header=x-api-key= + diff --git a/maven_install.json b/maven_install.json new file mode 100644 index 00000000..ae28b7c4 --- /dev/null +++ b/maven_install.json @@ -0,0 +1,528 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": -2120315242, + "__RESOLVED_ARTIFACTS_HASH": 473033470, + "artifacts": { + "org.graalvm.compiler:compiler": { + "shasums": { + "jar": "63a63a67e74541194e19e399166e274ec0f129c20f0b0ac1a6ae97e2f146041a" + }, + "version": "23.0.1" + }, + "org.graalvm.nativeimage:native-image-base": { + "shasums": { + "jar": "1662008ac00cb35deda97e5ade5c987ffadb6c5d219126dd303bf0a33f918832" + }, + "version": "23.0.1" + }, + "org.graalvm.nativeimage:objectfile": { + "shasums": { + "jar": "d454922b6c3a0161f67ac1167eeeda153f3294af32f00923d534d2fc984e703b" + }, + "version": "23.0.1" + }, + "org.graalvm.nativeimage:pointsto": { + "shasums": { + "jar": "4ef0cd65b65e9820937f402c36d31434c201c904c600cc0d8c98963974599caf" + }, + "version": "23.0.1" + }, + "org.graalvm.nativeimage:svm": { + "shasums": { + "jar": "cddc7b58ba558d1cc99fee13ca56970f9898c0a71f1ec19d1bf5618b4aeb2994" + }, + "version": "23.0.1" + }, + "org.graalvm.sdk:graal-sdk": { + "shasums": { + "jar": "39c46559ad641a5bd1d2b6ff5106aa391929a7dec21ebb215502f9f40e0cd9b0" + }, + "version": "23.0.1" + }, + "org.graalvm.truffle:truffle-api": { + "shasums": { + "jar": "9adb4df44be7cc4c1cc507cc59521fd69e0a963b02a4998ccb04e50300a0d6b4" + }, + "version": "23.0.1" + } + }, + "dependencies": { + "org.graalvm.compiler:compiler": [ + "org.graalvm.sdk:graal-sdk", + "org.graalvm.truffle:truffle-api" + ], + "org.graalvm.nativeimage:native-image-base": [ + "org.graalvm.compiler:compiler" + ], + "org.graalvm.nativeimage:objectfile": [ + "org.graalvm.compiler:compiler" + ], + "org.graalvm.nativeimage:pointsto": [ + "org.graalvm.compiler:compiler", + "org.graalvm.nativeimage:native-image-base" + ], + "org.graalvm.nativeimage:svm": [ + "org.graalvm.compiler:compiler", + "org.graalvm.nativeimage:native-image-base", + "org.graalvm.nativeimage:objectfile", + "org.graalvm.nativeimage:pointsto", + "org.graalvm.sdk:graal-sdk" + ], + "org.graalvm.truffle:truffle-api": [ + "org.graalvm.sdk:graal-sdk" + ] + }, + "packages": { + "org.graalvm.compiler:compiler": [ + "org.graalvm.compiler.api.directives", + "org.graalvm.compiler.api.replacements", + "org.graalvm.compiler.api.runtime", + "org.graalvm.compiler.asm", + "org.graalvm.compiler.asm.aarch64", + "org.graalvm.compiler.asm.amd64", + "org.graalvm.compiler.bytecode", + "org.graalvm.compiler.code", + "org.graalvm.compiler.core", + "org.graalvm.compiler.core.aarch64", + "org.graalvm.compiler.core.amd64", + "org.graalvm.compiler.core.common", + "org.graalvm.compiler.core.common.alloc", + "org.graalvm.compiler.core.common.calc", + "org.graalvm.compiler.core.common.cfg", + "org.graalvm.compiler.core.common.memory", + "org.graalvm.compiler.core.common.spi", + "org.graalvm.compiler.core.common.type", + "org.graalvm.compiler.core.common.util", + "org.graalvm.compiler.core.gen", + "org.graalvm.compiler.core.match", + "org.graalvm.compiler.core.phases", + "org.graalvm.compiler.core.phases.fuzzing", + "org.graalvm.compiler.core.riscv64", + "org.graalvm.compiler.core.target", + "org.graalvm.compiler.debug", + "org.graalvm.compiler.graph", + "org.graalvm.compiler.graph.iterators", + "org.graalvm.compiler.graph.spi", + "org.graalvm.compiler.hightiercodegen", + "org.graalvm.compiler.hightiercodegen.irwalk", + "org.graalvm.compiler.hightiercodegen.lowerer", + "org.graalvm.compiler.hightiercodegen.reconstruction", + "org.graalvm.compiler.hightiercodegen.reconstruction.stackifier", + "org.graalvm.compiler.hightiercodegen.reconstruction.stackifier.blocks", + "org.graalvm.compiler.hightiercodegen.reconstruction.stackifier.scopes", + "org.graalvm.compiler.hightiercodegen.variables", + "org.graalvm.compiler.hotspot", + "org.graalvm.compiler.hotspot.aarch64", + "org.graalvm.compiler.hotspot.amd64", + "org.graalvm.compiler.hotspot.debug", + "org.graalvm.compiler.hotspot.lir", + "org.graalvm.compiler.hotspot.meta", + "org.graalvm.compiler.hotspot.nodes", + "org.graalvm.compiler.hotspot.nodes.type", + "org.graalvm.compiler.hotspot.phases", + "org.graalvm.compiler.hotspot.replacements", + "org.graalvm.compiler.hotspot.replacements.arraycopy", + "org.graalvm.compiler.hotspot.riscv64", + "org.graalvm.compiler.hotspot.stubs", + "org.graalvm.compiler.hotspot.word", + "org.graalvm.compiler.java", + "org.graalvm.compiler.lir", + "org.graalvm.compiler.lir.aarch64", + "org.graalvm.compiler.lir.alloc", + "org.graalvm.compiler.lir.alloc.lsra", + "org.graalvm.compiler.lir.alloc.lsra.ssa", + "org.graalvm.compiler.lir.amd64", + "org.graalvm.compiler.lir.amd64.phases", + "org.graalvm.compiler.lir.amd64.vector", + "org.graalvm.compiler.lir.asm", + "org.graalvm.compiler.lir.constopt", + "org.graalvm.compiler.lir.debug", + "org.graalvm.compiler.lir.dfa", + "org.graalvm.compiler.lir.framemap", + "org.graalvm.compiler.lir.gen", + "org.graalvm.compiler.lir.hashing", + "org.graalvm.compiler.lir.phases", + "org.graalvm.compiler.lir.profiling", + "org.graalvm.compiler.lir.ssa", + "org.graalvm.compiler.lir.stackslotalloc", + "org.graalvm.compiler.lir.util", + "org.graalvm.compiler.loop.phases", + "org.graalvm.compiler.nodeinfo", + "org.graalvm.compiler.nodes", + "org.graalvm.compiler.nodes.calc", + "org.graalvm.compiler.nodes.cfg", + "org.graalvm.compiler.nodes.debug", + "org.graalvm.compiler.nodes.extended", + "org.graalvm.compiler.nodes.gc", + "org.graalvm.compiler.nodes.graphbuilderconf", + "org.graalvm.compiler.nodes.java", + "org.graalvm.compiler.nodes.loop", + "org.graalvm.compiler.nodes.memory", + "org.graalvm.compiler.nodes.memory.address", + "org.graalvm.compiler.nodes.spi", + "org.graalvm.compiler.nodes.type", + "org.graalvm.compiler.nodes.util", + "org.graalvm.compiler.nodes.virtual", + "org.graalvm.compiler.options", + "org.graalvm.compiler.phases", + "org.graalvm.compiler.phases.common", + "org.graalvm.compiler.phases.common.inlining", + "org.graalvm.compiler.phases.common.inlining.info", + "org.graalvm.compiler.phases.common.inlining.info.elem", + "org.graalvm.compiler.phases.common.inlining.policy", + "org.graalvm.compiler.phases.common.inlining.walker", + "org.graalvm.compiler.phases.common.util", + "org.graalvm.compiler.phases.contract", + "org.graalvm.compiler.phases.graph", + "org.graalvm.compiler.phases.schedule", + "org.graalvm.compiler.phases.tiers", + "org.graalvm.compiler.phases.util", + "org.graalvm.compiler.printer", + "org.graalvm.compiler.replacements", + "org.graalvm.compiler.replacements.aarch64", + "org.graalvm.compiler.replacements.amd64", + "org.graalvm.compiler.replacements.arraycopy", + "org.graalvm.compiler.replacements.classfile", + "org.graalvm.compiler.replacements.gc", + "org.graalvm.compiler.replacements.nodes", + "org.graalvm.compiler.replacements.nodes.arithmetic", + "org.graalvm.compiler.runtime", + "org.graalvm.compiler.serviceprovider", + "org.graalvm.compiler.truffle.common", + "org.graalvm.compiler.truffle.common.hotspot", + "org.graalvm.compiler.truffle.common.hotspot.libgraal", + "org.graalvm.compiler.truffle.compiler", + "org.graalvm.compiler.truffle.compiler.hotspot", + "org.graalvm.compiler.truffle.compiler.hotspot.aarch64", + "org.graalvm.compiler.truffle.compiler.hotspot.amd64", + "org.graalvm.compiler.truffle.compiler.nodes", + "org.graalvm.compiler.truffle.compiler.nodes.asserts", + "org.graalvm.compiler.truffle.compiler.nodes.frame", + "org.graalvm.compiler.truffle.compiler.phases", + "org.graalvm.compiler.truffle.compiler.phases.inlining", + "org.graalvm.compiler.truffle.compiler.substitutions", + "org.graalvm.compiler.truffle.jfr", + "org.graalvm.compiler.truffle.options", + "org.graalvm.compiler.truffle.runtime", + "org.graalvm.compiler.truffle.runtime.collection", + "org.graalvm.compiler.truffle.runtime.debug", + "org.graalvm.compiler.truffle.runtime.hotspot", + "org.graalvm.compiler.truffle.runtime.hotspot.java", + "org.graalvm.compiler.truffle.runtime.hotspot.libgraal", + "org.graalvm.compiler.truffle.runtime.serviceprovider", + "org.graalvm.compiler.virtual.phases.ea", + "org.graalvm.compiler.word", + "org.graalvm.graphio", + "org.graalvm.jniutils", + "org.graalvm.libgraal", + "org.graalvm.libgraal.jni", + "org.graalvm.libgraal.jni.annotation", + "org.graalvm.nativebridge", + "org.graalvm.util", + "org.graalvm.util.json" + ], + "org.graalvm.nativeimage:native-image-base": [ + "com.oracle.svm.common.meta", + "com.oracle.svm.common.option", + "com.oracle.svm.util" + ], + "org.graalvm.nativeimage:objectfile": [ + "com.oracle.objectfile", + "com.oracle.objectfile.debugentry", + "com.oracle.objectfile.debugentry.range", + "com.oracle.objectfile.debuginfo", + "com.oracle.objectfile.elf", + "com.oracle.objectfile.elf.dwarf", + "com.oracle.objectfile.io", + "com.oracle.objectfile.macho", + "com.oracle.objectfile.pecoff", + "com.oracle.objectfile.pecoff.cv" + ], + "org.graalvm.nativeimage:pointsto": [ + "com.oracle.graal.pointsto", + "com.oracle.graal.pointsto.api", + "com.oracle.graal.pointsto.constraints", + "com.oracle.graal.pointsto.flow", + "com.oracle.graal.pointsto.flow.builder", + "com.oracle.graal.pointsto.flow.context", + "com.oracle.graal.pointsto.flow.context.bytecode", + "com.oracle.graal.pointsto.flow.context.object", + "com.oracle.graal.pointsto.heap", + "com.oracle.graal.pointsto.heap.value", + "com.oracle.graal.pointsto.infrastructure", + "com.oracle.graal.pointsto.meta", + "com.oracle.graal.pointsto.nodes", + "com.oracle.graal.pointsto.phases", + "com.oracle.graal.pointsto.plugins", + "com.oracle.graal.pointsto.reports", + "com.oracle.graal.pointsto.results", + "com.oracle.graal.pointsto.typestate", + "com.oracle.graal.pointsto.typestore", + "com.oracle.graal.pointsto.util" + ], + "org.graalvm.nativeimage:svm": [ + "com.oracle.graal.reachability", + "com.oracle.svm.core", + "com.oracle.svm.core.aarch64", + "com.oracle.svm.core.allocationprofile", + "com.oracle.svm.core.amd64", + "com.oracle.svm.core.c", + "com.oracle.svm.core.c.enums", + "com.oracle.svm.core.c.function", + "com.oracle.svm.core.c.libc", + "com.oracle.svm.core.c.struct", + "com.oracle.svm.core.classinitialization", + "com.oracle.svm.core.code", + "com.oracle.svm.core.collections", + "com.oracle.svm.core.config", + "com.oracle.svm.core.configure", + "com.oracle.svm.core.containers", + "com.oracle.svm.core.containers.cgroupv1", + "com.oracle.svm.core.containers.cgroupv2", + "com.oracle.svm.core.cpufeature", + "com.oracle.svm.core.deopt", + "com.oracle.svm.core.feature", + "com.oracle.svm.core.fieldvaluetransformer", + "com.oracle.svm.core.genscavenge", + "com.oracle.svm.core.genscavenge.graal", + "com.oracle.svm.core.genscavenge.graal.nodes", + "com.oracle.svm.core.genscavenge.jvmstat", + "com.oracle.svm.core.genscavenge.remset", + "com.oracle.svm.core.graal", + "com.oracle.svm.core.graal.aarch64", + "com.oracle.svm.core.graal.amd64", + "com.oracle.svm.core.graal.code", + "com.oracle.svm.core.graal.jdk", + "com.oracle.svm.core.graal.lir", + "com.oracle.svm.core.graal.meta", + "com.oracle.svm.core.graal.nodes", + "com.oracle.svm.core.graal.nodes.aarch64", + "com.oracle.svm.core.graal.phases", + "com.oracle.svm.core.graal.replacements", + "com.oracle.svm.core.graal.riscv64", + "com.oracle.svm.core.graal.snippets", + "com.oracle.svm.core.graal.snippets.aarch64", + "com.oracle.svm.core.graal.snippets.amd64", + "com.oracle.svm.core.graal.snippets.riscv64", + "com.oracle.svm.core.graal.stackvalue", + "com.oracle.svm.core.graal.thread", + "com.oracle.svm.core.graal.word", + "com.oracle.svm.core.handles", + "com.oracle.svm.core.headers", + "com.oracle.svm.core.heap", + "com.oracle.svm.core.heap.dump", + "com.oracle.svm.core.heapdump", + "com.oracle.svm.core.hub", + "com.oracle.svm.core.identityhashcode", + "com.oracle.svm.core.image", + "com.oracle.svm.core.invoke", + "com.oracle.svm.core.jdk", + "com.oracle.svm.core.jdk.localization", + "com.oracle.svm.core.jdk.localization.bundles", + "com.oracle.svm.core.jdk.localization.compression", + "com.oracle.svm.core.jdk.localization.compression.utils", + "com.oracle.svm.core.jdk.localization.substitutions", + "com.oracle.svm.core.jdk.localization.substitutions.modes", + "com.oracle.svm.core.jdk.management", + "com.oracle.svm.core.jdk.proxy", + "com.oracle.svm.core.jdk.resources", + "com.oracle.svm.core.jdk17", + "com.oracle.svm.core.jfr", + "com.oracle.svm.core.jfr.events", + "com.oracle.svm.core.jfr.logging", + "com.oracle.svm.core.jfr.sampler", + "com.oracle.svm.core.jfr.traceid", + "com.oracle.svm.core.jfr.utils", + "com.oracle.svm.core.jni", + "com.oracle.svm.core.jni.access", + "com.oracle.svm.core.jni.functions", + "com.oracle.svm.core.jni.headers", + "com.oracle.svm.core.jvmstat", + "com.oracle.svm.core.locks", + "com.oracle.svm.core.log", + "com.oracle.svm.core.meta", + "com.oracle.svm.core.methodhandles", + "com.oracle.svm.core.monitor", + "com.oracle.svm.core.nodes", + "com.oracle.svm.core.option", + "com.oracle.svm.core.os", + "com.oracle.svm.core.posix", + "com.oracle.svm.core.posix.aarch64", + "com.oracle.svm.core.posix.amd64", + "com.oracle.svm.core.posix.darwin", + "com.oracle.svm.core.posix.headers", + "com.oracle.svm.core.posix.headers.darwin", + "com.oracle.svm.core.posix.headers.linux", + "com.oracle.svm.core.posix.heapdump", + "com.oracle.svm.core.posix.jvmstat", + "com.oracle.svm.core.posix.linux", + "com.oracle.svm.core.posix.pthread", + "com.oracle.svm.core.posix.riscv64", + "com.oracle.svm.core.posix.thread", + "com.oracle.svm.core.properties", + "com.oracle.svm.core.reflect", + "com.oracle.svm.core.reflect.proxy", + "com.oracle.svm.core.reflect.serialize", + "com.oracle.svm.core.reflect.target", + "com.oracle.svm.core.riscv64", + "com.oracle.svm.core.sampler", + "com.oracle.svm.core.snippets", + "com.oracle.svm.core.stack", + "com.oracle.svm.core.thread", + "com.oracle.svm.core.threadlocal", + "com.oracle.svm.core.util", + "com.oracle.svm.core.util.coder", + "com.oracle.svm.core.util.json", + "com.oracle.svm.core.windows", + "com.oracle.svm.core.windows.headers", + "com.oracle.svm.graal", + "com.oracle.svm.graal.aarch64", + "com.oracle.svm.graal.amd64", + "com.oracle.svm.graal.hosted", + "com.oracle.svm.graal.isolated", + "com.oracle.svm.graal.meta", + "com.oracle.svm.graal.meta.aarch64", + "com.oracle.svm.graal.meta.amd64", + "com.oracle.svm.graal.stubs", + "com.oracle.svm.hosted", + "com.oracle.svm.hosted.ameta", + "com.oracle.svm.hosted.analysis", + "com.oracle.svm.hosted.analysis.flow", + "com.oracle.svm.hosted.annotation", + "com.oracle.svm.hosted.c", + "com.oracle.svm.hosted.c.codegen", + "com.oracle.svm.hosted.c.function", + "com.oracle.svm.hosted.c.info", + "com.oracle.svm.hosted.c.libc", + "com.oracle.svm.hosted.c.query", + "com.oracle.svm.hosted.c.util", + "com.oracle.svm.hosted.cenum", + "com.oracle.svm.hosted.classinitialization", + "com.oracle.svm.hosted.code", + "com.oracle.svm.hosted.code.aarch64", + "com.oracle.svm.hosted.code.amd64", + "com.oracle.svm.hosted.config", + "com.oracle.svm.hosted.dashboard", + "com.oracle.svm.hosted.diagnostic", + "com.oracle.svm.hosted.fieldfolding", + "com.oracle.svm.hosted.heap", + "com.oracle.svm.hosted.image", + "com.oracle.svm.hosted.image.sources", + "com.oracle.svm.hosted.javafx", + "com.oracle.svm.hosted.jdk", + "com.oracle.svm.hosted.jdk.localization", + "com.oracle.svm.hosted.jdk17", + "com.oracle.svm.hosted.jfr", + "com.oracle.svm.hosted.jni", + "com.oracle.svm.hosted.lambda", + "com.oracle.svm.hosted.meta", + "com.oracle.svm.hosted.methodhandles", + "com.oracle.svm.hosted.nodes", + "com.oracle.svm.hosted.option", + "com.oracle.svm.hosted.phases", + "com.oracle.svm.hosted.reflect", + "com.oracle.svm.hosted.reflect.proxy", + "com.oracle.svm.hosted.reflect.serialize", + "com.oracle.svm.hosted.snippets", + "com.oracle.svm.hosted.substitute", + "com.oracle.svm.hosted.thread", + "com.oracle.svm.hosted.util", + "com.oracle.svm.hosted.xml", + "com.oracle.svm.truffle", + "com.oracle.svm.truffle.api", + "com.oracle.svm.truffle.isolated" + ], + "org.graalvm.sdk:graal-sdk": [ + "com.oracle.svm.core.annotate", + "org.graalvm.collections", + "org.graalvm.home", + "org.graalvm.home.impl", + "org.graalvm.nativeimage", + "org.graalvm.nativeimage.c", + "org.graalvm.nativeimage.c.constant", + "org.graalvm.nativeimage.c.function", + "org.graalvm.nativeimage.c.struct", + "org.graalvm.nativeimage.c.type", + "org.graalvm.nativeimage.hosted", + "org.graalvm.nativeimage.impl", + "org.graalvm.nativeimage.impl.clinit", + "org.graalvm.options", + "org.graalvm.polyglot", + "org.graalvm.polyglot.impl", + "org.graalvm.polyglot.io", + "org.graalvm.polyglot.management", + "org.graalvm.polyglot.proxy", + "org.graalvm.word", + "org.graalvm.word.impl" + ], + "org.graalvm.truffle:truffle-api": [ + "com.oracle.truffle.api", + "com.oracle.truffle.api.debug", + "com.oracle.truffle.api.debug.impl", + "com.oracle.truffle.api.dsl", + "com.oracle.truffle.api.exception", + "com.oracle.truffle.api.frame", + "com.oracle.truffle.api.impl", + "com.oracle.truffle.api.impl.asm", + "com.oracle.truffle.api.impl.asm.commons", + "com.oracle.truffle.api.impl.asm.signature", + "com.oracle.truffle.api.impl.asm.tree", + "com.oracle.truffle.api.instrumentation", + "com.oracle.truffle.api.interop", + "com.oracle.truffle.api.io", + "com.oracle.truffle.api.library", + "com.oracle.truffle.api.memory", + "com.oracle.truffle.api.nodes", + "com.oracle.truffle.api.object", + "com.oracle.truffle.api.profiles", + "com.oracle.truffle.api.source", + "com.oracle.truffle.api.staticobject", + "com.oracle.truffle.api.strings", + "com.oracle.truffle.api.utilities", + "com.oracle.truffle.host", + "com.oracle.truffle.host.adapters", + "com.oracle.truffle.object", + "com.oracle.truffle.object.basic", + "com.oracle.truffle.polyglot", + "org.graalvm.shadowed.org.jcodings", + "org.graalvm.shadowed.org.jcodings.ascii", + "org.graalvm.shadowed.org.jcodings.constants", + "org.graalvm.shadowed.org.jcodings.exception", + "org.graalvm.shadowed.org.jcodings.specific", + "org.graalvm.shadowed.org.jcodings.transcode", + "org.graalvm.shadowed.org.jcodings.transcode.specific", + "org.graalvm.shadowed.org.jcodings.unicode", + "org.graalvm.shadowed.org.jcodings.util" + ] + }, + "repositories": { + "https://maven.pkg.st/": [ + "org.graalvm.compiler:compiler", + "org.graalvm.nativeimage:native-image-base", + "org.graalvm.nativeimage:objectfile", + "org.graalvm.nativeimage:pointsto", + "org.graalvm.nativeimage:svm", + "org.graalvm.sdk:graal-sdk", + "org.graalvm.truffle:truffle-api" + ], + "https://maven.google.com/": [ + "org.graalvm.compiler:compiler", + "org.graalvm.nativeimage:native-image-base", + "org.graalvm.nativeimage:objectfile", + "org.graalvm.nativeimage:pointsto", + "org.graalvm.nativeimage:svm", + "org.graalvm.sdk:graal-sdk", + "org.graalvm.truffle:truffle-api" + ], + "https://repo1.maven.org/maven2/": [ + "org.graalvm.compiler:compiler", + "org.graalvm.nativeimage:native-image-base", + "org.graalvm.nativeimage:objectfile", + "org.graalvm.nativeimage:pointsto", + "org.graalvm.nativeimage:svm", + "org.graalvm.sdk:graal-sdk", + "org.graalvm.truffle:truffle-api" + ] + }, + "version": "2" +} diff --git a/tasks/BUILD b/tasks/BUILD deleted file mode 100644 index 412ad1d6..00000000 --- a/tasks/BUILD +++ /dev/null @@ -1,10 +0,0 @@ -load("@rules_adroit//rules/shellcheck:shell.bzl", "shell_binary") - -shell_binary( - name = "ci", - srcs = ["src/ci.sh"], - tags = ["manual"], - deps = [ - "@bazel_tools//tools/bash/runfiles", - ], -) \ No newline at end of file diff --git a/tasks/src/ci.sh b/tasks/src/ci.sh deleted file mode 100755 index 2d3f4f11..00000000 --- a/tasks/src/ci.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -# --- begin bash runfile prelude -- -if [[ -e "${TEST_SRCDIR:-}" ]]; then - function runfile() { - echo "$TEST_SRCDIR/$1" - } -elif [[ -f "$0.runfiles_manifest" ]]; then - __runfiles_manifest_file="$0.runfiles_manifest" - export __runfiles_manifest_file - function runfile() { - grep -m1 "^$1 " "$__runfiles_manifest_file" | cut -d ' ' -f 2- - } -else - echo "please run this script through bazel" - exit 1 -fi -export -f runfile -# --- end bash runfile prelude -- - -set -euox pipefail -cd "${BUILD_WORKSPACE_DIRECTORY:-$(dirname "$0")/..}" - -bazel=./tools/bazel -$bazel test //... -$bazel run //example:main-native | grep Hello \ No newline at end of file diff --git a/tools/bazel b/tools/bazel deleted file mode 100755 index e4bbe163..00000000 --- a/tools/bazel +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/env bash - -default_bazel_version='0.26.1' - -if [ -z "$OVERRIDE_BAZEL_VERSION" ]; then - bazel_version="$default_bazel_version" -else - bazel_version="$OVERRIDE_BAZEL_VERSION" -fi - -case "$bazel_version" in - 'host') - bazel_version=$("$BAZEL_REAL" version | awk '/Build label/ {print $3}' | cut -d '-' -f 1) - bazel="$BAZEL_REAL" - ;; - '0.24.1') - darwin_sha='5fe570423945424a8c44b35c6d171fdde92e9ed90c3c321b83f2e380bcc966b9' - linux_sha='cf8210e538c37f195298905301a1221ca5b6a5a6658ccd1c4369a867aa2339c3' - ;; - '0.26.1') - darwin_sha='d0ceb4845a72507438ff173b54850c344ae41be8b6da69d0e663e4680be68ede' - linux_sha='488d6b7223a1b3db965b8831c562aba61229a690aad38d75cd8f43012fc04fe4' - ;; - *) - echo "The requested Bazel version '$bazel_version' is not supported" - exit 1 - ;; -esac - -if [ -z "$bazel" ]; then - bazel_bin_loc=~/.bazel_binaries - mkdir -p $bazel_bin_loc - bazel=$bazel_bin_loc/$bazel_version/bin/bazel-real -fi - -if ! [ -f "$bazel" ]; then - case $(uname -s) in - Darwin) - platform='darwin' - sha=$darwin_sha - ;; - Linux) - platform='linux' - sha=$linux_sha - ;; - *) - echo 'Your OS is not supported.' - exit 1 - ;; - esac - remote_source=https://github.com/bazelbuild/bazel/releases/download - installer_name="bazel-$bazel_version-installer-$platform-x86_64.sh" - url="$remote_source/$bazel_version/$installer_name" - ( - tmp_dir=$(mktemp -d) - trap 'rm -rf $tmp_dir' EXIT - cd "$tmp_dir" - (>&2 echo "downloading installer from") - (>&2 echo "$url") - curl -o installer.sh -L "$url" - generated_sha=$(shasum -a 256 installer.sh | awk '{print $1}') - if [ "$generated_sha" != "$sha" ]; then - echo "Sha 256 does not match, expected: $sha" - echo "But found $generated_sha" - echo "Recommend you: update the sha to the expected" - echo "and then re-run this script" - exit 1 - fi - chmod +x installer.sh - ./installer.sh --base=$bazel_bin_loc/"$bazel_version" --bin=$bazel_bin_loc/"$bazel_version"/bin_t - ) -fi - -extra_command_args=() - -IFS=. read -r major minor _ < <(echo "$bazel_version") -extra_command_args+=("--config=v$major.$minor") - -for (( i=1; i<=$#; i++ )) -do - case "${!i}" in - -*) - ;; - *) - n=$((i + 1)) - set -- "${@:1:$i}" "${extra_command_args[@]}" "${@:$n}" - break - ;; - esac -done - -abs_path() { - perl -MCwd -le ' - for (@ARGV) { - if ($p = Cwd::abs_path $_) { - print $p; - } else { - warn "abs_path: $_: $!\n"; - $ret = 1; - } - } - exit $ret' "$@" -} -root_workspace=$(cd "$(dirname "$(abs_path "$0")")"/..; pwd) -workspace=$(cd "$(dirname "$0")"/..; pwd) - -if [ "$workspace" != "$root_workspace" ]; then - set -- --bazelrc="$root_workspace"/.bazelrc "$@" -fi - -disk_cache="$root_workspace"/.bazel_cache -disk_cache_rc="$disk_cache"/bazelrc -mkdir -p "$disk_cache" -cat > "$disk_cache_rc" <&2 echo :: exec "$bazel" "$@") -exec "$bazel" "$@" diff --git a/tools/bazel/base.bazelrc b/tools/bazel/base.bazelrc new file mode 100644 index 00000000..d543590d --- /dev/null +++ b/tools/bazel/base.bazelrc @@ -0,0 +1,3 @@ + +build --collect_code_coverage +build --instrumentation_filter="//graalvm" diff --git a/tools/bazel/bazel5.bazelrc b/tools/bazel/bazel5.bazelrc new file mode 100644 index 00000000..70b12324 --- /dev/null +++ b/tools/bazel/bazel5.bazelrc @@ -0,0 +1 @@ +build --experimental_remote_build_event_upload=minimal \ No newline at end of file diff --git a/tools/bazel/bazel6.bazelrc b/tools/bazel/bazel6.bazelrc new file mode 100644 index 00000000..2ab1c0b4 --- /dev/null +++ b/tools/bazel/bazel6.bazelrc @@ -0,0 +1 @@ +build --experimental_remote_build_event_upload=minimal diff --git a/tools/bazel/bazel7.bazelrc b/tools/bazel/bazel7.bazelrc new file mode 100644 index 00000000..705f8d6a --- /dev/null +++ b/tools/bazel/bazel7.bazelrc @@ -0,0 +1 @@ +build --remote_build_event_upload=minimal diff --git a/tools/bazel/buildbuddy.bazelrc b/tools/bazel/buildbuddy.bazelrc new file mode 100644 index 00000000..f7a29619 --- /dev/null +++ b/tools/bazel/buildbuddy.bazelrc @@ -0,0 +1,3 @@ +build:buildbuddy --bes_results_url=https://app.buildbuddy.io/invocation/ +build:buildbuddy --bes_backend=grpcs://remote.buildbuddy.io +build:buildbuddy --build_metadata=REPO_URL=https://github.com/sgammon/rules_graalvm diff --git a/tools/bazel/bzlmod.bazelrc b/tools/bazel/bzlmod.bazelrc new file mode 100644 index 00000000..4fadfce8 --- /dev/null +++ b/tools/bazel/bzlmod.bazelrc @@ -0,0 +1 @@ +build:bzlmod --experimental_enable_bzlmod diff --git a/tools/bazel/cache.bazelrc b/tools/bazel/cache.bazelrc new file mode 100644 index 00000000..3b73a33c --- /dev/null +++ b/tools/bazel/cache.bazelrc @@ -0,0 +1,15 @@ + +build --config=disk-cache + +build:disk-cache --disk_cache=~/.cache/bazel + +build:buildless --remote_cache=https://bazel.less.build/cache/generic + +build --modify_execution_info=PackageTar=+no-remote +build --remote_local_fallback +build --incompatible_remote_results_ignore_disk +build --noexperimental_check_output_files --noexperimental_check_external_repository_files +build --nolegacy_important_outputs +build --incompatible_default_to_explicit_init_py +build --experimental_remote_merkle_tree_cache +build --experimental_remote_cache_compression diff --git a/tools/bazel/ci.bazelrc b/tools/bazel/ci.bazelrc new file mode 100644 index 00000000..bad2f246 --- /dev/null +++ b/tools/bazel/ci.bazelrc @@ -0,0 +1,5 @@ +build:ci --stamp +build:ci --build_metadata=ROLE=CI +build:ci --build_metadata=VISIBILITY=PUBLIC +build:ci --workspace_status_command=$(pwd)/tools/scripts/workspace.sh +build:ci --lockfile_mode=error diff --git a/tools/bazel/dev.bazelrc b/tools/bazel/dev.bazelrc new file mode 100644 index 00000000..8fce648b --- /dev/null +++ b/tools/bazel/dev.bazelrc @@ -0,0 +1,4 @@ +build:dev --config=buildless +build:dev --config=buildbuddy + +build:dev --lockfile_mode=update diff --git a/tools/bazel/java.bazelrc b/tools/bazel/java.bazelrc new file mode 100644 index 00000000..d2a3fd90 --- /dev/null +++ b/tools/bazel/java.bazelrc @@ -0,0 +1,12 @@ +build --experimental_strict_java_deps=strict +build --explicit_java_test_deps + +test --verbose_failures +test --test_output=errors + +build --sandbox_tmpfs_path=/tmp + +build --java_language_version=20 +build --java_runtime_version=graalvm_20 +build --extra_toolchains=@graalvm//:toolchain +build --extra_toolchains=@graalvm//:bootstrap_runtime_toolchain diff --git a/tools/bazel/profiles.bazelrc b/tools/bazel/profiles.bazelrc new file mode 100644 index 00000000..95ed16e3 --- /dev/null +++ b/tools/bazel/profiles.bazelrc @@ -0,0 +1,13 @@ + +# Mode: Debug +build:debug --sandbox_debug +build:debug --verbose_failures +build:debug --compilation_mode=dbg + +# Mode: Release +build:release --stamp +build:release --strip=always +build:release --compilation_mode=opt + +# Mode: Fastbuild +build:fastbuild --compilation_mode=fastbuild diff --git a/tools/scripts/latest_version_tag.sh b/tools/scripts/latest_version_tag.sh new file mode 100755 index 00000000..b529e68b --- /dev/null +++ b/tools/scripts/latest_version_tag.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -e + +# Prints the latest BuildBuddy version tag, like "v2.12.8" +git tag -l 'v*' --sort=creatordate | + perl -nle 'if (/^v\d+\.\d+\.\d+$/) { print $_ }' | + tail -n1 diff --git a/tools/scripts/workspace.sh b/tools/scripts/workspace.sh new file mode 100755 index 00000000..fdce8382 --- /dev/null +++ b/tools/scripts/workspace.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# This script will be run bazel when building process starts to +# generate key-value information that represents the status of the +# workspace. The output should be like +# +# KEY1 VALUE1 +# KEY2 VALUE2 +# +# If the script exits with non-zero code, it's considered as a failure +# and the output will be discarded. + +set -eo pipefail # exit immediately if any command fails. + +user=$(whoami); +echo "USER $user"; + +commit_sha=$(git rev-parse HEAD) +echo "COMMIT_SHA $commit_sha" + +git_branch=$(git rev-parse --abbrev-ref HEAD) +echo "GIT_BRANCH $git_branch" + +git_tree_status=$(git diff-index --quiet HEAD -- && echo 'Clean' || echo 'Modified') +echo "GIT_TREE_STATUS $git_tree_status" + +# Note: the "STABLE_" suffix causes these to be part of the "stable" workspace +# status, which may trigger rebuilds of certain targets if these values change +# and you're building with the "--stamp" flag. +latest_version_tag=$(./tools/scripts/latest_version_tag.sh) +echo "STABLE_VERSION_TAG $latest_version_tag" +echo "STABLE_COMMIT_SHA $commit_sha"