Skip to content

Choose a tag to compare

@shs96c shs96c released this 04 Nov 16:25
· 4 commits to master since this release
425cdc8

Please note The lock file format was changed in rules_jvm_external 5.1. 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.

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.9")

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.38.0",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
    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.9"
RULES_JVM_EXTERNAL_SHA = "3c41eae4226a7dfdce7b213bc541557b8475c92da71e2233ec7c306630243a65"

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

  • Handle package in gradle versions files properly by @shs96c in #1419
  • Fetch transitive POMs in gradle resolver by @smocherla-brex in #1411
  • maven.override: make override alias preserve strict visibility of overridden target by @dmivankov in #1416
  • Indicate which install tag has duplicate coordinates by @shs96c in #1422
  • Require force_version for root module artifact to take precedence by @shs96c in #1423
  • Generate @package_metadata info for jvm_import targets by @Yannic in #1410
  • Write exclusions to pom.xml by @vinnybod in #1375
  • set -XX:+ExitOnOutOfMemoryError when invoking coursier by @mattnworb in #1433
  • Remove asc signatures on checksums in MavenPublisher by @l46kok in #1430
  • Add support for publishing maven-metadata.xml by @fzakaria in #1260
  • Maintain Starlark insertion order for repositories by @jjudd in #1447
  • Do not use import scope in dependencies by @honnix in #1432
  • Fix issue where MavenPublisher hangs indefinitely by @vinnybod in #1444
  • Expose CreateJar as a rule by @vinnybod in #1449
  • Add more unit tests for gradle resolver by @smocherla-brex in #1457
  • Ensure resolved artifact hash is calculated the same way in Java and Starlark by @shs96c in #1462
  • [gradle] Symlink user cache dir when RJE_UNSAFE_CACHE is set by @shs96c in #1448
  • Untangle resolvers by @shs96c in #1458
  • Ensure packaging is respected when resolving artifacts by @shs96c in #1463
  • ci: Enable Local test examples on macOS by @utzcoz in #1459
  • Handle all known variants used in gradle version catalogues by @shs96c in #1468
  • Fix gradle resolver to throw exception on unresolved dependencies by @smocherla-brex in #1466
  • Fix cycles with some dependencies with gradle resolver by @smocherla-brex in #1472

New Contributors

Full Changelog: 6.8...6.9