From 6144616cf3116df20551003d30379b104edca4cf Mon Sep 17 00:00:00 2001 From: Carmi Grushko Date: Thu, 28 Apr 2016 17:01:02 +0000 Subject: -- MOS_MIGRATED_REVID=121029385 --- .../devtools/build/lib/rules/java/BaseJavaCompilationHelper.java | 4 +++- .../devtools/build/lib/rules/java/JavaCompilationHelper.java | 5 ++++- .../build/lib/rules/java/JavaHeaderCompileActionBuilder.java | 9 +++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/google/devtools/build') 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 translations = new ArrayList<>(); private boolean translationsFrozen; private final JavaSemantics semantics; + private final String implicitAttributesSuffix; public JavaCompilationHelper(RuleContext ruleContext, JavaSemantics semantics, ImmutableList 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 jvmArgs = ImmutableList.builder() .addAll(javaToolchain.getJavacJvmOptions()) -- cgit v1.2.3