diff options
author | carmi <carmi@google.com> | 2017-08-01 18:23:32 +0200 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-08-02 10:38:45 +0200 |
commit | 48e54c3a86a133321d9bbad8ba31a1c6ef5d1f43 (patch) | |
tree | 896c38fd6bfa7b69aceda875420b2342172037dd /src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java | |
parent | 6563b2d42d29196432d5fcafa0144b8371fbb028 (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.java | 19 |
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( |