4.3
Usage
This version of rules_jvm_external
requires Bazel 4 or above.
In your WORKSPACE file, add:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
RULES_JVM_EXTERNAL_TAG = "4.3"
RULES_JVM_EXTERNAL_SHA = "6274687f6fc5783b589f56a2f1ed60de3ce1f99bc4e8f9edef3de43bdf7c6e74"
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/archive/refs/tags/%s.zip" % 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()
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = [
"junit:junit:4.13.2",
"androidx.test.espresso:espresso-core:3.1.1",
"org.hamcrest:hamcrest-library:2.2",
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
In your BUILD file, reference the targets directly:
java_library(
name = "java_test_deps",
exports = [
"@maven//:junit_junit",
"@maven//:org_hamcrest_hamcrest_library",
],
)
android_library(
name = "android_test_deps",
exports = [
"@maven//:junit_junit",
"@maven//:androidx_test_espresso_espresso_core",
],
)
Users upgrading from previous versions are advised to repin their dependencies as the format of the lock file has been updated: bazel run @unpinned_maven//:pin
New features
These are the notable changes for 4.2. For the full list, see this page.
- @shs96c Create a Maven BOM (#731)
- @deannagarcia Add kt_jvm_export rule (#656)
- @smocherla-brex Add support for m2Local repository (#695)
- @hisener Add Amazon S3 support to
java_export
(#696) - @illicitonion Add index of packages in jar files when pinning (#716)
- @beasleyr-vmw Support XDG_CACHE_HOME as used by Coursier (#639)
- @tsawada
java_export
to inherittestonly
on its sub-targets (#674) - @shs96c Use bazel's native json decode method (#659)
- @dmivankov Add new strict_visibility_value= attribute to allow exposing strict dependencies to some scopes (#649)
- @dmivankov Allow setting
:scope
via maven coords too (#646) - @dmivankov Expose list of all artifacts, including transitive (#648)
Bug fixes
- @jin Update from vulnerable 2.x log4j version (#631, #633)
- @hisener Set visibility in all
java_export
targets (#710) - @tsawada java_export: set default
testonly = None
(#675) - @beasleyr-vmw Respect
NO_PROXY=.example.com
(#637) - @dhalperi pin.sh: also sort dependencies by coordinate (#652)
- @NathanHowell Don't fail if an error response is missing during publishing (#699)
- @tjoneslo Fix the Boringssl static dependency loop (#687)
- @dmivankov Propagate bazel tags= in java_export sub-targets (#647)
- @shs96c Allow compile jars to strip illegal automatic module names (#673)
- @shs96c Use buffered IO when writing the output jar (#666)
Project health
- @shs96c Tidy up structure of rules_jvm_external (#628)
- @Wyverald Update rules_kotlin version (#717)
- @utzcoz Add kt_android_local_test demo (#713)
- @utzcoz Upgrade rules_kotlin to 1.6.0 for kotlin_android_app (#715)
- @Bencodes Pass
downloaded_file_path
tohttp_file
by (#702) - @shs96c Merge jar files without unpacking them by @shs96c (#651, #655)
- @Wyverald Upgrade protobuf version to 3.20.0 (#677)
- @dmivankov Don't use jcenter.bintray.com in test, it is sort of EOL (#657)
- @perezd Add explicit jq-linux condition for linux_aarch64 (#661)
New Contributors
- @perezd made their first contribution in #661
- @deannagarcia made their first contribution in #656
- @mauriciogg made their first contribution in #666
- @tsawada made their first contribution in #674
- @Wyverald made their first contribution in #677
- @aiuto made their first contribution in #690
- @cushon made their first contribution in #681
- @tjoneslo made their first contribution in #687
- @NathanHowell made their first contribution in #699
- @hisener made their first contribution in #696
- @smocherla-brex made their first contribution in #695