From e27cd7d215fac245bb567ac77ead6388f49b3610 Mon Sep 17 00:00:00 2001 From: schmitt Date: Fri, 7 Apr 2017 17:42:14 +0000 Subject: Automated g4 rollback of commit 8c41633a8700cbadd2ef219879cba305b576070e. *** Reason for rollback *** Causes Blaze release failures. *** Original change description *** Genrules only depend on the host JDK if they have Java make variables. e.g.: cmd = "$(JAVA) foo.java ..." PiperOrigin-RevId: 152516143 --- .../lib/bazel/rules/genrule/BazelGenRuleRule.java | 3 ++- .../com/google/devtools/build/lib/rules/genrule/BUILD | 1 - .../devtools/build/lib/rules/genrule/GenRuleBase.java | 2 +- .../build/lib/rules/genrule/GenRuleBaseRule.java | 19 ------------------- 4 files changed, 3 insertions(+), 22 deletions(-) (limited to 'src/main/java/com/google/devtools') diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java index 1d843da2cd..ccc2c6c042 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.rules.cpp.CppConfiguration; import com.google.devtools.build.lib.rules.genrule.GenRuleBaseRule; import com.google.devtools.build.lib.rules.java.JavaConfiguration; +import com.google.devtools.build.lib.rules.java.JavaSemantics; /** * Rule definition for genrule for Bazel. @@ -51,7 +52,7 @@ public final class BazelGenRuleRule implements RuleDefinition { .add(attr("stamp", BOOLEAN).value(false)) .add(attr(":cc_toolchain", LABEL).value(GenRuleBaseRule.CC_TOOLCHAIN)) - .add(attr(":host_jdk", LABEL).cfg(HOST).value(GenRuleBaseRule.HOST_JDK)) + .add(attr(":host_jdk", LABEL).cfg(HOST).value(JavaSemantics.HOST_JDK)) .build(); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD b/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD index 81ab46717a..5c97ae1988 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD @@ -12,7 +12,6 @@ java_library( "//src/main/java/com/google/devtools/build/lib:build-base", "//src/main/java/com/google/devtools/build/lib:events", "//src/main/java/com/google/devtools/build/lib:java-compilation", - "//src/main/java/com/google/devtools/build/lib:java-implicit-attributes", "//src/main/java/com/google/devtools/build/lib:packages", "//src/main/java/com/google/devtools/build/lib:vfs", "//src/main/java/com/google/devtools/build/lib/actions", diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java index 1aab9b1648..407a45cb3d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java @@ -64,7 +64,7 @@ public abstract class GenRuleBase implements RuleConfiguredTargetFactory { return CROSSTOOL_MAKE_VARIABLE.matcher(command).find(); } - protected static boolean requiresJdk(String command) { + protected boolean requiresJdk(String command) { return JDK_MAKE_VARIABLE.matcher(command).find(); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBaseRule.java b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBaseRule.java index d4cb75844f..544a03df21 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBaseRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBaseRule.java @@ -37,9 +37,6 @@ import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; import com.google.devtools.build.lib.rules.MakeVariableProvider; import com.google.devtools.build.lib.rules.cpp.CppConfiguration; import com.google.devtools.build.lib.rules.cpp.CppRuleClasses; -import com.google.devtools.build.lib.rules.java.JavaImplicitAttributes; -import com.google.devtools.build.lib.rules.java.JavaSemantics; -import com.google.devtools.build.lib.rules.java.Jvm; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.util.FileTypeSet; @@ -66,22 +63,6 @@ public class GenRuleBaseRule implements RuleDefinition { } }; - /** - * Late-bound dependency on the host JDK iff the genrule has make variables that need - * that rule. - */ - public static final Attribute.LateBoundLabel HOST_JDK = - new Attribute.LateBoundLabel( - JavaImplicitAttributes.JDK_LABEL, Jvm.class) { - @Override - public Label resolve(Rule rule, AttributeMap attributes, BuildConfiguration configuration) { - return attributes != null - && GenRuleBase.requiresJdk(attributes.get("cmd", Type.STRING)) - ? JavaSemantics.HOST_JDK.resolve(rule, attributes, configuration) - : null; - } - }; - @Override public RuleClass build( RuleClass.Builder builder, RuleDefinitionEnvironment env) { -- cgit v1.2.3