aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java29
2 files changed, 24 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
index 5f2fc13bdd..6ecfba7b53 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
@@ -252,7 +252,12 @@ public class JavaCommon {
*/
public JavaCompilationArgsProvider collectJavaCompilationArgs(
boolean isNeverLink, boolean srcLessDepsExport) {
- boolean javaProtoLibraryStrictDeps = semantics.isJavaProtoLibraryStrictDeps(ruleContext);
+ return collectJavaCompilationArgs(
+ isNeverLink, srcLessDepsExport, /* javaProtoLibraryStrictDeps= */ false);
+ }
+
+ public JavaCompilationArgsProvider collectJavaCompilationArgs(
+ boolean isNeverLink, boolean srcLessDepsExport, boolean javaProtoLibraryStrictDeps) {
return collectJavaCompilationArgs(
/* isNeverLink= */ isNeverLink,
/* srcLessDepsExport= */ srcLessDepsExport,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
index b9f7360557..317b169c97 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
@@ -163,7 +163,12 @@ public class JavaLibrary implements RuleConfiguredTargetFactory {
javaArtifacts, attributes, neverLink, helper.getBootclasspathOrDefault()));
JavaCompilationArgsProvider javaCompilationArgs =
- common.collectJavaCompilationArgs(neverLink, false);
+ common.collectJavaCompilationArgs(
+ neverLink, /* srcLessDepsExport= */ false, /* javaProtoLibraryStrictDeps= */ false);
+ JavaStrictCompilationArgsProvider strictJavaCompilationArgs =
+ new JavaStrictCompilationArgsProvider(
+ common.collectJavaCompilationArgs(
+ neverLink, /* srcLessDepsExport= */ false, /* javaProtoLibraryStrictDeps= */ true));
NestedSet<LinkerInput> transitiveJavaNativeLibraries =
common.collectTransitiveJavaNativeLibraries();
@@ -195,16 +200,18 @@ public class JavaLibrary implements RuleConfiguredTargetFactory {
: JavaCommon.getTransitivePlugins(ruleContext);
// java_library doesn't need to return JavaRunfilesProvider
- JavaInfo javaInfo = javaInfoBuilder
- .addProvider(JavaCompilationArgsProvider.class, compilationArgsProvider)
- .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider)
- .addProvider(JavaRuleOutputJarsProvider.class, ruleOutputJarsProvider)
- // TODO(bazel-team): this should only happen for java_plugin
- .addProvider(JavaPluginInfoProvider.class, pluginInfoProvider)
- .setRuntimeJars(javaArtifacts.getRuntimeJars())
- .setJavaConstraints(JavaCommon.getConstraints(ruleContext))
- .setNeverlink(neverLink)
- .build();
+ JavaInfo javaInfo =
+ javaInfoBuilder
+ .addProvider(JavaCompilationArgsProvider.class, compilationArgsProvider)
+ .addProvider(JavaStrictCompilationArgsProvider.class, strictJavaCompilationArgs)
+ .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider)
+ .addProvider(JavaRuleOutputJarsProvider.class, ruleOutputJarsProvider)
+ // TODO(bazel-team): this should only happen for java_plugin
+ .addProvider(JavaPluginInfoProvider.class, pluginInfoProvider)
+ .setRuntimeJars(javaArtifacts.getRuntimeJars())
+ .setJavaConstraints(JavaCommon.getConstraints(ruleContext))
+ .setNeverlink(neverLink)
+ .build();
builder
.addSkylarkTransitiveInfo(