aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar plf <plf@google.com>2017-12-18 03:40:43 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-18 03:42:08 -0800
commit176f0a2a5f5f7987d340682715708ed45123b59d (patch)
tree2b3d0b9929339d1b6c095f16d2a45100a6b4320c /src/main/java/com
parentf203db0644fd522e43a4b4ddfa410f95aef49ec3 (diff)
Preemptively add deps back for Objective-C compilation after it was removed in
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java12
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);