aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
index 9da81f83c4..b86f124d87 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Root;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
+import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.rules.cpp.CppModuleMap;
import com.google.devtools.build.lib.util.Preconditions;
@@ -41,16 +42,23 @@ public final class IntermediateArtifacts {
static final String DSYM_ZIP_EXTENSION = ".temp.zip";
private final RuleContext ruleContext;
+ private final BuildConfiguration buildConfiguration;
private final String archiveFileNameSuffix;
private final String outputPrefix;
+ IntermediateArtifacts(RuleContext ruleContext, String archiveFileNameSuffix,
+ String outputPrefix) {
+ this(ruleContext, archiveFileNameSuffix, outputPrefix, ruleContext.getConfiguration());
+ }
+
IntermediateArtifacts(RuleContext ruleContext, String archiveFileNameSuffix) {
- this(ruleContext, archiveFileNameSuffix, "");
+ this(ruleContext, archiveFileNameSuffix, "", ruleContext.getConfiguration());
}
IntermediateArtifacts(RuleContext ruleContext, String archiveFileNameSuffix,
- String outputPrefix) {
+ String outputPrefix, BuildConfiguration buildConfiguration) {
this.ruleContext = ruleContext;
+ this.buildConfiguration = buildConfiguration;
this.archiveFileNameSuffix = Preconditions.checkNotNull(archiveFileNameSuffix);
this.outputPrefix = Preconditions.checkNotNull(outputPrefix);
}
@@ -67,7 +75,7 @@ public final class IntermediateArtifacts {
ruleContext.getDerivedArtifact(
entitlementsDirectory.replaceName(
addOutputPrefix(entitlementsDirectory.getBaseName(), extension)),
- ruleContext.getConfiguration().getBinDirectory());
+ buildConfiguration.getBinDirectory());
return artifact;
}
@@ -180,8 +188,8 @@ public final class IntermediateArtifacts {
private Artifact scopedArtifact(PathFragment scopeRelative, boolean inGenfiles) {
Root root =
inGenfiles
- ? ruleContext.getConfiguration().getGenfilesDirectory()
- : ruleContext.getConfiguration().getBinDirectory();
+ ? buildConfiguration.getGenfilesDirectory()
+ : buildConfiguration.getBinDirectory();
// The path of this artifact will be RULE_PACKAGE/SCOPERELATIVE
return ruleContext.getPackageRelativeArtifact(scopeRelative, root);
@@ -385,7 +393,7 @@ public final class IntermediateArtifacts {
* {@link CppModuleMap} that provides the clang module map for this target.
*/
public CppModuleMap moduleMap() {
- if (!ObjcRuleClasses.objcConfiguration(ruleContext).moduleMapsEnabled()) {
+ if (!buildConfiguration.getFragment(ObjcConfiguration.class).moduleMapsEnabled()) {
throw new IllegalStateException();
}
String moduleName =