aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
index 3abd390817..8265d007b0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
@@ -77,7 +77,6 @@ final class JavaInfoBuildHelper {
* @return new created JavaInfo instance
* @throws EvalException if some mandatory parameter are missing
*/
- // TODO(b/69780248): only populates JavaInfo with JavaCompilationArgsProvider. See #3769
public JavaInfo createJavaInfo(
Artifact outputJar,
SkylarkList<Artifact> sourceFiles,
@@ -97,19 +96,25 @@ final class JavaInfoBuildHelper {
JavaCompilationArgs.Builder javaCompilationArgsBuilder = JavaCompilationArgs.builder();
+ javaCompilationArgsBuilder.addFullCompileTimeJar(outputJar);
+
+ if (!neverlink) {
+ javaCompilationArgsBuilder.addRuntimeJar(outputJar);
+ }
+
+ Artifact iJar = outputJar;
if (useIjar) {
SkylarkActionFactory skylarkActionFactory = checkActionType(action, location);
ConfiguredTarget configuredTarget = checkConfiguredTargetType(javaToolchain, location);
- Artifact iJar = buildIjar(outputJar, skylarkActionFactory, configuredTarget);
- javaCompilationArgsBuilder.addCompileTimeJar(iJar);
- } else {
- javaCompilationArgsBuilder.addCompileTimeJar(outputJar);
+ iJar = buildIjar(outputJar, skylarkActionFactory, configuredTarget);
}
+ javaCompilationArgsBuilder.addCompileTimeJar(iJar);
- javaCompilationArgsBuilder.addFullCompileTimeJar(outputJar);
- if (!neverlink) {
- javaCompilationArgsBuilder.addRuntimeJar(outputJar);
- }
+ JavaRuleOutputJarsProvider javaRuleOutputJarsProvider =
+ JavaRuleOutputJarsProvider.builder()
+ .addOutputJar(outputJar, iJar, ImmutableList.copyOf(sourceJars))
+ .build();
+ javaInfoBuilder.addProvider(JavaRuleOutputJarsProvider.class, javaRuleOutputJarsProvider);
JavaCompilationArgs.Builder recursiveJavaCompilationArgsBuilder =
JavaCompilationArgs.Builder.copyOf(javaCompilationArgsBuilder);