aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Luis Fernando Pino Duque <lpino@google.com>2016-04-27 15:50:20 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-04-27 17:12:00 +0000
commit8e093e3a3fcd6f199a3b6cf579526485e681a7f4 (patch)
tree9fa93f3b5e65dd8fd760324e9de646966cc8bbea /src
parentb8e2d49b77b153a6cc56080f7927b9d1a50fdf4f (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')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java15
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();
}
+