diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/BUILD b/src/test/java/com/google/devtools/build/lib/rules/java/BUILD index 410fe8694c1502..6bcfaf6691cb80 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/BUILD +++ b/src/test/java/com/google/devtools/build/lib/rules/java/BUILD @@ -85,6 +85,7 @@ java_test( "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation", "//src/test/java/com/google/devtools/build/lib/actions/util", "//src/test/java/com/google/devtools/build/lib/analysis/util", + "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants", "//third_party:guava", "//third_party:junit4", "//third_party:truth", diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java index d793528d212b93..4788de53e54968 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java @@ -27,6 +27,7 @@ import com.google.devtools.build.lib.packages.StructImpl; import com.google.devtools.build.lib.rules.cpp.LibraryToLink; import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.JavaOutput; +import com.google.devtools.build.lib.testutil.TestConstants; import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.junit.Test; import org.junit.runner.RunWith; @@ -969,6 +970,7 @@ private void build() throws Exception { lines.add( "my_rule = rule(", " implementation = _impl,", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " attrs = {", " 'dep' : attr.label_list(),", " 'cc_dep' : attr.label_list(),", diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java index 25b9ae94a5be0b..3345da1ae72ad5 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java @@ -415,6 +415,7 @@ public void testJavaCommonCompileExposesOutputJarProvider() throws Exception { " 'sourcepath': attr.label_list(allow_files=['.jar']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -491,6 +492,7 @@ public void javaCommonCompile_setsRuntimeDeps() throws Exception { " 'runtime_deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -557,6 +559,7 @@ public void testJavaCommonCompileExposesAnnotationProcessingInfo() throws Except " 'plugins': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -594,6 +597,7 @@ public void javaCommonCompile_requiresJavaPluginInfo() throws Exception { " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -658,6 +662,7 @@ public void testJavaCommonCompileCompilationInfo() throws Exception { " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -718,6 +723,7 @@ public void testJavaCommonCompileTransitiveSourceJars() throws Exception { " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -786,6 +792,7 @@ public void testJavaCommonCompileSourceJarName() throws Exception { " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -835,6 +842,7 @@ public void testJavaCommonCompileWithOnlyOneSourceJar() throws Exception { " 'srcs': attr.label_list(allow_files=['.jar']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -884,6 +892,7 @@ public void testJavaCommonCompile_noSources() throws Exception { " attrs = {", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -935,6 +944,7 @@ public void testJavaCommonCompileCustomSourceJar() throws Exception { " 'srcs': attr.label_list(allow_files=['.jar']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -986,6 +996,7 @@ public void testJavaCommonCompileAdditionalInputsAndOutputs() throws Exception { " 'additional_inputs': attr.label_list(allow_files=['.bin']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -2221,6 +2232,7 @@ public void javaCommonCompileNeverlink() throws Exception { " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -2334,6 +2346,7 @@ public void javaCommonCompileWithNeverlink() throws Exception { " 'srcs': attr.label_list(allow_files=['.java']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java'],", " provides = [JavaInfo],", ")"); @@ -2395,6 +2408,7 @@ public void javaCommonCompile_nativeLibrariesPropagate() throws Exception { " 'exports': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -2452,6 +2466,7 @@ public void javaCommonCompile_directNativeLibraries() throws Exception { " 'ccdeps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -2780,6 +2795,7 @@ public void testCompileExports() throws Exception { " 'exports': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); @@ -2813,6 +2829,7 @@ public void testCompileOutputJarHasManifestProto() throws Exception { " 'srcs': attr.label_list(allow_files=['.java']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java'],", ")"); scratch.file( @@ -2851,6 +2868,7 @@ public void testCompileWithNeverlinkDeps() throws Exception { " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java'],", ")"); scratch.file( @@ -2892,6 +2910,7 @@ public void testCompileOutputJarNotInRuntimePathWithoutAnySourcesDefined() throw " 'exports': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java'],", ")"); scratch.file( @@ -2943,6 +2962,7 @@ public void testConfiguredTargetToolchain() throws Exception { " 'srcs': attr.label_list(allow_files=['.java']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java'])"); reporter.removeHandler(failFastHandler); @@ -3092,6 +3112,7 @@ public void testSkipAnnotationProcessing() throws Exception { " 'plugins': attr.label_list(providers=[JavaPluginInfo]),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3164,6 +3185,7 @@ public void testCompileWithDisablingCompileJarIsPrivateApi() throws Exception { " 'srcs': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3198,6 +3220,7 @@ public void testCompileWithClasspathResourcesIsPrivateApi() throws Exception { " 'classpath_resources': attr.label_list(allow_files = True),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3250,6 +3273,7 @@ public void testInjectingRuleKindIsPrivateApi() throws Exception { " 'srcs': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3282,6 +3306,7 @@ public void testEnableJSpecifyIsPrivateApi() throws Exception { " 'srcs': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3366,6 +3391,7 @@ public void testCompileIncludeCompilationInfoIsPrivateApi() throws Exception { " 'srcs': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3399,6 +3425,7 @@ public void testCompileWithResorceJarsIsPrivateApi() throws Exception { " 'srcs': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( @@ -3451,6 +3478,7 @@ public void testRunIjarIsPrivateApi() throws Exception { " attrs = {", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", " },", + " toolchains = ['" + TestConstants.JAVA_TOOLCHAIN_TYPE + "'],", " fragments = ['java']", ")"); scratch.file( diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh index 051fd17b6ae179..8ac7bfefb3619e 100755 --- a/src/test/shell/bazel/bazel_java_test.sh +++ b/src/test/shell/bazel/bazel_java_test.sh @@ -57,6 +57,8 @@ fi JAVA_TOOLCHAIN="@bazel_tools//tools/jdk:toolchain" +JAVA_TOOLCHAIN_TYPE="@bazel_tools//tools/jdk:toolchain_type" + JAVA_TOOLS_ZIP="$1"; shift if [[ "${JAVA_TOOLS_ZIP}" != "released" ]]; then if [[ "${JAVA_TOOLS_ZIP}" == file* ]]; then @@ -319,6 +321,7 @@ java_custom_library = rule( "resources": attr.label_list(allow_files=True), "_java_toolchain": attr.label(default = Label("${JAVA_TOOLCHAIN}")), }, + toolchains = ["${JAVA_TOOLCHAIN_TYPE}"], fragments = ["java"] ) EOF @@ -497,6 +500,7 @@ java_custom_library = rule( "sourcepath": attr.label_list(), "_java_toolchain": attr.label(default = Label("${JAVA_TOOLCHAIN}")), }, + toolchains = ["${JAVA_TOOLCHAIN_TYPE}"], fragments = ["java"] ) EOF @@ -567,6 +571,7 @@ java_custom_library = rule( "sourcepath": attr.label_list(), "_java_toolchain": attr.label(default = Label("${JAVA_TOOLCHAIN}")), }, + toolchains = ["${JAVA_TOOLCHAIN_TYPE}"], fragments = ["java"] ) EOF @@ -1474,6 +1479,7 @@ java_custom_library = rule( "jar": attr.label(allow_files=True), "_java_toolchain": attr.label(default = Label("${JAVA_TOOLCHAIN}")), }, + toolchains = ["${JAVA_TOOLCHAIN_TYPE}"], fragments = ["java"] ) EOF @@ -1525,7 +1531,8 @@ my_rule = rule( 'output_source_jar' : attr.string(), 'source_jars' : attr.label_list(allow_files=['.jar']), "_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:remote_toolchain")), - } + }, + toolchains = ["${JAVA_TOOLCHAIN_TYPE}"], ) EOF diff --git a/tools/android/defs.bzl b/tools/android/defs.bzl index 61f33ab82e98f4..4612846ee0c87d 100644 --- a/tools/android/defs.bzl +++ b/tools/android/defs.bzl @@ -32,6 +32,7 @@ run_ijar = rule( providers = [java_common.JavaToolchainInfo], ), }, + toolchains = ["@bazel_tools//tools/jdk:toolchain_type"], ) def _run_singlejar(ctx):