Skip to content

deps: Update dependency rules_jvm_external to v7#753

Open
ffortier wants to merge 1 commit into
mainfrom
renovate/rules_jvm_external-7.x
Open

deps: Update dependency rules_jvm_external to v7#753
ffortier wants to merge 1 commit into
mainfrom
renovate/rules_jvm_external-7.x

Conversation

@ffortier
Copy link
Copy Markdown
Owner

@ffortier ffortier commented Apr 23, 2026

This PR contains the following updates:

Package Type Update Change
rules_jvm_external bazel_dep major 6.97.0

Release Notes

bazelbuild/rules_jvm_external (rules_jvm_external)

v7.0

Compare Source

Please note The lock file format was changed in rules_jvm_external 5.1 and in 6.10. If you update and repin your dependencies, your lock file will use the new format.

Usage

This version of rules_jvm_external requires Bazel 7.7.1 or Bazel 8.6.0 or Bazel 9.

This release requires Java 11 or above to run, both as the host JDK and the build and tool JDK.

Bzlmod

In your MODULE.bazel file:

bazel_dep(name = "rules_jvm_external", version = "7.0")

To add dependencies, later in your MODULE.bazel file:

maven = use_extension("@​rules_jvm_external//:extensions.bzl", "maven")

maven.install(
    artifacts = [
        "org.seleniumhq.selenium:selenium-java:4.43.0",
    ],
    lock_file = "//:maven_install.json",
)

use_repo(maven, "maven")
Using dependencies

In your BUILD.bazel file, reference the targets directly:

java_library(
    name = "example",
    exports = [
        "@​maven//:org_seleniumhq_selenium_selenium_java",
    ],
)

What's Changed

New Contributors

Full Changelog: bazel-contrib/rules_jvm_external@6.10...7.0

v6.10

Compare Source

Please note The lock file format was changed in rules_jvm_external 5.1 and again in 6.10. If you update and repin your dependencies, your lock file will use the new format.

Usage

This version of rules_jvm_external requires Bazel 6.5.0, Bazel 7.6.1 or Bazel 8.5.0 or Bazel 9.

This release requires Java 11 or above to run, both as the host JDK and the build and tool JDK.

Bzlmod

If you are using Bazel 7 or above, in your MODULE.bazel file:

bazel_dep(name = "rules_jvm_external", version = "6.10")

To add dependencies, later in your MODULE.bazel file:

maven = use_extension("@​rules_jvm_external//:extensions.bzl", "maven")

maven.install(
    artifacts = [
        "org.seleniumhq.selenium:selenium-java:4.40.0",
    ],
    lock_file = "//:maven_install.json",
)

use_repo(maven, "maven")
Workspace-based builds

In your WORKSPACE file, add:

load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

RULES_JVM_EXTERNAL_TAG = "6.10"
RULES_JVM_EXTERNAL_SHA = "e5f83b8f2678d2b26441e5eafefb1b061826608417b8d24e5e8e15e585eab1ba"

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/bazel-contrib/rules_jvm_external/releases/download/%s/rules_jvm_external-%s.tar.gz" % (RULES_JVM_EXTERNAL_TAG, RULES_JVM_EXTERNAL_TAG)
)

load("@​rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")

rules_jvm_external_deps()

load("@​rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")

rules_jvm_external_setup()

Then, later in your WORKSPACE file, you can pull in dependencies from a maven repository:

