diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java index 18883dce3ce10a..b1d119b07bd66e 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java +++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkSemanticsOptions.java @@ -507,7 +507,7 @@ public class StarlarkSemanticsOptions extends OptionsBase implements Serializabl @Option( name = "incompatible_use_toolchain_providers_in_java_common", - defaultValue = "false", + defaultValue = "true", documentationCategory = OptionDocumentationCategory.STARLARK_SEMANTICS, effectTags = {OptionEffectTag.BUILD_FILE_SEMANTICS}, metadataTags = { diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java index 775289e8f48730..a50d7e00a041ce 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkSemantics.java @@ -211,7 +211,7 @@ public static Builder builderWithDefaults() { .experimentalPlatformsApi(false) .experimentalStarlarkConfigTransitions(false) .experimentalTransitionWhitelistLocation("") - .incompatibleUseToolchainProvidersInJavaCommon(false) + .incompatibleUseToolchainProvidersInJavaCommon(true) .incompatibleBzlDisallowLoadAfterStatement(false) .incompatibleDepsetIsNotIterable(false) .incompatibleDepsetUnion(false) diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java index edcf727e482183..f407eb5f67f1aa 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java @@ -196,7 +196,7 @@ public void testInvalidHostJavabase() throws Exception { reporter.removeHandler(failFastHandler); getConfiguredTarget("//a:r"); - assertContainsEvent("must point to a Java runtime"); + assertContainsEvent("pass a java_common.JavaRuntimeInfo instead of a configured target"); } @Test @@ -2245,7 +2245,6 @@ public void testDisallowLegacyJavaProvider() throws Exception { @Test public void testConfiguredTargetHostJavabase() throws Exception { writeBuildFileForJavaToolchain(); - setSkylarkSemanticsOptions("--incompatible_use_toolchain_providers_in_java_common=true"); scratch.file( "a/BUILD", @@ -2279,13 +2278,12 @@ public void testConfiguredTargetHostJavabase() throws Exception { reporter.removeHandler(failFastHandler); getConfiguredTarget("//a:r"); - assertContainsEvent("java_common.JavaRuntimeInfo"); + assertContainsEvent("pass a java_common.JavaRuntimeInfo instead of a configured target"); } @Test public void testConfiguredTargetToolchain() throws Exception { writeBuildFileForJavaToolchain(); - setSkylarkSemanticsOptions("--incompatible_use_toolchain_providers_in_java_common=true"); scratch.file( "a/BUILD", @@ -2319,7 +2317,7 @@ public void testConfiguredTargetToolchain() throws Exception { reporter.removeHandler(failFastHandler); getConfiguredTarget("//a:r"); - assertContainsEvent("java_common.JavaToolchainInfo"); + assertContainsEvent("pass a java_common.JavaToolchainInfo instead of a configured target"); } @Test diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh index 3d9f54f98836ed..799bde40ce2c21 100755 --- a/src/test/shell/bazel/bazel_java_test.sh +++ b/src/test/shell/bazel/bazel_java_test.sh @@ -178,8 +178,8 @@ def _impl(ctx): exports = exports, resources = ctx.files.resources, strict_deps = "ERROR", - java_toolchain = ctx.attr._java_toolchain, - host_javabase = ctx.attr._host_javabase + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], + host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], ) return struct( files = depset([output_jar]), @@ -303,8 +303,8 @@ def _impl(ctx): deps = [], sourcepath = ctx.files.sourcepath, strict_deps = "ERROR", - java_toolchain = ctx.attr._java_toolchain, - host_javabase = ctx.attr._host_javabase + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], + host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], ) return struct( files = depset([output_jar]), @@ -380,8 +380,8 @@ def _impl(ctx): deps = [], sourcepath = ctx.files.sourcepath, strict_deps = "ERROR", - java_toolchain = ctx.attr._java_toolchain, - host_javabase = ctx.attr._host_javabase + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], + host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], ) return struct( files = depset([output_jar]), @@ -1291,8 +1291,8 @@ def _impl(ctx): ctx, source_files = ctx.files.srcs, output = compiled_jar, - java_toolchain = ctx.attr._java_toolchain, - host_javabase = ctx.attr._host_javabase + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], + host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], ) imported_provider = JavaInfo(output_jar = imported_jar, use_ijar=False); @@ -1343,7 +1343,7 @@ def _impl(ctx): provider = java_common.create_provider( ctx.actions, compile_time_jars = ctx.files.compile_time_jars, - java_toolchain = ctx.attr._java_toolchain + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo] ) print(provider.compile_jars) print(provider.full_compile_jars) @@ -1418,7 +1418,7 @@ EOF def _impl(ctx): provider = java_common.create_provider( compile_time_jars = ctx.files.compile_time_jars, - java_toolchain = ctx.attr._java_toolchain + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo] ) return DefaultInfo(files = provider.compile_jars) @@ -1455,7 +1455,7 @@ def _impl(ctx): output_jar = ctx.file.output_jar, source_jars = ctx.files.source_jars, use_ijar = True, - java_toolchain = ctx.attr._java_toolchain + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo] ) return [result(property = javaInfo)] @@ -1676,14 +1676,14 @@ def _impl(ctx): ctx.actions, jar = ctx.file.output_jar, target_label = ctx.label, - java_toolchain = ctx.attr._java_toolchain, + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], ) source_jar = java_common.pack_sources( ctx.actions, output_jar = ctx.file.output_jar, source_jars = ctx.files.source_jars, - java_toolchain = ctx.attr._java_toolchain, - host_javabase = ctx.attr._host_javabase, + java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], + host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], ) javaInfo = JavaInfo( output_jar = ctx.file.output_jar,