diff options
author | 2017-12-18 03:40:43 -0800 | |
---|---|---|
committer | 2017-12-18 03:42:08 -0800 | |
commit | 176f0a2a5f5f7987d340682715708ed45123b59d (patch) | |
tree | 2b3d0b9929339d1b6c095f16d2a45100a6b4320c /src/main/java/com | |
parent | f203db0644fd522e43a4b4ddfa410f95aef49ec3 (diff) |
Preemptively add deps back for Objective-C compilation after it was removed in
https://github.com/bazelbuild/bazel/commit/d6ac11dab81ec40e9adc717575904574c6c9dc48.
RELNOTES:none
PiperOrigin-RevId: 179401717
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java index c41c162a17..2fb5133119 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java @@ -63,6 +63,7 @@ import com.google.devtools.build.lib.analysis.AnalysisEnvironment; import com.google.devtools.build.lib.analysis.FilesToRunProvider; import com.google.devtools.build.lib.analysis.PrerequisiteArtifacts; import com.google.devtools.build.lib.analysis.RuleContext; +import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; import com.google.devtools.build.lib.analysis.actions.CommandLine; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine.VectorArg; @@ -312,6 +313,8 @@ public class CompilationSupport { Collection<Artifact> privateHdrs, Collection<Artifact> publicHdrs, Artifact pchHdr, + // TODO(b/70777494): Find out how deps get used and remove if not needed. + Iterable<? extends TransitiveInfoCollection> deps, ObjcCppSemantics semantics, String purpose) throws RuleErrorException, InterruptedException { @@ -330,6 +333,11 @@ public class CompilationSupport { .enableCompileProviders() .addPublicHeaders(publicHdrs) .addPrecompiledFiles(precompiledFiles) + .addDeps(deps) + // Not all our dependencies need to export cpp information. + // For example, objc_proto_library can depend on a proto_library rule that does not + // generate C++ protos. + .setCheckDepsGenerateCpp(false) .setCopts( ImmutableList.<String>builder() .addAll(getCompileRuleCopts()) @@ -384,6 +392,8 @@ public class CompilationSupport { Streams.stream(compilationArtifacts.getAdditionalHdrs())) .collect(toImmutableSortedSet(naturalOrder())); Artifact pchHdr = getPchFile().orNull(); + Iterable<? extends TransitiveInfoCollection> deps = + ruleContext.getPrerequisites("deps", Mode.TARGET); ObjcCppSemantics semantics = createObjcCppSemantics(objcProvider, privateHdrs, pchHdr); String purpose = String.format("%s_objc_arc", semantics.getPurpose()); @@ -401,6 +411,7 @@ public class CompilationSupport { privateHdrs, publicHdrs, pchHdr, + deps, semantics, purpose); @@ -419,6 +430,7 @@ public class CompilationSupport { privateHdrs, publicHdrs, pchHdr, + deps, semantics, purpose); |