diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java index c13c0757be..f53d612f97 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java @@ -156,6 +156,7 @@ public final class ObjcCommon { private Iterable<Artifact> staticFrameworkImports = ImmutableList.of(); private Iterable<Artifact> dynamicFrameworkImports = ImmutableList.of(); private Optional<CompilationArtifacts> compilationArtifacts = Optional.absent(); + private ImmutableSet.Builder<Artifact> textualHeaders = ImmutableSet.builder(); private Iterable<ObjcProvider> depObjcProviders = ImmutableList.of(); private Iterable<ObjcProvider> directDepObjcProviders = ImmutableList.of(); private Iterable<ObjcProvider> runtimeDepObjcProviders = ImmutableList.of(); @@ -461,6 +462,7 @@ public final class ObjcCommon { // probably shouldn't. objcProvider.addAll(INCLUDE_SYSTEM, headerProvider.getSystemIncludeDirs()); objcProvider.addAll(DEFINE, headerProvider.getDefines()); + textualHeaders.addAll(headerProvider.getTextualHdrs()); } for (CcLinkParamsInfo linkProvider : depCcLinkProviders) { CcLinkParams params = linkProvider.getCcLinkParams(true, false); @@ -607,7 +609,7 @@ public final class ObjcCommon { .add(DEBUG_SYMBOLS_PLIST, intermediateArtifacts.dsymPlist(dsymOutputType)); } - return new ObjcCommon(objcProvider.build(), compilationArtifacts); + return new ObjcCommon(objcProvider.build(), compilationArtifacts, textualHeaders.build()); } private static boolean useStrictObjcModuleMaps(RuleContext context) { @@ -653,11 +655,15 @@ public final class ObjcCommon { private final ObjcProvider objcProvider; private final Optional<CompilationArtifacts> compilationArtifacts; + private final ImmutableSet<Artifact> textualHdrs; private ObjcCommon( - ObjcProvider objcProvider, Optional<CompilationArtifacts> compilationArtifacts) { + ObjcProvider objcProvider, + Optional<CompilationArtifacts> compilationArtifacts, + ImmutableSet<Artifact> textualHdrs) { this.objcProvider = Preconditions.checkNotNull(objcProvider); this.compilationArtifacts = Preconditions.checkNotNull(compilationArtifacts); + this.textualHdrs = textualHdrs; } public ObjcProvider getObjcProvider() { @@ -668,6 +674,10 @@ public final class ObjcCommon { return compilationArtifacts; } + public ImmutableSet<Artifact> getTextualHdrs() { + return textualHdrs; + } + /** * Returns an {@link Optional} containing the compiled {@code .a} file, or * {@link Optional#absent()} if this object contains no {@link CompilationArtifacts} or the |