diff options
author | 2018-04-30 11:22:24 -0700 | |
---|---|---|
committer | 2018-04-30 11:23:42 -0700 | |
commit | 968f87900dce45a7af749a965b72dbac51b176b3 (patch) | |
tree | c8fe0ed7bb3d1a138206047bbd4160e4d28d2e7f /src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java | |
parent | 678bdb78a7971d9155297099aaac594f03d663fc (diff) |
Headers specified in cc_library.textual_hdrs are passed through objc_library
targets to upstream cc_library targets.
PiperOrigin-RevId: 194816009
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 |