diff options
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.java | 14 |
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)); } |