diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java')
3 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java index 750507d9d7..6bba8faf1b 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java @@ -438,7 +438,7 @@ public class JavaBinary implements RuleConfiguredTargetFactory { JavaInfo.Builder javaInfoBuilder = JavaInfo.Builder.create(); common.addTransitiveInfoProviders(builder, javaInfoBuilder, filesToBuild, classJar); - common.addGenJarsProvider(javaInfoBuilder, genClassJar, genSourceJar); + common.addGenJarsProvider(builder, javaInfoBuilder, genClassJar, genSourceJar); JavaInfo javaInfo = javaInfoBuilder .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider) 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 6c39ae6316..7da5b33810 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 @@ -400,7 +400,7 @@ public class JavaCommon { builder.addAll(Iterables.transform(currentRuleExports, TransitiveInfoCollection::getLabel)); for (TransitiveInfoCollection dep : currentRuleExports) { - JavaExportsProvider exportsProvider = JavaInfo.getProvider(JavaExportsProvider.class, dep); + JavaExportsProvider exportsProvider = dep.getProvider(JavaExportsProvider.class); if (exportsProvider != null) { builder.addTransitive(exportsProvider.getTransitiveExports()); @@ -687,7 +687,9 @@ public class JavaCommon { .add( InstrumentedFilesProvider.class, getInstrumentationFilesProvider(ruleContext, filesToBuild, instrumentationSpec)) - .addOutputGroup(OutputGroupInfo.FILES_TO_COMPILE, getFilesToCompile(classJar)); + .add(JavaExportsProvider.class, exportsProvider) + .addOutputGroup(OutputGroupInfo.FILES_TO_COMPILE, getFilesToCompile(classJar)) + .add(JavaCompilationInfoProvider.class, compilationInfoProvider); javaInfoBuilder.addProvider(JavaExportsProvider.class, exportsProvider); javaInfoBuilder.addProvider(JavaCompilationInfoProvider.class, compilationInfoProvider); @@ -706,6 +708,7 @@ public class JavaCommon { } public void addGenJarsProvider( + RuleConfiguredTargetBuilder builder, JavaInfo.Builder javaInfoBuilder, @Nullable Artifact genClassJar, @Nullable Artifact genSourceJar) { @@ -717,6 +720,8 @@ public class JavaCommon { activePlugins, getDependencies(JavaGenJarsProvider.class)); + builder.addProvider(JavaGenJarsProvider.class, genJarsProvider); + javaInfoBuilder.addProvider(JavaGenJarsProvider.class, genJarsProvider); } 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 815f2bfb0a..b9f7360557 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 @@ -184,7 +184,7 @@ public class JavaLibrary implements RuleConfiguredTargetFactory { JavaInfo.Builder javaInfoBuilder = JavaInfo.Builder.create(); common.addTransitiveInfoProviders(builder, javaInfoBuilder, filesToBuild, classJar); - common.addGenJarsProvider(javaInfoBuilder, genClassJar, genSourceJar); + common.addGenJarsProvider(builder, javaInfoBuilder, genClassJar, genSourceJar); NestedSet<Artifact> proguardSpecs = new ProguardLibrary(ruleContext).collectProguardSpecs(); |