aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carmi Grushko <carmi@google.com>2016-04-28 17:01:02 +0000
committerGravatar Yun Peng <pcloudy@google.com>2016-04-29 08:09:24 +0000
commit6144616cf3116df20551003d30379b104edca4cf (patch)
tree526c571cdfe1b9005596dd74719a6928a2b8a9b2
parent3fedf9e618cbce3dbdd00559b2de0bb8e2d43171 (diff)
--
MOS_MIGRATED_REVID=121029385
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java9
3 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java
index 6bc5bc9026..78b1c84897 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java
@@ -44,7 +44,9 @@ public class BaseJavaCompilationHelper {
public BaseJavaCompilationHelper(RuleContext ruleContext, String implicitAttributesSuffix) {
this.ruleContext = ruleContext;
this.implicitAttributesSuffix = implicitAttributesSuffix;
- this.javaToolchain = JavaToolchainProvider.fromRuleContext(ruleContext);
+ this.javaToolchain =
+ ruleContext.getPrerequisite(
+ ":java_toolchain" + implicitAttributesSuffix, Mode.TARGET, JavaToolchainProvider.class);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java
index 45377b1a91..d0da0c420a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java
@@ -65,11 +65,13 @@ public final class JavaCompilationHelper extends BaseJavaCompilationHelper {
private final List<Artifact> translations = new ArrayList<>();
private boolean translationsFrozen;
private final JavaSemantics semantics;
+ private final String implicitAttributesSuffix;
public JavaCompilationHelper(RuleContext ruleContext, JavaSemantics semantics,
ImmutableList<String> javacOpts, JavaTargetAttributes.Builder attributes,
String implicitAttributesSuffix) {
super(ruleContext, implicitAttributesSuffix);
+ this.implicitAttributesSuffix = implicitAttributesSuffix;
this.attributes = attributes;
this.customJavacOpts = javacOpts;
this.customJavacJvmOpts = javaToolchain.getJavacJvmOptions();
@@ -261,7 +263,8 @@ public final class JavaCompilationHelper extends BaseJavaCompilationHelper {
runtimeJar.getRoot());
JavaTargetAttributes attributes = getAttributes();
- JavaHeaderCompileActionBuilder builder = new JavaHeaderCompileActionBuilder(getRuleContext());
+ JavaHeaderCompileActionBuilder builder =
+ new JavaHeaderCompileActionBuilder(getRuleContext(), implicitAttributesSuffix);
builder.addSourceFiles(attributes.getSourceFiles());
builder.addSourceJars(attributes.getSourceJars());
builder.setClasspathEntries(attributes.getCompileTimeClassPath());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java
index 00e7504c3c..2dfe4a6ed9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java
@@ -20,6 +20,7 @@ import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType;
import com.google.devtools.build.lib.actions.ResourceSet;
+import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.actions.CommandLine;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine;
@@ -58,6 +59,7 @@ public class JavaHeaderCompileActionBuilder {
ResourceSet.createWithRamCpuIo(/*memoryMb=*/ 750.0, /*cpuUsage=*/ 0.5, /*ioUsage=*/ 0.0);
private final RuleContext ruleContext;
+ private final String implicitAttributesSuffix;
private Artifact outputJar;
@Nullable private Artifact outputDepsProto;
@@ -78,8 +80,9 @@ public class JavaHeaderCompileActionBuilder {
private Artifact javacJar;
/** Creates a builder using the configuration of the rule as the action configuration. */
- public JavaHeaderCompileActionBuilder(RuleContext ruleContext) {
+ public JavaHeaderCompileActionBuilder(RuleContext ruleContext, String implicitAttributesSuffix) {
this.ruleContext = ruleContext;
+ this.implicitAttributesSuffix = implicitAttributesSuffix;
}
/** Sets the output jdeps file. */
@@ -255,7 +258,9 @@ public class JavaHeaderCompileActionBuilder {
builder.addTool(javacJar);
- JavaToolchainProvider javaToolchain = JavaToolchainProvider.fromRuleContext(ruleContext);
+ JavaToolchainProvider javaToolchain =
+ ruleContext.getPrerequisite(
+ ":java_toolchain" + implicitAttributesSuffix, Mode.TARGET, JavaToolchainProvider.class);
List<String> jvmArgs =
ImmutableList.<String>builder()
.addAll(javaToolchain.getJavacJvmOptions())