diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 17e8e3ae..2f1f60cc 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -6,6 +6,7 @@ tasks: # https://github.com/bazelbuild/rules_jvm_external/pull/316 COURSIER_CACHE: /tmp/custom_coursier_cache REPIN: 1 + ANDROID_NDK_HOME: /opt/android-ndk-r25b shell_commands: - bazel run @regression_testing_coursier//:pin - bazel run @regression_testing_maven//:pin @@ -17,6 +18,8 @@ tasks: android_ubuntu2204: name: Android Tests platform: ubuntu2204 + environment: + ANDROID_NDK_HOME: /opt/android-ndk-r25b test_flags: # TODO(https://github.com/bazelbuild/rules_jvm_external/issues/978): # These tests are not compatible with Android platforms, so use the legacy mode @@ -29,6 +32,7 @@ tasks: bazel: 6.4.0 environment: REPIN: 1 + ANDROID_NDK_HOME: /opt/android-ndk-r25b shell_commands: - bazel run @regression_testing_coursier//:pin - bazel run @regression_testing_maven//:pin @@ -42,6 +46,7 @@ tasks: bazel: 7.4.1 environment: REPIN: 1 + ANDROID_NDK_HOME: /opt/android-ndk-r25b shell_commands: - bazel run @regression_testing_coursier//:pin - bazel run @regression_testing_maven//:pin @@ -58,6 +63,7 @@ tasks: # https://github.com/bazelbuild/rules_jvm_external/pull/316 COURSIER_CACHE: /tmp/custom_coursier_cache REPIN: 1 + ANDROID_NDK_HOME: /opt/android-ndk-r25b shell_commands: - bazel run @regression_testing_coursier//:pin - bazel run @regression_testing_maven//:pin @@ -72,6 +78,7 @@ tasks: # https://github.com/bazelbuild/rules_jvm_external/pull/316 COURSIER_CACHE: /tmp/custom_coursier_cache REPIN: 1 + ANDROID_NDK_HOME: /Users/buildkite/android-ndk-r25b shell_commands: - bazel run @regression_testing_coursier//:pin - bazel run @regression_testing_maven//:pin @@ -86,6 +93,7 @@ tasks: # https://github.com/bazelbuild/rules_jvm_external/pull/316 COURSIER_CACHE: /tmp/custom_coursier_cache REPIN: 1 + ANDROID_NDK_HOME: c:/android_ndk/r25b shell_commands: - bazel run @regression_testing_coursier//:pin - bazel run @regression_testing_maven//:pin diff --git a/WORKSPACE b/WORKSPACE index 543b0e6d..9dd25e65 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -2,8 +2,24 @@ workspace(name = "rules_jvm_external") android_sdk_repository(name = "androidsdk") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +RULES_ANDROID_NDK_COMMIT = "cb776db8e671084669f141d2003e1b61c1a7d21b" + +RULES_ANDROID_NDK_SHA = "3ebbdcc0768f6b7703c6abe9e5c14591994a9eeaa22c98a7663f72a901332556" + +http_archive( + name = "rules_android_ndk", + sha256 = RULES_ANDROID_NDK_SHA, + strip_prefix = "rules_android_ndk-%s" % RULES_ANDROID_NDK_COMMIT, + url = "https://github.com/bazelbuild/rules_android_ndk/archive/%s.zip" % RULES_ANDROID_NDK_COMMIT, +) +load("@rules_android_ndk//:rules.bzl", "android_ndk_repository") + android_ndk_repository(name = "androidndk") +register_toolchains("@androidndk//:all") + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") load( "//private:versions.bzl", diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod index 5065547c..fdca00bf 100644 --- a/WORKSPACE.bzlmod +++ b/WORKSPACE.bzlmod @@ -2,4 +2,21 @@ workspace(name = "rules_jvm_external") # Use this until we can use some pure-bzlmod approach android_sdk_repository(name = "androidsdk") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +RULES_ANDROID_NDK_COMMIT = "cb776db8e671084669f141d2003e1b61c1a7d21b" + +RULES_ANDROID_NDK_SHA = "3ebbdcc0768f6b7703c6abe9e5c14591994a9eeaa22c98a7663f72a901332556" + +http_archive( + name = "rules_android_ndk", + sha256 = RULES_ANDROID_NDK_SHA, + strip_prefix = "rules_android_ndk-%s" % RULES_ANDROID_NDK_COMMIT, + url = "https://github.com/bazelbuild/rules_android_ndk/archive/%s.zip" % RULES_ANDROID_NDK_COMMIT, +) +load("@rules_android_ndk//:rules.bzl", "android_ndk_repository") + android_ndk_repository(name = "androidndk") + +register_toolchains("@androidndk//:all") \ No newline at end of file diff --git a/maven_install.json b/maven_install.json index 3a659655..a53de69e 100644 --- a/maven_install.json +++ b/maven_install.json @@ -1,29 +1,14 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 1138598656, - "__RESOLVED_ARTIFACTS_HASH": -1439644340, - "conflict_resolution": { - "com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.11.0" - }, + "__INPUT_ARTIFACTS_HASH": -2113226107, + "__RESOLVED_ARTIFACTS_HASH": 540623723, "artifacts": { - "com.google.auto.value:auto-value-annotations": { - "shasums": { - "jar": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3" - }, - "version": "1.7.4" - }, "com.google.code.findbugs:jsr305": { "shasums": { "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" }, "version": "3.0.2" }, - "com.google.code.gson:gson": { - "shasums": { - "jar": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e" - }, - "version": "2.8.9" - }, "com.google.errorprone:error_prone_annotations": { "shasums": { "jar": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec" @@ -42,12 +27,6 @@ }, "version": "31.1-jre" }, - "com.google.guava:guava-testlib": { - "shasums": { - "jar": "aadc71b10d5c3ac474dd16be84cfb18d257e584d1e0a59f8cab64ef4376226ce" - }, - "version": "31.1-jre" - }, "com.google.guava:listenablefuture": { "shasums": { "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" @@ -60,30 +39,6 @@ }, "version": "1.3" }, - "com.google.truth:truth": { - "shasums": { - "jar": "a85e03b8b6ae8780f060cfded9500a3d1b5f52808f99a2ea6da9c683313c7518" - }, - "version": "1.1.2" - }, - "junit:junit": { - "shasums": { - "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" - }, - "version": "4.13.2" - }, - "net.bytebuddy:byte-buddy": { - "shasums": { - "jar": "d2e46555699e70361b5471a7e142f9c67855bba6907a285177ebd8ad973775d8" - }, - "version": "1.12.7" - }, - "net.bytebuddy:byte-buddy-agent": { - "shasums": { - "jar": "73d84bb6e8e8980e674d796a29063f510ceb527c6f8c912a08a13e236be05c71" - }, - "version": "1.12.7" - }, "org.checkerframework:checker-qual": { "shasums": { "jar": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" @@ -101,24 +56,6 @@ "jar": "e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9" }, "version": "2.1" - }, - "org.mockito:mockito-core": { - "shasums": { - "jar": "148de2c6928365db29443ca12d35c930d9f481172b934fdd801d1cb1409ea83a" - }, - "version": "4.3.1" - }, - "org.objenesis:objenesis": { - "shasums": { - "jar": "03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3" - }, - "version": "3.2" - }, - "org.ow2.asm:asm": { - "shasums": { - "jar": "0df97574914aee92fd349d0cb4e00f3345d45b2c239e0bb50f0a90ead47888e0" - }, - "version": "9.0" } }, "dependencies": { @@ -130,56 +67,16 @@ "com.google.j2objc:j2objc-annotations", "org.checkerframework:checker-qual" ], - "com.google.guava:guava-testlib": [ - "com.google.code.findbugs:jsr305", - "com.google.errorprone:error_prone_annotations", - "com.google.guava:guava", - "com.google.j2objc:j2objc-annotations", - "junit:junit", - "org.checkerframework:checker-qual" - ], - "com.google.truth:truth": [ - "com.google.auto.value:auto-value-annotations", - "com.google.errorprone:error_prone_annotations", - "com.google.guava:guava", - "junit:junit", - "org.checkerframework:checker-qual", - "org.ow2.asm:asm" - ], - "junit:junit": [ - "org.hamcrest:hamcrest-core" - ], "org.hamcrest:hamcrest-core": [ "org.hamcrest:hamcrest" - ], - "org.mockito:mockito-core": [ - "net.bytebuddy:byte-buddy", - "net.bytebuddy:byte-buddy-agent", - "org.objenesis:objenesis" ] }, "packages": { - "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.code.findbugs:jsr305": [ "javax.annotation", "javax.annotation.concurrent", "javax.annotation.meta" ], - "com.google.code.gson:gson": [ - "com.google.gson", - "com.google.gson.annotations", - "com.google.gson.internal", - "com.google.gson.internal.bind", - "com.google.gson.internal.bind.util", - "com.google.gson.internal.reflect", - "com.google.gson.internal.sql", - "com.google.gson.reflect", - "com.google.gson.stream" - ], "com.google.errorprone:error_prone_annotations": [ "com.google.errorprone.annotations", "com.google.errorprone.annotations.concurrent" @@ -207,99 +104,9 @@ "com.google.common.xml", "com.google.thirdparty.publicsuffix" ], - "com.google.guava:guava-testlib": [ - "com.google.common.collect.testing", - "com.google.common.collect.testing.features", - "com.google.common.collect.testing.google", - "com.google.common.collect.testing.testers", - "com.google.common.escape.testing", - "com.google.common.testing", - "com.google.common.util.concurrent.testing" - ], "com.google.j2objc:j2objc-annotations": [ "com.google.j2objc.annotations" ], - "com.google.truth:truth": [ - "com.google.common.truth" - ], - "junit:junit": [ - "junit.extensions", - "junit.framework", - "junit.runner", - "junit.textui", - "org.junit", - "org.junit.experimental", - "org.junit.experimental.categories", - "org.junit.experimental.max", - "org.junit.experimental.results", - "org.junit.experimental.runners", - "org.junit.experimental.theories", - "org.junit.experimental.theories.internal", - "org.junit.experimental.theories.suppliers", - "org.junit.function", - "org.junit.internal", - "org.junit.internal.builders", - "org.junit.internal.management", - "org.junit.internal.matchers", - "org.junit.internal.requests", - "org.junit.internal.runners", - "org.junit.internal.runners.model", - "org.junit.internal.runners.rules", - "org.junit.internal.runners.statements", - "org.junit.matchers", - "org.junit.rules", - "org.junit.runner", - "org.junit.runner.manipulation", - "org.junit.runner.notification", - "org.junit.runners", - "org.junit.runners.model", - "org.junit.runners.parameterized", - "org.junit.validator" - ], - "net.bytebuddy:byte-buddy": [ - "net.bytebuddy", - "net.bytebuddy.agent.builder", - "net.bytebuddy.asm", - "net.bytebuddy.build", - "net.bytebuddy.description", - "net.bytebuddy.description.annotation", - "net.bytebuddy.description.enumeration", - "net.bytebuddy.description.field", - "net.bytebuddy.description.method", - "net.bytebuddy.description.modifier", - "net.bytebuddy.description.type", - "net.bytebuddy.dynamic", - "net.bytebuddy.dynamic.loading", - "net.bytebuddy.dynamic.scaffold", - "net.bytebuddy.dynamic.scaffold.inline", - "net.bytebuddy.dynamic.scaffold.subclass", - "net.bytebuddy.implementation", - "net.bytebuddy.implementation.attribute", - "net.bytebuddy.implementation.auxiliary", - "net.bytebuddy.implementation.bind", - "net.bytebuddy.implementation.bind.annotation", - "net.bytebuddy.implementation.bytecode", - "net.bytebuddy.implementation.bytecode.assign", - "net.bytebuddy.implementation.bytecode.assign.primitive", - "net.bytebuddy.implementation.bytecode.assign.reference", - "net.bytebuddy.implementation.bytecode.collection", - "net.bytebuddy.implementation.bytecode.constant", - "net.bytebuddy.implementation.bytecode.member", - "net.bytebuddy.jar.asm", - "net.bytebuddy.jar.asm.commons", - "net.bytebuddy.jar.asm.signature", - "net.bytebuddy.matcher", - "net.bytebuddy.pool", - "net.bytebuddy.utility", - "net.bytebuddy.utility.dispatcher", - "net.bytebuddy.utility.nullability", - "net.bytebuddy.utility.privilege", - "net.bytebuddy.utility.visitor" - ], - "net.bytebuddy:byte-buddy-agent": [ - "net.bytebuddy.agent", - "net.bytebuddy.agent.utility.nullability" - ], "org.checkerframework:checker-qual": [ "org.checkerframework.checker.builder.qual", "org.checkerframework.checker.calledmethods.qual", @@ -346,111 +153,19 @@ ], "org.hamcrest:hamcrest-core": [ "org.hamcrest" - ], - "org.mockito:mockito-core": [ - "org.mockito", - "org.mockito.codegen", - "org.mockito.configuration", - "org.mockito.creation.instance", - "org.mockito.exceptions.base", - "org.mockito.exceptions.misusing", - "org.mockito.exceptions.stacktrace", - "org.mockito.exceptions.verification", - "org.mockito.exceptions.verification.junit", - "org.mockito.exceptions.verification.opentest4j", - "org.mockito.hamcrest", - "org.mockito.internal", - "org.mockito.internal.configuration", - "org.mockito.internal.configuration.injection", - "org.mockito.internal.configuration.injection.filter", - "org.mockito.internal.configuration.injection.scanner", - "org.mockito.internal.configuration.plugins", - "org.mockito.internal.creation", - "org.mockito.internal.creation.bytebuddy", - "org.mockito.internal.creation.instance", - "org.mockito.internal.creation.proxy", - "org.mockito.internal.creation.settings", - "org.mockito.internal.creation.util", - "org.mockito.internal.debugging", - "org.mockito.internal.exceptions", - "org.mockito.internal.exceptions.stacktrace", - "org.mockito.internal.exceptions.util", - "org.mockito.internal.framework", - "org.mockito.internal.hamcrest", - "org.mockito.internal.handler", - "org.mockito.internal.invocation", - "org.mockito.internal.invocation.finder", - "org.mockito.internal.invocation.mockref", - "org.mockito.internal.junit", - "org.mockito.internal.listeners", - "org.mockito.internal.matchers", - "org.mockito.internal.matchers.apachecommons", - "org.mockito.internal.matchers.text", - "org.mockito.internal.progress", - "org.mockito.internal.reporting", - "org.mockito.internal.runners", - "org.mockito.internal.runners.util", - "org.mockito.internal.session", - "org.mockito.internal.stubbing", - "org.mockito.internal.stubbing.answers", - "org.mockito.internal.stubbing.defaultanswers", - "org.mockito.internal.util", - "org.mockito.internal.util.collections", - "org.mockito.internal.util.concurrent", - "org.mockito.internal.util.io", - "org.mockito.internal.util.reflection", - "org.mockito.internal.verification", - "org.mockito.internal.verification.api", - "org.mockito.internal.verification.argumentmatching", - "org.mockito.internal.verification.checkers", - "org.mockito.invocation", - "org.mockito.junit", - "org.mockito.listeners", - "org.mockito.mock", - "org.mockito.plugins", - "org.mockito.quality", - "org.mockito.session", - "org.mockito.stubbing", - "org.mockito.verification" - ], - "org.objenesis:objenesis": [ - "org.objenesis", - "org.objenesis.instantiator", - "org.objenesis.instantiator.android", - "org.objenesis.instantiator.annotations", - "org.objenesis.instantiator.basic", - "org.objenesis.instantiator.gcj", - "org.objenesis.instantiator.perc", - "org.objenesis.instantiator.sun", - "org.objenesis.instantiator.util", - "org.objenesis.strategy" - ], - "org.ow2.asm:asm": [ - "org.objectweb.asm", - "org.objectweb.asm.signature" ] }, "repositories": { "https://repo1.maven.org/maven2/": [ - "com.google.auto.value:auto-value-annotations", "com.google.code.findbugs:jsr305", - "com.google.code.gson:gson", "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.truth:truth", - "junit:junit", - "net.bytebuddy:byte-buddy", - "net.bytebuddy:byte-buddy-agent", "org.checkerframework:checker-qual", "org.hamcrest:hamcrest", - "org.hamcrest:hamcrest-core", - "org.mockito:mockito-core", - "org.objenesis:objenesis", - "org.ow2.asm:asm" + "org.hamcrest:hamcrest-core" ] }, "services": {},