From 5a3d73998540efa5fc0f816a2fa503fe1ff5fd0a Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Thu, 12 Dec 2024 18:40:36 +0000 Subject: [PATCH 1/6] Update rules_android. Reapply ba7310ce4a1d8fb14434597fbc7440a4074f7695 --- .bazelrc | 3 +- MODULE.bazel | 8 +- WORKSPACE | 33 +- WORKSPACE.bzlmod | 1 - maven_install.json | 925 +++++++++++++++++- private/rules/coursier.bzl | 6 +- private/rules/maven_install.bzl | 12 +- tests/integration/override_targets/BUILD | 10 + .../integration/override_targets/Loader.java | 14 + tests/unit/aar_import/BUILD | 10 + 10 files changed, 964 insertions(+), 58 deletions(-) create mode 100644 tests/integration/override_targets/Loader.java diff --git a/.bazelrc b/.bazelrc index 6a29a4ca9..c37bec56f 100644 --- a/.bazelrc +++ b/.bazelrc @@ -7,7 +7,8 @@ build --tool_java_runtime_version=remotejdk_11 build --experimental_strict_java_deps=strict build --explicit_java_test_deps -build --experimental_sibling_repository_layout +# Re-enable once https://github.com/bazelbuild/rules_go/issues/3947 is addressed. +#build --experimental_sibling_repository_layout # Make sure we get something helpful when tests fail test --verbose_failures diff --git a/MODULE.bazel b/MODULE.bazel index 682c38aaf..7e53d1954 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,7 +6,7 @@ module( bazel_dep( name = "rules_android", - version = "0.1.1", + version = "0.5.1", ) bazel_dep( name = "bazel_features", @@ -44,6 +44,12 @@ bazel_dep( repo_name = "io_bazel_stardoc", ) +git_override( + module_name = "rules_android", + remote = "https://github.com/bazelbuild/rules_android.git", + commit = "bd6d0e3644cb6d7183280a2e01a644677f64430d", +) + # Remove this once rules_android has rolled out official Bzlmod support remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions") use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools") diff --git a/WORKSPACE b/WORKSPACE index 543b0e6dd..802bccf67 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,9 +1,5 @@ workspace(name = "rules_jvm_external") -android_sdk_repository(name = "androidsdk") - -android_ndk_repository(name = "androidndk") - load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") load( "//private:versions.bzl", @@ -530,9 +526,10 @@ maven_install( maven_install( name = "starlark_aar_import_with_sources_test", - # Not actually necessary since this is the default value, but useful for - # testing. - aar_import_bzl_label = "@build_bazel_rules_android//android:rules.bzl", + # The default is "@rules_android//rules:rules.bzl" but use + # "@rules_android//android:rules.bzl" with the older 0.1.1 release + # to use the native rules. + aar_import_bzl_label = "@rules_android//android:rules.bzl", artifacts = [ "androidx.work:work-runtime:2.6.0", ], @@ -546,9 +543,10 @@ maven_install( maven_install( name = "starlark_aar_import_test", - # Not actually necessary since this is the default value, but useful for - # testing. - aar_import_bzl_label = "@build_bazel_rules_android//android:rules.bzl", + # The default is "@rules_android//rules:rules.bzl" but use + # "@rules_android//android:rules.bzl" with the older 0.1.1 release + # to use the native rules. + aar_import_bzl_label = "@rules_android//android:rules.bzl", artifacts = [ "com.android.support:appcompat-v7:28.0.0", ], @@ -561,12 +559,17 @@ maven_install( ) # for the above "starlark_aar_import_test" maven_install with -# use_starlark_android_rules = True +# use_starlark_android_rules = True. +# Note that this version is different from the version in MODULE.bazel +# because the latest versions of rules_android do not support Bazel 5 or 6, +# which rules_jvm_external supports and uses in CI tests. So use +# rules_android 0.1.1, which are wrappers around the native Android rules, +# since the tests with Bazel 5 and 6 do no use bzlmod. http_archive( - name = "build_bazel_rules_android", - sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", - strip_prefix = "rules_android-0.1.1", - urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"], + name = "rules_android", + sha256 = "fe3d8c4955857b44019d83d05a0b15c2a0330a6a0aab990575bb397e9570ff1b", + strip_prefix = "rules_android-0.6.0-alpha1", + url = "https://github.com/bazelbuild/rules_android/releases/download/v0.6.0-alpha1/rules_android-v0.6.0-alpha1.tar.gz", ) # https://github.com/bazelbuild/rules_jvm_external/issues/351 diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod index 5065547c2..f9d6955f9 100644 --- a/WORKSPACE.bzlmod +++ b/WORKSPACE.bzlmod @@ -2,4 +2,3 @@ workspace(name = "rules_jvm_external") # Use this until we can use some pure-bzlmod approach android_sdk_repository(name = "androidsdk") -android_ndk_repository(name = "androidndk") diff --git a/maven_install.json b/maven_install.json index 3a6596559..8a8df4a4b 100644 --- a/maven_install.json +++ b/maven_install.json @@ -1,16 +1,76 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 1138598656, - "__RESOLVED_ARTIFACTS_HASH": -1439644340, + "__INPUT_ARTIFACTS_HASH": -670987621, + "__RESOLVED_ARTIFACTS_HASH": 499870180, "conflict_resolution": { - "com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.11.0" + "com.google.code.gson:gson:2.8.9": "com.google.code.gson:gson:2.10.1", + "com.google.errorprone:error_prone_annotations:2.23.0": "com.google.errorprone:error_prone_annotations:2.24.1", + "com.google.errorprone:error_prone_annotations:2.5.1": "com.google.errorprone:error_prone_annotations:2.24.1", + "com.google.guava:guava:31.1-jre": "com.google.guava:guava:33.0.0-jre", + "com.google.guava:guava:32.0.1-jre": "com.google.guava:guava:33.0.0-jre", + "com.google.truth:truth:1.1.2": "com.google.truth:truth:1.4.0", + "org.mockito:mockito-core:4.3.1": "org.mockito:mockito-core:5.4.0" }, "artifacts": { + "biz.aQute.bnd:biz.aQute.bnd.util": { + "shasums": { + "jar": "65b5bd4a0fab16812f1800c98ff74a038f37a38bfe899af382efed4efdc1e3e1" + }, + "version": "6.4.0" + }, + "biz.aQute.bnd:biz.aQute.bndlib": { + "shasums": { + "jar": "357145074872f9dbf67e629fcd237e6152707e575d735df4535282f9f588d2d8" + }, + "version": "6.4.0" + }, "com.google.auto.value:auto-value-annotations": { "shasums": { - "jar": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3" + "jar": "e1c45e6beadaef9797cb0d9afd5a45621ad061cd8632012f85582853a3887825" }, - "version": "1.7.4" + "version": "1.10.4" + }, + "com.google.caliper:caliper": { + "shasums": { + "jar": "d54e1bfdbe9359a79e175c217b8d472555cf20da9c5c0a18bdb1ea7db979ed8e" + }, + "version": "1.0-beta-3" + }, + "com.google.caliper:caliper-api": { + "shasums": { + "jar": "374f0c6c0c1f8784cb69d885e1dcbb7498c34ca20369e0597264568530642928" + }, + "version": "1.0-beta-3" + }, + "com.google.caliper:caliper-core": { + "shasums": { + "jar": "514deac8f8b09dd4262733e0a4406a333208c899dc7ea726b03600b9bb94f192" + }, + "version": "1.0-beta-3" + }, + "com.google.caliper:caliper-runner": { + "shasums": { + "jar": "3ab58890aa01343361adedf859500d280f67813df0cedfcd165b169533b9b1fa" + }, + "version": "1.0-beta-3" + }, + "com.google.caliper:caliper-util": { + "shasums": { + "jar": "6e9af500c7020450dfdb5003d09501d512d395f431c54c7ee8f79e712463fe66" + }, + "version": "1.0-beta-3" + }, + "com.google.caliper:caliper-worker": { + "shasums": { + "jar": "315d8e51df1f60551645a0e3bf2c504d2c79762f688e6f728eb9d1d9cd9a491b" + }, + "version": "1.0-beta-3" + }, + "com.google.caliper:caliper-worker-jvm": { + "shasums": { + "jar": "e14e1ecfdf939c82abdb902105be41ff3f83c18cb968116232015f2662d065a4" + }, + "version": "1.0-beta-3" }, "com.google.code.findbugs:jsr305": { "shasums": { @@ -20,33 +80,51 @@ }, "com.google.code.gson:gson": { "shasums": { - "jar": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e" + "jar": "4241c14a7727c34feea6507ec801318a3d4a90f070e4525681079fb94ee4c593" + }, + "version": "2.10.1" + }, + "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter": { + "shasums": { + "jar": "1ef5535a8bd41cf3072469f381b9ee6ab28275311a7499f53d6e52adf976fef0" + }, + "version": "3.3.0" + }, + "com.google.dagger:dagger": { + "shasums": { + "jar": "329d4340f24c4f5717af016c097e90668bfea2a5376e6aa9964b01cef3fd241a" + }, + "version": "2.22.1" + }, + "com.google.dagger:dagger-producers": { + "shasums": { + "jar": "f834a0082014213a68ff06a0f048d750178d02196c58b0b15beb367d32b97e35" }, - "version": "2.8.9" + "version": "2.22.1" }, "com.google.errorprone:error_prone_annotations": { "shasums": { - "jar": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec" + "jar": "19fe2f7155d20ea093168527999da98108103ee546d1e8b726bc4b27c31a3c30" }, - "version": "2.11.0" + "version": "2.24.1" }, "com.google.guava:failureaccess": { "shasums": { - "jar": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26" + "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064" }, - "version": "1.0.1" + "version": "1.0.2" }, "com.google.guava:guava": { "shasums": { - "jar": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab" + "jar": "f4d85c3e4d411694337cb873abea09b242b664bb013320be6105327c45991537" }, - "version": "31.1-jre" + "version": "33.0.0-jre" }, "com.google.guava:guava-testlib": { "shasums": { - "jar": "aadc71b10d5c3ac474dd16be84cfb18d257e584d1e0a59f8cab64ef4376226ce" + "jar": "c97511849a5e085280f106df2b059566febd280b118d33d6a9e068d238100b63" }, - "version": "31.1-jre" + "version": "32.0.1-jre" }, "com.google.guava:listenablefuture": { "shasums": { @@ -56,15 +134,81 @@ }, "com.google.j2objc:j2objc-annotations": { "shasums": { - "jar": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b" + "jar": "f02a95fa1a5e95edb3ed859fd0fb7df709d121a35290eff8b74dce2ab7f4d6ed" + }, + "version": "2.8" + }, + "com.google.protobuf:protobuf-java": { + "shasums": { + "jar": "becb817df6e8a1a8de2bf5ff0157fa008f23ac037ab30b7ed5cd43662be145d5" + }, + "version": "4.27.2" + }, + "com.google.protobuf:protobuf-java-util": { + "shasums": { + "jar": "a2665294d3e4675482bde593df8283f8c965f0207785e8e9b223f790644f5b08" }, - "version": "1.3" + "version": "4.27.2" }, "com.google.truth:truth": { "shasums": { - "jar": "a85e03b8b6ae8780f060cfded9500a3d1b5f52808f99a2ea6da9c683313c7518" + "jar": "235c28e96ee6701ab01cc852fb294cb0f34756f636a8154b9aef08fb1215bbc4" + }, + "version": "1.4.0" + }, + "com.squareup.okhttp:okhttp": { + "shasums": { + "jar": "88ac9fd1bb51f82bcc664cc1eb9c225c90dc4389d660231b4cc737bebfe7d0aa" + }, + "version": "2.7.5" + }, + "com.squareup.okio:okio": { + "shasums": { + "jar": "114bdc1f47338a68bcbc95abf2f5cdc72beeec91812f2fcd7b521c1937876266" + }, + "version": "1.6.0" + }, + "com.sun.jersey:jersey-client": { + "shasums": { + "jar": "639c825c5db580f8115bf49ffc893093526d2ed1079fbc929b6a5fbd0b2eda40" }, - "version": "1.1.2" + "version": "1.19.4" + }, + "com.sun.jersey:jersey-core": { + "shasums": { + "jar": "64b03198e0264849d0fc341857ebcc9c882b1909a2dc35a0972fe7d901b826e5" + }, + "version": "1.19.4" + }, + "info.picocli:picocli": { + "shasums": { + "jar": "b0a5159e926de8084ff066025142270443533656bc599b8bb31d14d11fd138a4" + }, + "version": "4.6.3" + }, + "javax.annotation:javax.annotation-api": { + "shasums": { + "jar": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b" + }, + "version": "1.3.2" + }, + "javax.inject:javax.inject": { + "shasums": { + "jar": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff" + }, + "version": "1" + }, + "javax.ws.rs:jsr311-api": { + "shasums": { + "jar": "ab1534b73b5fa055808e6598a5e73b599ccda28c3159c3c0908977809422ee4a" + }, + "version": "1.1.1" + }, + "joda-time:joda-time": { + "shasums": { + "jar": "dd8e7c92185a678d1b7b933f31209b6203c8ffa91e9880475a1be0346b9617e3" + }, + "version": "2.10.10" }, "junit:junit": { "shasums": { @@ -74,21 +218,27 @@ }, "net.bytebuddy:byte-buddy": { "shasums": { - "jar": "d2e46555699e70361b5471a7e142f9c67855bba6907a285177ebd8ad973775d8" + "jar": "e99761a526df0fefbbd3fe14436b0f953000cdfa5151dc63c0b18d37d9c46f1c" }, - "version": "1.12.7" + "version": "1.14.5" }, "net.bytebuddy:byte-buddy-agent": { "shasums": { - "jar": "73d84bb6e8e8980e674d796a29063f510ceb527c6f8c912a08a13e236be05c71" + "jar": "55f19862b870f5d85890ba5386b1b45e9bbc88d5fe1f819abe0c788b4929fa6b" + }, + "version": "1.14.5" + }, + "org.checkerframework:checker-compat-qual": { + "shasums": { + "jar": "d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d" }, - "version": "1.12.7" + "version": "2.5.3" }, "org.checkerframework:checker-qual": { "shasums": { - "jar": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" + "jar": "ccaedd33af0b7894d9f2f3b644f4d19e43928e32902e61ac4d10777830f5aac7" }, - "version": "3.12.0" + "version": "3.42.0" }, "org.hamcrest:hamcrest": { "shasums": { @@ -104,24 +254,193 @@ }, "org.mockito:mockito-core": { "shasums": { - "jar": "148de2c6928365db29443ca12d35c930d9f481172b934fdd801d1cb1409ea83a" + "jar": "b1689b06617ea01fd777bfaedbdde512faf083d639a049f79b388d5a4e96d2e5" }, - "version": "4.3.1" + "version": "5.4.0" }, "org.objenesis:objenesis": { "shasums": { - "jar": "03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3" + "jar": "02dfd0b0439a5591e35b708ed2f5474eb0948f53abf74637e959b8e4ef69bfeb" + }, + "version": "3.3" + }, + "org.osgi:org.osgi.dto": { + "shasums": { + "jar": "cb75f3c7e48e5a31a31df22e26873346f5bf659e2dcab2369e031e4850d2ff43" + }, + "version": "1.0.0" + }, + "org.osgi:org.osgi.framework": { + "shasums": { + "jar": "ec194b7871af27681716ff05259319a5c3c9b9727e8000e9e832499b93484b4e" + }, + "version": "1.8.0" + }, + "org.osgi:org.osgi.resource": { + "shasums": { + "jar": "81fc50f1f1d38a4af28e131907d4afe213249aab05060484edca0e60c4af9b4a" + }, + "version": "1.0.0" + }, + "org.osgi:org.osgi.service.log": { + "shasums": { + "jar": "ff6710c4856d32684cf3ebdc45248f41036ff734f2b03bbc08c4609a61fecfa0" + }, + "version": "1.3.0" + }, + "org.osgi:org.osgi.service.repository": { + "shasums": { + "jar": "c5553e95b459529192433486d4c4cc22ff45a2eae4968484f9f717319264a532" + }, + "version": "1.1.0" + }, + "org.osgi:org.osgi.util.function": { + "shasums": { + "jar": "208819c7c71690c15a6bb8b187474e7f9d0147946b680182a62b9f222ae014ec" + }, + "version": "1.2.0" + }, + "org.osgi:org.osgi.util.promise": { + "shasums": { + "jar": "fef86e64f584d012a16a0306160764f6179663b90988a226c4641b920f3a4b36" + }, + "version": "1.2.0" + }, + "org.osgi:org.osgi.util.tracker": { + "shasums": { + "jar": "7d78c2cc9bcb6421c24f17aa097866ce8d9115c219a4f8d6cc753bc4dfb97efa" + }, + "version": "1.5.4" + }, + "org.osgi:osgi.annotation": { + "shasums": { + "jar": "a0e8a4c362bd3600812f37b0ea45fba966c7bc049d01fed56a09ecc74082759e" }, - "version": "3.2" + "version": "8.0.1" }, "org.ow2.asm:asm": { "shasums": { - "jar": "0df97574914aee92fd349d0cb4e00f3345d45b2c239e0bb50f0a90ead47888e0" + "jar": "3c6fac2424db3d4a853b669f4e3d1d9c3c552235e19a319673f887083c2303a1" + }, + "version": "9.6" + }, + "org.ow2.asm:asm-analysis": { + "shasums": { + "jar": "be922aae60ff1ff1768e8e6544a38a7f92bd0a6d6b0b9791f94955d1bd453de2" + }, + "version": "7.2" + }, + "org.ow2.asm:asm-commons": { + "shasums": { + "jar": "0e86b8b179c5fb223d1a880a0ff4960b6978223984b94e62e71135f2d8ea3558" + }, + "version": "7.2" + }, + "org.ow2.asm:asm-tree": { + "shasums": { + "jar": "c063f5a67fa03cdc9bd79fd1c2ea6816cc4a19473ecdfbd9e9153b408c6f2656" + }, + "version": "7.2" + }, + "org.ow2.asm:asm-util": { + "shasums": { + "jar": "6e24913b021ffacfe8e7e053d6e0ccc731941148cfa078d4f1ed3d96904530f8" }, - "version": "9.0" + "version": "7.2" + }, + "org.slf4j:slf4j-api": { + "shasums": { + "jar": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79" + }, + "version": "1.7.25" } }, "dependencies": { + "biz.aQute.bnd:biz.aQute.bndlib": [ + "biz.aQute.bnd:biz.aQute.bnd.util", + "org.osgi:org.osgi.dto", + "org.osgi:org.osgi.framework", + "org.osgi:org.osgi.resource", + "org.osgi:org.osgi.service.log", + "org.osgi:org.osgi.service.repository", + "org.osgi:org.osgi.util.function", + "org.osgi:org.osgi.util.promise", + "org.osgi:org.osgi.util.tracker", + "org.slf4j:slf4j-api" + ], + "com.google.caliper:caliper": [ + "com.google.caliper:caliper-core", + "com.google.caliper:caliper-runner", + "com.google.caliper:caliper-worker-jvm", + "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter", + "com.google.dagger:dagger", + "com.google.guava:guava", + "com.sun.jersey:jersey-client" + ], + "com.google.caliper:caliper-api": [ + "com.google.guava:guava", + "joda-time:joda-time" + ], + "com.google.caliper:caliper-core": [ + "com.google.auto.value:auto-value-annotations", + "com.google.caliper:caliper-api", + "com.google.caliper:caliper-util", + "com.google.dagger:dagger", + "com.google.guava:guava", + "com.squareup.okhttp:okhttp", + "joda-time:joda-time" + ], + "com.google.caliper:caliper-runner": [ + "com.google.caliper:caliper-api", + "com.google.caliper:caliper-core", + "com.google.caliper:caliper-util", + "com.google.dagger:dagger", + "com.google.dagger:dagger-producers", + "com.google.guava:guava", + "com.squareup.okhttp:okhttp", + "joda-time:joda-time" + ], + "com.google.caliper:caliper-util": [ + "com.google.code.gson:gson", + "com.google.dagger:dagger", + "com.google.guava:guava", + "joda-time:joda-time" + ], + "com.google.caliper:caliper-worker": [ + "com.google.caliper:caliper-api", + "com.google.caliper:caliper-core", + "com.google.caliper:caliper-util", + "com.google.dagger:dagger", + "com.google.guava:guava", + "com.squareup.okhttp:okhttp", + "joda-time:joda-time" + ], + "com.google.caliper:caliper-worker-jvm": [ + "com.google.caliper:caliper-core", + "com.google.caliper:caliper-worker", + "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter", + "com.google.dagger:dagger", + "com.google.guava:guava", + "com.sun.jersey:jersey-client" + ], + "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter": [ + "com.google.guava:guava", + "javax.annotation:javax.annotation-api", + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-commons", + "org.ow2.asm:asm-tree", + "org.ow2.asm:asm-util" + ], + "com.google.dagger:dagger": [ + "javax.inject:javax.inject" + ], + "com.google.dagger:dagger-producers": [ + "com.google.dagger:dagger", + "com.google.guava:guava", + "javax.inject:javax.inject", + "org.checkerframework:checker-compat-qual" + ], "com.google.guava:guava": [ "com.google.code.findbugs:jsr305", "com.google.errorprone:error_prone_annotations", @@ -138,6 +457,14 @@ "junit:junit", "org.checkerframework:checker-qual" ], + "com.google.protobuf:protobuf-java-util": [ + "com.google.code.findbugs:jsr305", + "com.google.code.gson:gson", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.j2objc:j2objc-annotations", + "com.google.protobuf:protobuf-java" + ], "com.google.truth:truth": [ "com.google.auto.value:auto-value-annotations", "com.google.errorprone:error_prone_annotations", @@ -146,6 +473,15 @@ "org.checkerframework:checker-qual", "org.ow2.asm:asm" ], + "com.squareup.okhttp:okhttp": [ + "com.squareup.okio:okio" + ], + "com.sun.jersey:jersey-client": [ + "com.sun.jersey:jersey-core" + ], + "com.sun.jersey:jersey-core": [ + "javax.ws.rs:jsr311-api" + ], "junit:junit": [ "org.hamcrest:hamcrest-core" ], @@ -156,13 +492,237 @@ "net.bytebuddy:byte-buddy", "net.bytebuddy:byte-buddy-agent", "org.objenesis:objenesis" + ], + "org.osgi:org.osgi.util.function": [ + "org.osgi:osgi.annotation" + ], + "org.osgi:org.osgi.util.promise": [ + "org.osgi:org.osgi.util.function", + "org.osgi:osgi.annotation" + ], + "org.osgi:org.osgi.util.tracker": [ + "org.osgi:osgi.annotation" + ], + "org.ow2.asm:asm-analysis": [ + "org.ow2.asm:asm-tree" + ], + "org.ow2.asm:asm-commons": [ + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-tree" + ], + "org.ow2.asm:asm-tree": [ + "org.ow2.asm:asm" + ], + "org.ow2.asm:asm-util": [ + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-tree" ] }, "packages": { + "biz.aQute.bnd:biz.aQute.bnd.util": [ + "aQute.bnd.classfile", + "aQute.bnd.classfile.builder", + "aQute.bnd.classfile.preview", + "aQute.bnd.exceptions", + "aQute.bnd.memoize", + "aQute.bnd.result", + "aQute.bnd.signatures", + "aQute.bnd.stream", + "aQute.bnd.unmodifiable", + "aQute.lib.io", + "aQute.lib.stringrover", + "aQute.libg.glob" + ], + "biz.aQute.bnd:biz.aQute.bndlib": [ + "aQute.bnd.annotation", + "aQute.bnd.annotation.baseline", + "aQute.bnd.annotation.component", + "aQute.bnd.annotation.headers", + "aQute.bnd.annotation.jpms", + "aQute.bnd.annotation.licenses", + "aQute.bnd.annotation.metatype", + "aQute.bnd.annotation.plugin", + "aQute.bnd.annotation.service", + "aQute.bnd.annotation.spi", + "aQute.bnd.annotation.xml", + "aQute.bnd.apiguardian.api", + "aQute.bnd.aspectj.plugin", + "aQute.bnd.build", + "aQute.bnd.build.api", + "aQute.bnd.build.model", + "aQute.bnd.build.model.clauses", + "aQute.bnd.build.model.conversions", + "aQute.bnd.buildtool", + "aQute.bnd.bundle.annotations", + "aQute.bnd.cdi", + "aQute.bnd.classindex", + "aQute.bnd.compatibility", + "aQute.bnd.component", + "aQute.bnd.component.annotations", + "aQute.bnd.component.error", + "aQute.bnd.connection.settings", + "aQute.bnd.differ", + "aQute.bnd.exporter.executable", + "aQute.bnd.exporter.runbundles", + "aQute.bnd.filerepo", + "aQute.bnd.header", + "aQute.bnd.help", + "aQute.bnd.help.instructions", + "aQute.bnd.http", + "aQute.bnd.junit", + "aQute.bnd.make", + "aQute.bnd.make.calltree", + "aQute.bnd.make.component", + "aQute.bnd.make.coverage", + "aQute.bnd.make.metatype", + "aQute.bnd.maven", + "aQute.bnd.maven.support", + "aQute.bnd.metatype", + "aQute.bnd.metatype.annotations", + "aQute.bnd.obr", + "aQute.bnd.osgi", + "aQute.bnd.osgi.eclipse", + "aQute.bnd.osgi.repository", + "aQute.bnd.osgi.resource", + "aQute.bnd.plugin.ant", + "aQute.bnd.plugin.eclipse", + "aQute.bnd.plugin.git", + "aQute.bnd.plugin.gradle", + "aQute.bnd.plugin.jpms", + "aQute.bnd.plugin.maven", + "aQute.bnd.plugin.spi", + "aQute.bnd.print", + "aQute.bnd.properties", + "aQute.bnd.remoteworkspace.client", + "aQute.bnd.remoteworkspace.server", + "aQute.bnd.resource.repository", + "aQute.bnd.service", + "aQute.bnd.service.action", + "aQute.bnd.service.classparser", + "aQute.bnd.service.clipboard", + "aQute.bnd.service.diff", + "aQute.bnd.service.export", + "aQute.bnd.service.extension", + "aQute.bnd.service.externalplugin", + "aQute.bnd.service.generate", + "aQute.bnd.service.library", + "aQute.bnd.service.lifecycle", + "aQute.bnd.service.maven", + "aQute.bnd.service.message", + "aQute.bnd.service.progress", + "aQute.bnd.service.release", + "aQute.bnd.service.remotelaunch", + "aQute.bnd.service.remoteworkspace", + "aQute.bnd.service.reporter", + "aQute.bnd.service.repository", + "aQute.bnd.service.resolve.hook", + "aQute.bnd.service.specifications", + "aQute.bnd.service.url", + "aQute.bnd.service.verifier", + "aQute.bnd.signing", + "aQute.bnd.url", + "aQute.bnd.util.dto", + "aQute.bnd.util.home", + "aQute.bnd.util.repository", + "aQute.bnd.version", + "aQute.bnd.version.maven", + "aQute.bnd.xmlattribute", + "aQute.lib.aspects", + "aQute.lib.base64", + "aQute.lib.collections", + "aQute.lib.concurrent.serial", + "aQute.lib.concurrentinit", + "aQute.lib.converter", + "aQute.lib.date", + "aQute.lib.deployer", + "aQute.lib.fileset", + "aQute.lib.filter", + "aQute.lib.formatter", + "aQute.lib.hex", + "aQute.lib.hierarchy", + "aQute.lib.io", + "aQute.lib.json", + "aQute.lib.link", + "aQute.lib.manifest", + "aQute.lib.mavenpasswordobfuscator", + "aQute.lib.persistentmap", + "aQute.lib.redirect", + "aQute.lib.settings", + "aQute.lib.specinterface", + "aQute.lib.spring", + "aQute.lib.stringrover", + "aQute.lib.strings", + "aQute.lib.tag", + "aQute.lib.utf8properties", + "aQute.lib.watcher", + "aQute.lib.xml", + "aQute.lib.xpath", + "aQute.lib.zip", + "aQute.libg.command", + "aQute.libg.cryptography", + "aQute.libg.filelock", + "aQute.libg.generics", + "aQute.libg.glob", + "aQute.libg.gzip", + "aQute.libg.ints", + "aQute.libg.map", + "aQute.libg.qtokens", + "aQute.libg.reporter", + "aQute.libg.reporter.slf4j", + "aQute.libg.sed", + "aQute.libg.tuple", + "aQute.libg.uri", + "aQute.service.reporter" + ], "com.google.auto.value:auto-value-annotations": [ "com.google.auto.value", "com.google.auto.value.extension.memoized", - "com.google.auto.value.extension.serializable" + "com.google.auto.value.extension.serializable", + "com.google.auto.value.extension.toprettystring" + ], + "com.google.caliper:caliper": [ + "com.google.caliper.runner", + "com.google.caliper.runner.instrument", + "com.google.caliper.runner.resultprocessor" + ], + "com.google.caliper:caliper-api": [ + "com.google.caliper", + "com.google.caliper.api", + "com.google.caliper.model" + ], + "com.google.caliper:caliper-core": [ + "com.google.caliper.bridge", + "com.google.caliper.core", + "com.google.caliper.memory" + ], + "com.google.caliper:caliper-runner": [ + "com.google.caliper.runner", + "com.google.caliper.runner.config", + "com.google.caliper.runner.experiment", + "com.google.caliper.runner.instrument", + "com.google.caliper.runner.options", + "com.google.caliper.runner.resultprocessor", + "com.google.caliper.runner.server", + "com.google.caliper.runner.target", + "com.google.caliper.runner.worker", + "com.google.caliper.runner.worker.dryrun", + "com.google.caliper.runner.worker.targetinfo", + "com.google.caliper.runner.worker.trial" + ], + "com.google.caliper:caliper-util": [ + "com.google.caliper.json", + "com.google.caliper.util" + ], + "com.google.caliper:caliper-worker": [ + "com.google.caliper.worker", + "com.google.caliper.worker.connection", + "com.google.caliper.worker.handler", + "com.google.caliper.worker.instrument" + ], + "com.google.caliper:caliper-worker-jvm": [ + "com.google.caliper.worker" ], "com.google.code.findbugs:jsr305": [ "javax.annotation", @@ -180,6 +740,48 @@ "com.google.gson.reflect", "com.google.gson.stream" ], + "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter": [ + "com.google.monitoring.runtime.instrumentation", + "com.google.monitoring.runtime.instrumentation.asm", + "com.google.monitoring.runtime.instrumentation.asm.commons", + "com.google.monitoring.runtime.instrumentation.asm.signature", + "com.google.monitoring.runtime.instrumentation.asm.tree", + "com.google.monitoring.runtime.instrumentation.asm.tree.analysis", + "com.google.monitoring.runtime.instrumentation.asm.util", + "com.google.monitoring.runtime.instrumentation.checker.nullness.compatqual", + "com.google.monitoring.runtime.instrumentation.common.annotations", + "com.google.monitoring.runtime.instrumentation.common.base", + "com.google.monitoring.runtime.instrumentation.common.base.internal", + "com.google.monitoring.runtime.instrumentation.common.cache", + "com.google.monitoring.runtime.instrumentation.common.collect", + "com.google.monitoring.runtime.instrumentation.common.escape", + "com.google.monitoring.runtime.instrumentation.common.eventbus", + "com.google.monitoring.runtime.instrumentation.common.graph", + "com.google.monitoring.runtime.instrumentation.common.hash", + "com.google.monitoring.runtime.instrumentation.common.html", + "com.google.monitoring.runtime.instrumentation.common.io", + "com.google.monitoring.runtime.instrumentation.common.math", + "com.google.monitoring.runtime.instrumentation.common.net", + "com.google.monitoring.runtime.instrumentation.common.primitives", + "com.google.monitoring.runtime.instrumentation.common.reflect", + "com.google.monitoring.runtime.instrumentation.common.util.concurrent", + "com.google.monitoring.runtime.instrumentation.common.xml", + "com.google.monitoring.runtime.instrumentation.errorprone.annotations", + "com.google.monitoring.runtime.instrumentation.errorprone.annotations.concurrent", + "com.google.monitoring.runtime.instrumentation.j2objc.annotations", + "com.google.thirdparty.publicsuffix" + ], + "com.google.dagger:dagger": [ + "dagger", + "dagger.internal", + "dagger.multibindings" + ], + "com.google.dagger:dagger-producers": [ + "dagger.producers", + "dagger.producers.internal", + "dagger.producers.monitoring", + "dagger.producers.monitoring.internal" + ], "com.google.errorprone:error_prone_annotations": [ "com.google.errorprone.annotations", "com.google.errorprone.annotations.concurrent" @@ -211,6 +813,7 @@ "com.google.common.collect.testing", "com.google.common.collect.testing.features", "com.google.common.collect.testing.google", + "com.google.common.collect.testing.suites", "com.google.common.collect.testing.testers", "com.google.common.escape.testing", "com.google.common.testing", @@ -219,9 +822,88 @@ "com.google.j2objc:j2objc-annotations": [ "com.google.j2objc.annotations" ], + "com.google.protobuf:protobuf-java": [ + "com.google.protobuf", + "com.google.protobuf.compiler" + ], + "com.google.protobuf:protobuf-java-util": [ + "com.google.protobuf.util" + ], "com.google.truth:truth": [ "com.google.common.truth" ], + "com.squareup.okhttp:okhttp": [ + "com.squareup.okhttp", + "com.squareup.okhttp.internal", + "com.squareup.okhttp.internal.framed", + "com.squareup.okhttp.internal.http", + "com.squareup.okhttp.internal.io", + "com.squareup.okhttp.internal.tls" + ], + "com.squareup.okio:okio": [ + "okio" + ], + "com.sun.jersey:jersey-client": [ + "com.sun.jersey.api.client", + "com.sun.jersey.api.client.async", + "com.sun.jersey.api.client.config", + "com.sun.jersey.api.client.filter", + "com.sun.jersey.client.impl", + "com.sun.jersey.client.impl.async", + "com.sun.jersey.client.proxy", + "com.sun.jersey.client.urlconnection", + "com.sun.ws.rs.ext" + ], + "com.sun.jersey:jersey-core": [ + "com.sun.jersey.api.provider.jaxb", + "com.sun.jersey.api.representation", + "com.sun.jersey.api.uri", + "com.sun.jersey.core.header", + "com.sun.jersey.core.header.reader", + "com.sun.jersey.core.impl.provider.entity", + "com.sun.jersey.core.impl.provider.header", + "com.sun.jersey.core.impl.provider.xml", + "com.sun.jersey.core.osgi", + "com.sun.jersey.core.provider", + "com.sun.jersey.core.provider.jaxb", + "com.sun.jersey.core.reflection", + "com.sun.jersey.core.spi.component", + "com.sun.jersey.core.spi.component.ioc", + "com.sun.jersey.core.spi.factory", + "com.sun.jersey.core.spi.scanning", + "com.sun.jersey.core.spi.scanning.uri", + "com.sun.jersey.core.util", + "com.sun.jersey.impl", + "com.sun.jersey.localization", + "com.sun.jersey.spi", + "com.sun.jersey.spi.inject", + "com.sun.jersey.spi.service" + ], + "info.picocli:picocli": [ + "picocli" + ], + "javax.annotation:javax.annotation-api": [ + "javax.annotation", + "javax.annotation.security", + "javax.annotation.sql" + ], + "javax.inject:javax.inject": [ + "javax.inject" + ], + "javax.ws.rs:jsr311-api": [ + "javax.ws.rs", + "javax.ws.rs.core", + "javax.ws.rs.ext" + ], + "joda-time:joda-time": [ + "org.joda.time", + "org.joda.time.base", + "org.joda.time.chrono", + "org.joda.time.convert", + "org.joda.time.field", + "org.joda.time.format", + "org.joda.time.tz" + ], "junit:junit": [ "junit.extensions", "junit.framework", @@ -300,6 +982,9 @@ "net.bytebuddy.agent", "net.bytebuddy.agent.utility.nullability" ], + "org.checkerframework:checker-compat-qual": [ + "org.checkerframework.checker.nullness.compatqual" + ], "org.checkerframework:checker-qual": [ "org.checkerframework.checker.builder.qual", "org.checkerframework.checker.calledmethods.qual", @@ -313,6 +998,7 @@ "org.checkerframework.checker.initialization.qual", "org.checkerframework.checker.interning.qual", "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.mustcall.qual", "org.checkerframework.checker.nullness.qual", "org.checkerframework.checker.optional.qual", "org.checkerframework.checker.propkey.qual", @@ -326,7 +1012,7 @@ "org.checkerframework.common.reflection.qual", "org.checkerframework.common.returnsreceiver.qual", "org.checkerframework.common.subtyping.qual", - "org.checkerframework.common.util.report.qual", + "org.checkerframework.common.util.count.report.qual", "org.checkerframework.common.value.qual", "org.checkerframework.dataflow.qual", "org.checkerframework.framework.qual" @@ -425,34 +1111,203 @@ "org.objenesis.instantiator.util", "org.objenesis.strategy" ], + "org.osgi:org.osgi.dto": [ + "org.osgi.dto" + ], + "org.osgi:org.osgi.framework": [ + "org.osgi.framework", + "org.osgi.framework.dto", + "org.osgi.framework.hooks.bundle", + "org.osgi.framework.hooks.resolver", + "org.osgi.framework.hooks.service", + "org.osgi.framework.hooks.weaving", + "org.osgi.framework.launch", + "org.osgi.framework.namespace", + "org.osgi.framework.startlevel", + "org.osgi.framework.startlevel.dto", + "org.osgi.framework.wiring", + "org.osgi.framework.wiring.dto" + ], + "org.osgi:org.osgi.resource": [ + "org.osgi.resource", + "org.osgi.resource.dto" + ], + "org.osgi:org.osgi.service.log": [ + "org.osgi.service.log" + ], + "org.osgi:org.osgi.service.repository": [ + "org.osgi.service.repository" + ], + "org.osgi:org.osgi.util.function": [ + "org.osgi.util.function" + ], + "org.osgi:org.osgi.util.promise": [ + "org.osgi.util.promise" + ], + "org.osgi:org.osgi.util.tracker": [ + "org.osgi.util.tracker" + ], + "org.osgi:osgi.annotation": [ + "org.osgi.annotation.bundle", + "org.osgi.annotation.versioning" + ], "org.ow2.asm:asm": [ "org.objectweb.asm", "org.objectweb.asm.signature" + ], + "org.ow2.asm:asm-analysis": [ + "org.objectweb.asm.tree.analysis" + ], + "org.ow2.asm:asm-commons": [ + "org.objectweb.asm.commons" + ], + "org.ow2.asm:asm-tree": [ + "org.objectweb.asm.tree" + ], + "org.ow2.asm:asm-util": [ + "org.objectweb.asm.util" + ], + "org.slf4j:slf4j-api": [ + "org.slf4j", + "org.slf4j.event", + "org.slf4j.helpers", + "org.slf4j.spi" ] }, "repositories": { "https://repo1.maven.org/maven2/": [ + "biz.aQute.bnd:biz.aQute.bnd.util", + "biz.aQute.bnd:biz.aQute.bndlib", "com.google.auto.value:auto-value-annotations", + "com.google.caliper:caliper", + "com.google.caliper:caliper-api", + "com.google.caliper:caliper-core", + "com.google.caliper:caliper-runner", + "com.google.caliper:caliper-util", + "com.google.caliper:caliper-worker", + "com.google.caliper:caliper-worker-jvm", "com.google.code.findbugs:jsr305", "com.google.code.gson:gson", + "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter", + "com.google.dagger:dagger", + "com.google.dagger:dagger-producers", "com.google.errorprone:error_prone_annotations", "com.google.guava:failureaccess", "com.google.guava:guava", "com.google.guava:guava-testlib", "com.google.guava:listenablefuture", "com.google.j2objc:j2objc-annotations", + "com.google.protobuf:protobuf-java", + "com.google.protobuf:protobuf-java-util", "com.google.truth:truth", + "com.squareup.okhttp:okhttp", + "com.squareup.okio:okio", + "com.sun.jersey:jersey-client", + "com.sun.jersey:jersey-core", + "info.picocli:picocli", + "javax.annotation:javax.annotation-api", + "javax.inject:javax.inject", + "javax.ws.rs:jsr311-api", + "joda-time:joda-time", "junit:junit", "net.bytebuddy:byte-buddy", "net.bytebuddy:byte-buddy-agent", + "org.checkerframework:checker-compat-qual", "org.checkerframework:checker-qual", "org.hamcrest:hamcrest", "org.hamcrest:hamcrest-core", "org.mockito:mockito-core", "org.objenesis:objenesis", - "org.ow2.asm:asm" + "org.osgi:org.osgi.dto", + "org.osgi:org.osgi.framework", + "org.osgi:org.osgi.resource", + "org.osgi:org.osgi.service.log", + "org.osgi:org.osgi.service.repository", + "org.osgi:org.osgi.util.function", + "org.osgi:org.osgi.util.promise", + "org.osgi:org.osgi.util.tracker", + "org.osgi:osgi.annotation", + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-commons", + "org.ow2.asm:asm-tree", + "org.ow2.asm:asm-util", + "org.slf4j:slf4j-api" ] }, - "services": {}, + "services": { + "com.sun.jersey:jersey-core": { + "com.sun.jersey.spi.HeaderDelegateProvider": [ + "com.sun.jersey.core.impl.provider.header.CacheControlProvider", + "com.sun.jersey.core.impl.provider.header.CookieProvider", + "com.sun.jersey.core.impl.provider.header.DateProvider", + "com.sun.jersey.core.impl.provider.header.EntityTagProvider", + "com.sun.jersey.core.impl.provider.header.LocaleProvider", + "com.sun.jersey.core.impl.provider.header.MediaTypeProvider", + "com.sun.jersey.core.impl.provider.header.NewCookieProvider", + "com.sun.jersey.core.impl.provider.header.StringProvider", + "com.sun.jersey.core.impl.provider.header.URIProvider" + ], + "com.sun.jersey.spi.inject.InjectableProvider": [ + "com.sun.jersey.core.impl.provider.xml.DocumentBuilderFactoryProvider", + "com.sun.jersey.core.impl.provider.xml.SAXParserContextProvider", + "com.sun.jersey.core.impl.provider.xml.TransformerFactoryProvider", + "com.sun.jersey.core.impl.provider.xml.XMLStreamReaderContextProvider" + ], + "javax.ws.rs.ext.MessageBodyReader": [ + "com.sun.jersey.core.impl.provider.entity.ByteArrayProvider", + "com.sun.jersey.core.impl.provider.entity.DataSourceProvider", + "com.sun.jersey.core.impl.provider.entity.DocumentProvider", + "com.sun.jersey.core.impl.provider.entity.EntityHolderReader", + "com.sun.jersey.core.impl.provider.entity.FileProvider", + "com.sun.jersey.core.impl.provider.entity.FormMultivaluedMapProvider", + "com.sun.jersey.core.impl.provider.entity.FormProvider", + "com.sun.jersey.core.impl.provider.entity.InputStreamProvider", + "com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider", + "com.sun.jersey.core.impl.provider.entity.ReaderProvider", + "com.sun.jersey.core.impl.provider.entity.RenderedImageProvider", + "com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader", + "com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader", + "com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader", + "com.sun.jersey.core.impl.provider.entity.StringProvider", + "com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text", + "com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Text", + "com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$Text", + "com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$Text" + ], + "javax.ws.rs.ext.MessageBodyWriter": [ + "com.sun.jersey.core.impl.provider.entity.ByteArrayProvider", + "com.sun.jersey.core.impl.provider.entity.DataSourceProvider", + "com.sun.jersey.core.impl.provider.entity.DocumentProvider", + "com.sun.jersey.core.impl.provider.entity.FileProvider", + "com.sun.jersey.core.impl.provider.entity.FormMultivaluedMapProvider", + "com.sun.jersey.core.impl.provider.entity.FormProvider", + "com.sun.jersey.core.impl.provider.entity.InputStreamProvider", + "com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider", + "com.sun.jersey.core.impl.provider.entity.ReaderProvider", + "com.sun.jersey.core.impl.provider.entity.RenderedImageProvider", + "com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter", + "com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider", + "com.sun.jersey.core.impl.provider.entity.StringProvider", + "com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text", + "com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$Text", + "com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$App", + "com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General", + "com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$Text" + ] + } + }, "version": "2" } diff --git a/private/rules/coursier.bzl b/private/rules/coursier.bzl index 69b4f4fb6..36c684d92 100644 --- a/private/rules/coursier.bzl +++ b/private/rules/coursier.bzl @@ -57,7 +57,7 @@ bzl_library( ) """ -DEFAULT_AAR_IMPORT_LABEL = "@build_bazel_rules_android//android:rules.bzl" +DEFAULT_AAR_IMPORT_LABEL = "@rules_android//rules:rules.bzl" _AAR_IMPORT_STATEMENT = """\ load("%s", "aar_import") @@ -248,7 +248,9 @@ def _relativize_and_symlink_file_in_maven_local(repository_ctx, absolute_path): return artifact_relative_path def _get_aar_import_statement_or_empty_str(repository_ctx): - if repository_ctx.attr.use_starlark_android_rules: + # Use the Starlark version of aar_import if requested, or if this version of Bazel + # does not have native aar_import. + if repository_ctx.attr.use_starlark_android_rules or not hasattr(native, "aar_import"): # parse the label to validate it _ = Label(repository_ctx.attr.aar_import_bzl_label) return _AAR_IMPORT_STATEMENT % repository_ctx.attr.aar_import_bzl_label diff --git a/private/rules/maven_install.bzl b/private/rules/maven_install.bzl index 3378e0c8d..925ace49a 100644 --- a/private/rules/maven_install.bzl +++ b/private/rules/maven_install.bzl @@ -68,12 +68,13 @@ def maven_install( use_credentials_from_home_netrc_file: Whether to pass machine login credentials from the ~/.netrc file to coursier. fail_if_repin_required: Whether to fail the build if the required maven artifacts have been changed but not repinned. Requires the `maven_install_json` to have been set. use_starlark_android_rules: Whether to use the native or Starlark version - of the Android rules. Default is False. + of the Android rules. Default is False if the running version of Bazel supports native aar_import. + If the running version of Bazel does not support native aar_import, this parameter is ignored and the + Starlark Android rules is used. aar_import_bzl_label: The label (as a string) to use to import aar_import from. This is usually needed only if the top-level workspace file does not use the typical default repository name to import the Android - Starlark rules. Default is - "@build_bazel_rules_android//rules:rules.bzl". + Starlark rules. Default is "@rules_android//rules:rules.bzl". duplicate_version_warning: What to do if an artifact is specified multiple times. If "error" then fail the build, if "warn" then print a message and continue, if "none" then do nothing. The default is "warn". @@ -106,6 +107,11 @@ def maven_install( if additional_netrc_lines and maven_install_json == None: fail("`additional_netrc_lines` is only supported with `maven_install_json` specified", "additional_netrc_lines") + if not hasattr(native, "aar_import"): + # If this version of bazel does not have the native version of + # aar_import, then the Starlark version of aar_import must be used. + use_starlark_android_rules = True + # The first coursier_fetch generates the @unpinned_maven # repository, which executes Coursier. # diff --git a/tests/integration/override_targets/BUILD b/tests/integration/override_targets/BUILD index 64096f5c8..50a1727a8 100644 --- a/tests/integration/override_targets/BUILD +++ b/tests/integration/override_targets/BUILD @@ -31,7 +31,12 @@ aar_import( ], visibility = ["@regression_testing_coursier//:__subpackages__"], deps = [ + # This is a hack to get past ImportDepsChecker because + # apparently the Loader class is nowhere to be found in any + # sceneform AARs or deps. + ":fake_loader", # Add the missing dependencies + "@regression_testing_coursier//:com_android_support_support_annotations", "@regression_testing_coursier//:com_google_ar_core", "@regression_testing_coursier//:com_google_ar_sceneform_sceneform_base", "@regression_testing_coursier//:com_google_ar_sceneform_filament_android", @@ -69,3 +74,8 @@ sh_test( "@bazel_tools//tools/bash/runfiles", ], ) + +java_library( + name = "fake_loader", + srcs = ["Loader.java"], +) diff --git a/tests/integration/override_targets/Loader.java b/tests/integration/override_targets/Loader.java new file mode 100644 index 000000000..a8fad59d8 --- /dev/null +++ b/tests/integration/override_targets/Loader.java @@ -0,0 +1,14 @@ +package com.google.ar.sceneform.assets; + +/** + * Some class in com.google.ar.sceneform:rendering:aar:1.10.0 loads + * this class, but there is no class "Loader" in + * com.google.ar.sceneform:assets:1.10.0 or any other aar in sceneform. + * This is only to satisfy Starlark aar_import's ImportDepsChecker + * check. None of this code is actually run. + */ +public class Loader { + public static boolean loadUnifiedJni() { + return false; + } +} diff --git a/tests/unit/aar_import/BUILD b/tests/unit/aar_import/BUILD index 3b16423fe..b1be0c949 100644 --- a/tests/unit/aar_import/BUILD +++ b/tests/unit/aar_import/BUILD @@ -20,6 +20,16 @@ aar_import( name = "aar_import_that_consumes_the_downloaded_file_directly", # Will produce an error if the downloaded file does not have the `.aar` file extension aar = "@com_android_support_appcompat_v7_aar_28_0_0//file:file", + deps = [ + "@starlark_aar_import_test//:com_android_support_animated_vector_drawable", + "@starlark_aar_import_test//:com_android_support_collections", + "@starlark_aar_import_test//:com_android_support_cursoradapter", + "@starlark_aar_import_test//:com_android_support_support_annotations", + "@starlark_aar_import_test//:com_android_support_support_compat", + "@starlark_aar_import_test//:com_android_support_support_core_utils", + "@starlark_aar_import_test//:com_android_support_support_fragment", + "@starlark_aar_import_test//:com_android_support_support_vector_drawable", + ], ) build_test( From fcca503313b79d3c4cf4702a4fb9f0566e2e12dd Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Wed, 8 Jan 2025 20:35:15 -0500 Subject: [PATCH 2/6] Update golden files --- tests/integration/maven_bom/bom-dependencies.golden.xml | 2 +- .../maven_bom/transitive-bom-dependencies.golden.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/maven_bom/bom-dependencies.golden.xml b/tests/integration/maven_bom/bom-dependencies.golden.xml index 384b84a56..4961e8ce4 100755 --- a/tests/integration/maven_bom/bom-dependencies.golden.xml +++ b/tests/integration/maven_bom/bom-dependencies.golden.xml @@ -20,7 +20,7 @@ com.google.guava guava - 31.1-jre + 33.0.0-jre org.hamcrest diff --git a/tests/integration/maven_bom/transitive-bom-dependencies.golden.xml b/tests/integration/maven_bom/transitive-bom-dependencies.golden.xml index a1662ec44..94ca0d505 100755 --- a/tests/integration/maven_bom/transitive-bom-dependencies.golden.xml +++ b/tests/integration/maven_bom/transitive-bom-dependencies.golden.xml @@ -25,7 +25,7 @@ com.google.guava guava - 31.1-jre + 33.0.0-jre From fc05b12b502d8d2910b81f4768a6e97af1ddf3f9 Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Wed, 8 Jan 2025 21:08:25 -0500 Subject: [PATCH 3/6] Update to rules_android 6.0.0 --- MODULE.bazel | 2 +- WORKSPACE | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 90002351d..60a0dcd34 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,7 +6,7 @@ module( bazel_dep( name = "rules_android", - version = "0.5.1", + version = "0.6.0", ) bazel_dep( name = "bazel_features", diff --git a/WORKSPACE b/WORKSPACE index 802bccf67..9c2c34a54 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -567,9 +567,9 @@ maven_install( # since the tests with Bazel 5 and 6 do no use bzlmod. http_archive( name = "rules_android", - sha256 = "fe3d8c4955857b44019d83d05a0b15c2a0330a6a0aab990575bb397e9570ff1b", - strip_prefix = "rules_android-0.6.0-alpha1", - url = "https://github.com/bazelbuild/rules_android/releases/download/v0.6.0-alpha1/rules_android-v0.6.0-alpha1.tar.gz", + sha256 = "af84b69ab3d16dd1a41056286e6511f147a94ccea995603e13e934c915c1631c", + strip_prefix = "rules_android-0.6.0", + url = "https://github.com/bazelbuild/rules_android/releases/download/v0.6.0/rules_android-v0.6.0.tar.gz", ) # https://github.com/bazelbuild/rules_jvm_external/issues/351 From e40a1bdcdfc57c1dc17dc95ad8074184881d7398 Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Thu, 9 Jan 2025 17:07:56 -0500 Subject: [PATCH 4/6] Restore --experimental_sibling_repository_layout to fix //tests/unit/kotlin:inline_function_test with bazel 8.0.0 --- .bazelrc | 2 +- WORKSPACE | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bazelrc b/.bazelrc index c37bec56f..d137de4c3 100644 --- a/.bazelrc +++ b/.bazelrc @@ -8,7 +8,7 @@ build --experimental_strict_java_deps=strict build --explicit_java_test_deps # Re-enable once https://github.com/bazelbuild/rules_go/issues/3947 is addressed. -#build --experimental_sibling_repository_layout +build --experimental_sibling_repository_layout # Make sure we get something helpful when tests fail test --verbose_failures diff --git a/WORKSPACE b/WORKSPACE index 9c2c34a54..88832aec2 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -564,7 +564,7 @@ maven_install( # because the latest versions of rules_android do not support Bazel 5 or 6, # which rules_jvm_external supports and uses in CI tests. So use # rules_android 0.1.1, which are wrappers around the native Android rules, -# since the tests with Bazel 5 and 6 do no use bzlmod. +# since the tests with Bazel 6 do no use bzlmod. http_archive( name = "rules_android", sha256 = "af84b69ab3d16dd1a41056286e6511f147a94ccea995603e13e934c915c1631c", From 6d7c97cc973e17e90480c430866b73733ec67d77 Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Mon, 13 Jan 2025 19:14:07 -0500 Subject: [PATCH 5/6] Update rules_kotlin and actually use rules_android 0.6.0 --- .bazelrc | 3 --- MODULE.bazel | 8 +------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.bazelrc b/.bazelrc index d137de4c3..a9e05a75a 100644 --- a/.bazelrc +++ b/.bazelrc @@ -7,9 +7,6 @@ build --tool_java_runtime_version=remotejdk_11 build --experimental_strict_java_deps=strict build --explicit_java_test_deps -# Re-enable once https://github.com/bazelbuild/rules_go/issues/3947 is addressed. -build --experimental_sibling_repository_layout - # Make sure we get something helpful when tests fail test --verbose_failures test --test_output=errors diff --git a/MODULE.bazel b/MODULE.bazel index 60a0dcd34..08e8f5601 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -30,7 +30,7 @@ bazel_dep( ) bazel_dep( name = "rules_kotlin", - version = "1.9.6", + version = "2.1.0", ) bazel_dep( name = "rules_shell", @@ -44,12 +44,6 @@ bazel_dep( repo_name = "io_bazel_stardoc", ) -git_override( - module_name = "rules_android", - remote = "https://github.com/bazelbuild/rules_android.git", - commit = "bd6d0e3644cb6d7183280a2e01a644677f64430d", -) - # Remove this once rules_android has rolled out official Bzlmod support remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions") use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools") From ac6ec138d87547aa7d51113b4648a450c818d777 Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Mon, 13 Jan 2025 20:53:10 -0500 Subject: [PATCH 6/6] Try rules_kotlin 2.0.0 --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 08e8f5601..69b893732 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -30,7 +30,7 @@ bazel_dep( ) bazel_dep( name = "rules_kotlin", - version = "2.1.0", + version = "2.0.0", ) bazel_dep( name = "rules_shell",