diff options
author | cpeyser <cpeyser@google.com> | 2018-02-12 06:41:54 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-12 06:44:02 -0800 |
commit | db61b316458685344d3aa4b6a784f09001a90892 (patch) | |
tree | 0a3bdca0bcda9df1a2282de3c51e042aeb6d79d0 /src/main/java/com/google | |
parent | a92cde101f774c7731fbf16abc099dad311b5216 (diff) |
Changes cc_library to consume headers specified in the "hdrs" attribute of an
objc_library that it depends on.
See https://github.com/bazelbuild/bazel/issues/3352
PiperOrigin-RevId: 185371993
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java | 2 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ObjcLibrary.java | 7 |
2 files changed, 8 insertions, 1 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 ea55f9adbc..5c9292969e 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 @@ -90,7 +90,7 @@ import java.util.Set; public final class ObjcCommon { /** Filters fileset artifacts out of a group of artifacts. */ - public static Iterable<Artifact> filterFileset(Iterable<Artifact> artifacts) { + public static ImmutableList<Artifact> filterFileset(Iterable<Artifact> artifacts) { ImmutableList.Builder<Artifact> inputs = ImmutableList.<Artifact>builder(); for (Artifact artifact : artifacts) { if (!artifact.isFileset()) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcLibrary.java index 7ad60f0c46..7785f22ee1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcLibrary.java @@ -23,6 +23,7 @@ import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.rules.cpp.CcLinkParamsInfo; +import com.google.devtools.build.lib.rules.cpp.CppCompilationContext; import com.google.devtools.build.lib.rules.objc.ObjcCommon.ResourceAttributes; import com.google.devtools.build.lib.syntax.Type; import java.util.Map; @@ -87,9 +88,15 @@ public class ObjcLibrary implements RuleConfiguredTargetFactory { J2ObjcEntryClassProvider j2ObjcEntryClassProvider = new J2ObjcEntryClassProvider.Builder() .addTransitive(ruleContext.getPrerequisites("deps", Mode.TARGET, J2ObjcEntryClassProvider.class)).build(); + CppCompilationContext cppCompilationContext = + new CppCompilationContext.Builder(ruleContext) + .addDeclaredIncludeSrcs(CompilationAttributes.Builder + .fromRuleContext(ruleContext).build().hdrs().toCollection()) + .build(); return ObjcRuleClasses.ruleConfiguredTarget(ruleContext, filesToBuild.build()) .addNativeDeclaredProvider(common.getObjcProvider()) + .addProvider(CppCompilationContext.class, cppCompilationContext) .addProvider(J2ObjcEntryClassProvider.class, j2ObjcEntryClassProvider) .addProvider(J2ObjcMappingFileProvider.class, j2ObjcMappingFileProvider) .addProvider( |