aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
index 0f390ad421..45f9726009 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
@@ -24,6 +24,7 @@ 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.BinaryFileWriteAction;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
+import com.google.devtools.build.lib.analysis.actions.SymlinkAction;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SafeImplicitOutputsFunction;
import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.SplitArchTransition.ConfigurationDistinguisher;
@@ -75,8 +76,16 @@ public final class XcodeSupport {
* @return this xcode support
*/
XcodeSupport addDummySource(XcodeProvider.Builder xcodeProviderBuilder) {
- xcodeProviderBuilder.addAdditionalSources(
- ruleContext.getPrerequisiteArtifact("$dummy_source", Mode.TARGET));
+ IntermediateArtifacts intermediateArtifacts =
+ ObjcRuleClasses.intermediateArtifacts(ruleContext);
+
+ ruleContext.registerAction(new SymlinkAction(
+ ruleContext.getActionOwner(),
+ ruleContext.getPrerequisiteArtifact("$dummy_source", Mode.TARGET),
+ intermediateArtifacts.dummySource(),
+ "Symlinking dummy artifact"));
+
+ xcodeProviderBuilder.addAdditionalSources(intermediateArtifacts.dummySource());
return this;
}
@@ -207,6 +216,7 @@ public final class XcodeSupport {
.addInputArgument(controlFile)
.addOutput(ruleContext.getImplicitOutputArtifact(XcodeSupport.PBXPROJ))
.addTransitiveInputs(project.getInputsToXcodegen())
+ .addTransitiveInputs(project.getAdditionalSources())
.build(ruleContext));
}