6.3
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 5.4.1, Bazel 6.5.0, or Bazel 7 or above.
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.3")
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.16.1",
],
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.3"
RULES_JVM_EXTERNAL_SHA = "c18a69d784bcd851be95897ca0eca0b57dc86bb02e62402f15736df44160eb02"
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)
)
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.16.1",
],
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
- Fix TOC entry for bzlmod usage by @jvolkman in #1194
- Add a
maven.artifact
tag example into the bzlmod readme. by @jin in #1195 - Update bzlmod.md to remove unpinned_maven by @mbland in #1198
- Update bzlmod.md to reflect that gazelle support is now available by @chrismgrayftsinc in #1199
- Track whether a repo is pinned or unpinned by explicit attr by @plobsing in #1204
- Support plus as repo name delimiter in query-result normalization logic by @plobsing in #1211
- Remove repositories attr from maven.artifact by @plobsing in #1202
- [Upstream] Add pgp in memory signing support by @ThomasCJY in #1191
- handle transitive dependencies of packaging=pom by @mattnworb in #1207
- Upgrade rules_java to 7.10.0 by @comius in #1226
- Retain comments / licenses in service provider files when merging jars by @vinnybod in #1123
- Remove hardcoded javadocopts by @vinnybod in #1212
- Add sha256 and sha512 to MavenPublisher by @vinnybod in #1240
- Skip non-class files in the exclusions processing for MergeJars by @vinnybod in #1239
- Add support for resources in javadoc jars and make variable substitution in javadoc arguments by @vinnybod in #1238
- Allow
jvm_import
to accept ajar
parameter by @shs96c in #1242 jvm_import
andjava_export
targets now include aPackageInfo
provider @shs96c in #1232
New Contributors
- @jvolkman made their first contribution in #1194
- @mbland made their first contribution in #1198
- @chrismgrayftsinc made their first contribution in #1199
- @plobsing made their first contribution in #1204
- @ThomasCJY made their first contribution in #1191
Full Changelog: 6.2...6.3