aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
diff options
context:
space:
mode:
authorGravatar carmi <carmi@google.com>2017-08-01 18:23:32 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-08-02 10:38:45 +0200
commit48e54c3a86a133321d9bbad8ba31a1c6ef5d1f43 (patch)
tree896c38fd6bfa7b69aceda875420b2342172037dd /src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
parent6563b2d42d29196432d5fcafa0144b8371fbb028 (diff)
Provide CcLinkParamsStore from java_xxx_proto_library rules.
RELNOTES: None PiperOrigin-RevId: 163838735
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
index 07ddb04b5c..531fd91694 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
@@ -21,6 +21,7 @@ import static com.google.devtools.build.lib.cmdline.Label.parseAbsoluteUnchecked
import static com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition.HOST;
import static com.google.devtools.build.lib.packages.Attribute.attr;
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
+import static com.google.devtools.build.lib.rules.java.proto.JplCcLinkParams.createCcLinkParamsStore;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
@@ -220,6 +221,7 @@ public class JavaLiteProtoAspect extends NativeAspectClass implements Configured
}
javaProvidersBuilder.add(generatedCompilationArgsProvider);
+ javaProvidersBuilder.add(createCcLinkParamsStore(ruleContext, getProtoRuntimeDeps()));
TransitiveInfoProviderMap javaProviders = javaProvidersBuilder.build();
aspect
@@ -252,12 +254,14 @@ public class JavaLiteProtoAspect extends NativeAspectClass implements Configured
.setOutput(outputJar)
.addSourceJars(sourceJar)
.setJavacOpts(ProtoJavacOpts.constructJavacOpts(ruleContext));
- helper.addDep(dependencyCompilationArgs);
- TransitiveInfoCollection runtime = getProtoToolchainProvider().runtime();
- if (runtime != null) {
- helper.addDep(runtime.getProvider(JavaCompilationArgsProvider.class));
+ helper.addDep(dependencyCompilationArgs).setCompilationStrictDepsMode(StrictDepsMode.OFF);
+ for (TransitiveInfoCollection t : getProtoRuntimeDeps()) {
+ JavaCompilationArgsProvider provider = t.getProvider(JavaCompilationArgsProvider.class);
+ if (provider != null) {
+ helper.addDep(provider);
+ }
}
- helper.setCompilationStrictDepsMode(StrictDepsMode.OFF);
+
JavaCompilationArtifacts artifacts =
helper.build(
javaSemantics,
@@ -267,6 +271,11 @@ public class JavaLiteProtoAspect extends NativeAspectClass implements Configured
return helper.buildCompilationArgsProvider(artifacts, true /* isReportedAsStrict */);
}
+ private ImmutableList<TransitiveInfoCollection> getProtoRuntimeDeps() {
+ TransitiveInfoCollection runtime = getProtoToolchainProvider().runtime();
+ return runtime != null ? ImmutableList.of(runtime) : ImmutableList.of();
+ }
+
private ProtoLangToolchainProvider getProtoToolchainProvider() {
return checkNotNull(
ruleContext.getPrerequisite(