From ce7492782d2b6cbb576df0baf7a3c622a33986af Mon Sep 17 00:00:00 2001 From: pcloudy <pcloudy@google.com> Date: Tue, 26 Feb 2019 02:17:07 -0800 Subject: [PATCH] Automated rollback of commit 993c4843ed807ded975445babefd839923e5d2d9. *** Reason for rollback *** Broke Bazel CI: https://github.com/bazelbuild/bazel/issues/7537 *** Original change description *** Enable --incompatible_use_toolchain_providers_in_java_common Fixes https://github.com/bazelbuild/bazel/issues/7186 RELNOTES: incompatible_use_toolchain_providers_in_java_common: pass JavaToolchainInfo and JavaRuntimeInfo providers to java_common APIs instead of configured targetshttps://github.com/bazelbuild/bazel/issues/7186. PiperOrigin-RevId: 235684551 --- .../packages/StarlarkSemanticsOptions.java | 2 +- .../build/lib/syntax/StarlarkSemantics.java | 2 +- .../lib/rules/java/JavaSkylarkApiTest.java | 8 ++++-- src/test/shell/bazel/bazel_java_test.sh | 28 +++++++++---------- 4 files changed, 21 insertions(+), 19 deletions(-) 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 b1d119b07bd66e..18883dce3ce10a 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 = "true", + defaultValue = "false", 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 a50d7e00a041ce..775289e8f48730 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(true) + .incompatibleUseToolchainProvidersInJavaCommon(false) .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 f407eb5f67f1aa..edcf727e482183 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("pass a java_common.JavaRuntimeInfo instead of a configured target"); + assertContainsEvent("must point to a Java runtime"); } @Test @@ -2245,6 +2245,7 @@ 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", @@ -2278,12 +2279,13 @@ public void testConfiguredTargetHostJavabase() throws Exception { reporter.removeHandler(failFastHandler); getConfiguredTarget("//a:r"); - assertContainsEvent("pass a java_common.JavaRuntimeInfo instead of a configured target"); + assertContainsEvent("java_common.JavaRuntimeInfo"); } @Test public void testConfiguredTargetToolchain() throws Exception { writeBuildFileForJavaToolchain(); + setSkylarkSemanticsOptions("--incompatible_use_toolchain_providers_in_java_common=true"); scratch.file( "a/BUILD", @@ -2317,7 +2319,7 @@ public void testConfiguredTargetToolchain() throws Exception { reporter.removeHandler(failFastHandler); getConfiguredTarget("//a:r"); - assertContainsEvent("pass a java_common.JavaToolchainInfo instead of a configured target"); + assertContainsEvent("java_common.JavaToolchainInfo"); } @Test diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh index 799bde40ce2c21..3d9f54f98836ed 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[java_common.JavaToolchainInfo], - host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], + java_toolchain = ctx.attr._java_toolchain, + host_javabase = ctx.attr._host_javabase ) 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[java_common.JavaToolchainInfo], - host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], + java_toolchain = ctx.attr._java_toolchain, + host_javabase = ctx.attr._host_javabase ) 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[java_common.JavaToolchainInfo], - host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], + java_toolchain = ctx.attr._java_toolchain, + host_javabase = ctx.attr._host_javabase ) 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[java_common.JavaToolchainInfo], - host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], + java_toolchain = ctx.attr._java_toolchain, + host_javabase = ctx.attr._host_javabase ) 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_common.JavaToolchainInfo] + java_toolchain = ctx.attr._java_toolchain ) 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_common.JavaToolchainInfo] + java_toolchain = ctx.attr._java_toolchain ) 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_common.JavaToolchainInfo] + java_toolchain = ctx.attr._java_toolchain ) 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_common.JavaToolchainInfo], + java_toolchain = ctx.attr._java_toolchain, ) 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[java_common.JavaToolchainInfo], - host_javabase = ctx.attr._host_javabase[java_common.JavaRuntimeInfo], + java_toolchain = ctx.attr._java_toolchain, + host_javabase = ctx.attr._host_javabase, ) javaInfo = JavaInfo( output_jar = ctx.file.output_jar,