aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
index 3e77023af2..a7860d6bab 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
@@ -331,11 +331,14 @@ public final class XcodeProvider implements TransitiveInfoProvider {
*/
public static final class Project {
private final NestedSet<Artifact> inputsToXcodegen;
+ private final NestedSet<Artifact> additionalSources;
private final ImmutableList<XcodeProvider> topLevelTargets;
private Project(
- NestedSet<Artifact> inputsToXcodegen, ImmutableList<XcodeProvider> topLevelTargets) {
+ NestedSet<Artifact> inputsToXcodegen, NestedSet<Artifact> additionalSources,
+ ImmutableList<XcodeProvider> topLevelTargets) {
this.inputsToXcodegen = inputsToXcodegen;
+ this.additionalSources = additionalSources;
this.topLevelTargets = topLevelTargets;
}
@@ -345,10 +348,13 @@ public final class XcodeProvider implements TransitiveInfoProvider {
public static Project fromTopLevelTargets(Iterable<XcodeProvider> topLevelTargets) {
NestedSetBuilder<Artifact> inputsToXcodegen = NestedSetBuilder.stableOrder();
+ NestedSetBuilder<Artifact> additionalSources = NestedSetBuilder.stableOrder();
for (XcodeProvider target : topLevelTargets) {
inputsToXcodegen.addTransitive(target.inputsToXcodegen);
+ additionalSources.addTransitive(target.additionalSources);
}
- return new Project(inputsToXcodegen.build(), ImmutableList.copyOf(topLevelTargets));
+ return new Project(inputsToXcodegen.build(), additionalSources.build(),
+ ImmutableList.copyOf(topLevelTargets));
}
/**
@@ -358,6 +364,13 @@ public final class XcodeProvider implements TransitiveInfoProvider {
public NestedSet<Artifact> getInputsToXcodegen() {
return inputsToXcodegen;
}
+
+ /**
+ * Returns artifacts that are additional sources for the Xcodegen action.
+ */
+ public NestedSet<Artifact> getAdditionalSources() {
+ return additionalSources;
+ }
/**
* Returns all the target controls that must be added to the xcodegen control. No other target