load("@​rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
    artifacts = [
        "org.seleniumhq.selenium:selenium-java:4.38.0",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
    maven_install_json = "//:maven_install.json",
)
Using dependencies

In your BUILD.bazel file, reference the targets directly:

java_library(
    name = "example",
    exports = [
        "@​maven//:org_seleniumhq_selenium_selenium_java",
    ],
)

What's Changed

New Contributors

Full Changelog: bazel-contrib/rules_jvm_external@6.9...6.10


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 23, 2026

📝 Walkthrough

Walkthrough

The PR updates the Bazel Java toolchain MODULE to use rules_jvm_external version 7.0 instead of 6.9 by changing the single dependency declaration; no other files or configurations are modified.

Changes

Bazel Dependency Version Bump

Layer / File(s) Summary
Dependency Version Upgrade
third_party/java/toolchains.MODULE.bazel
rules_jvm_external bazel_dep version is incremented from 6.9 to 7.0.

Possibly related PRs

  • ffortier/mono#463: Previously bumped rules_jvm_external from 6.8 to 6.9 in the same MODULE.bazel file.
  • ffortier/mono#267: Earlier modifications to the same Bazel module file for rules_jvm_external dependency updates.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A hop, a hop, a single-line cheer,
From six-point-nine to seven it steers,
MODULE tweaked with a tiny shove,
The build nods on — a rabbit's love,
🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating the rules_jvm_external dependency to v7, which matches the single file modification in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/rules_jvm_external-7.x

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ffortier ffortier force-pushed the renovate/rules_jvm_external-7.x branch from 05116c3 to 4632bbc Compare April 29, 2026 04:26
@ffortier ffortier force-pushed the renovate/rules_jvm_external-7.x branch from 4632bbc to 2dcd178 Compare May 10, 2026 21:39
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@third_party/java/toolchains.MODULE.bazel`:
- Line 2: You updated the bazel_dep entry bazel_dep(name = "rules_jvm_external",
version = "7.0") but did not repin the Maven lock file; regenerate the
maven_install.json lockfile used by rules_jvm_external (i.e., run the
rules_jvm_external pinning/lock generation workflow to produce an updated
maven_install.json compatible with v7.0), replace the existing lockfile with the
regenerated one, and commit the updated maven_install.json so the repo and the
new bazel_dep version are consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0f91fc20-555e-45b6-a1f0-ea177e3cf05d

📥 Commits

Reviewing files that changed from the base of the PR and between 4dbdaa7 and 2dcd178.

⛔ Files ignored due to path filters (1)
  • MODULE.bazel.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • third_party/java/toolchains.MODULE.bazel

@@ -1,2 +1,2 @@
bazel_dep(name = "rules_java", version = "9.6.1")
bazel_dep(name = "rules_jvm_external", version = "6.9")
bazel_dep(name = "rules_jvm_external", version = "7.0")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify Bazel version, Java version, and check for lock files

echo "=== Checking Bazel version ==="
# Check .bazelversion file for pinned Bazel version
if [ -f .bazelversion ]; then
  echo "Bazel version pinned in .bazelversion:"
  cat .bazelversion
else
  echo "No .bazelversion file found"
fi

# Check MODULE.bazel for any Bazel version constraints
if [ -f MODULE.bazel ]; then
  echo -e "\nChecking MODULE.bazel for Bazel version constraints:"
  rg -n "bazel_compatibility|compatibility" MODULE.bazel || echo "No Bazel compatibility constraints found"
fi

echo -e "\n=== Checking for Java version configuration ==="
# Check for Java toolchain configuration
rg -n "java_runtime|java_toolchain" --type=bazel -C 3

echo -e "\n=== Checking for lock files that may need repinning ==="
# Look for maven_install lock files
fd -e json -e lock . --exec echo "Found lock file: {}"

echo -e "\n=== Checking for workspace-based rules_jvm_external usage ==="
# rules_jvm_external v7 removed workspace-based dependencies
# Check if WORKSPACE file has rules_jvm_external references
if [ -f WORKSPACE ]; then
  rg -n "rules_jvm_external" WORKSPACE && echo "WARNING: Found workspace-based rules_jvm_external usage" || echo "No workspace-based usage found"
fi
if [ -f WORKSPACE.bazel ]; then
  rg -n "rules_jvm_external" WORKSPACE.bazel && echo "WARNING: Found workspace-based rules_jvm_external usage" || echo "No workspace-based usage found"
fi

Repository: ffortier/mono

Length of output: 1810


Repin maven_install.json after upgrading rules_jvm_external to v7.0.

The Bazel version (9.1.0) and Java version (21) meet the requirements for v7.0. However, the maven_install.json lock file at third_party/java/maven_install.json must be repinned to ensure consistency with the upgraded version.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@third_party/java/toolchains.MODULE.bazel` at line 2, You updated the
bazel_dep entry bazel_dep(name = "rules_jvm_external", version = "7.0") but did
not repin the Maven lock file; regenerate the maven_install.json lockfile used
by rules_jvm_external (i.e., run the rules_jvm_external pinning/lock generation
workflow to produce an updated maven_install.json compatible with v7.0), replace
the existing lockfile with the regenerated one, and commit the updated
maven_install.json so the repo and the new bazel_dep version are consistent.

@ffortier ffortier force-pushed the renovate/rules_jvm_external-7.x branch from 2dcd178 to a5e46cc Compare May 12, 2026 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants