diff options
author | Luis Fernando Pino Duque <lpino@google.com> | 2016-04-27 15:50:20 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2016-04-27 17:12:00 +0000 |
commit | 8e093e3a3fcd6f199a3b6cf579526485e681a7f4 (patch) | |
tree | 9fa93f3b5e65dd8fd760324e9de646966cc8bbea /src | |
parent | b8e2d49b77b153a6cc56080f7927b9d1a50fdf4f (diff) |
Add a getJdkLauncherLabel() method in JavaSemantics and delete the JDK_LAUNCHER_LABEL
in order to delete the reference to Constants.TOOLS_REPOSITORY.
--
MOS_MIGRATED_REVID=120919584
Diffstat (limited to 'src')
3 files changed, 20 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java index b9ec1f5b07..8933d9923e 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java @@ -32,6 +32,7 @@ import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Co import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Substitution; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Template; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; +import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.packages.BuildType; import com.google.devtools.build.lib.rules.java.DeployArchiveBuilder; @@ -69,9 +70,17 @@ public class BazelJavaSemantics implements JavaSemantics { private static final String JAVABUILDER_CLASS_NAME = "com.google.devtools.build.buildjar.BazelJavaBuilder"; + private static final Label JDK_LAUNCHER_LABEL = + Label.parseAbsoluteUnchecked("@bazel_tools//third_party/java/jdk:jdk_launcher"); + private BazelJavaSemantics() { } + @Override + public Label getJdkLauncherLabel() { + return JDK_LAUNCHER_LABEL; + } + private boolean isJavaBinaryOrJavaTest(RuleContext ruleContext) { String ruleClass = ruleContext.getRule().getRuleClass(); return ruleClass.equals("java_binary") || ruleClass.equals("java_test"); @@ -312,7 +321,7 @@ public class BazelJavaSemantics implements JavaSemantics { ? getPrimaryClassLegacy(ruleContext, sources) : getPrimaryClassNew(ruleContext, sources); } - + @Override public Iterable<String> getJvmFlags( RuleContext ruleContext, ImmutableList<Artifact> sources, List<String> userJvmFlags) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java index 4dac022eb9..4c1bfde10f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java @@ -64,7 +64,7 @@ public abstract class JavaHelper { if (ruleContext.getRule().isAttrDefined("launcher", BuildType.LABEL) && ruleContext.attributes().get("launcher", BuildType.LABEL) != null) { if (ruleContext.attributes().get("launcher", BuildType.LABEL) - .equals(JavaSemantics.JDK_LAUNCHER_LABEL)) { + .equals(semantics.getJdkLauncherLabel())) { return null; } return "launcher"; @@ -73,7 +73,7 @@ public abstract class JavaHelper { JavaConfiguration javaConfig = ruleContext.getFragment(JavaConfiguration.class); if (ruleContext.getRule().isAttrDefined(":java_launcher", BuildType.LABEL) && ((javaConfig.getJavaLauncherLabel() != null - && !javaConfig.getJavaLauncherLabel().equals(JavaSemantics.JDK_LAUNCHER_LABEL)) + && !javaConfig.getJavaLauncherLabel().equals(semantics.getJdkLauncherLabel())) || semantics.forceUseJavaLauncherTarget(ruleContext))) { return ":java_launcher"; } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java index d05c037c09..74c8064580 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java @@ -19,7 +19,6 @@ import static com.google.devtools.build.lib.packages.ImplicitOutputsFunction.fro import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.devtools.build.lib.Constants; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.LanguageDependentFragment.LibraryLanguage; import com.google.devtools.build.lib.analysis.OutputGroupProvider; @@ -113,12 +112,6 @@ public interface JavaSemantics { String GENERATED_JARS_OUTPUT_GROUP = OutputGroupProvider.HIDDEN_OUTPUT_GROUP_PREFIX + "gen_jars"; - /** - * Label of pseudo-cc_binary that tells Blaze a java target's JAVABIN is never to be replaced by - * the contents of --java_launcher; only the JDK's launcher will ever be used. - */ - Label JDK_LAUNCHER_LABEL = Label.parseAbsoluteUnchecked( - Constants.TOOLS_REPOSITORY + "//third_party/java/jdk:jdk_launcher"); /** * Implementation for the :jvm attribute. @@ -379,9 +372,17 @@ public interface JavaSemantics { */ String getJavaBuilderMainClass(); + /** * @return An artifact representing the protobuf-format version of the * proguard mapping, or null if the proguard version doesn't support this. */ Artifact getProtoMapping(RuleContext ruleContext) throws InterruptedException; + + /** + * @return Label of pseudo-cc_binary that tells Blaze a java target's JAVABIN is never to be + * replaced by the contents of --java_launcher; only the JDK's launcher will ever be used. + */ + Label getJdkLauncherLabel(); } + |