diff options
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java | 7 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java | 29 |
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( |