aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
index ab6d409b1f..ec3ad4727f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
@@ -553,6 +553,16 @@ public final class JavaInfo extends NativeInfo implements JavaInfoApi<Artifact>
}
public JavaInfo build() {
+ // TODO(twerth): Clean up after we remove java_proto_library.strict_deps.
+ // Instead of teaching every (potential Skylark) caller to also create the provider for strict
+ // deps we wrap the non strict provider instead.
+ if (!providerMap.contains(JavaStrictCompilationArgsProvider.class)
+ && providerMap.contains(JavaCompilationArgsProvider.class)) {
+ JavaStrictCompilationArgsProvider javaStrictCompilationArgsProvider =
+ new JavaStrictCompilationArgsProvider(
+ providerMap.getProvider(JavaCompilationArgsProvider.class));
+ addProvider(JavaStrictCompilationArgsProvider.class, javaStrictCompilationArgsProvider);
+ }
return new JavaInfo(providerMap.build(), runtimeJars, neverlink, javaConstraints, location);
}
}