diff options
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.java | 10 |
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); } } |