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,