aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java7
2 files changed, 11 insertions, 3 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 fed792eb5f..4ff6468940 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
@@ -536,6 +536,12 @@ final class JavaInfoBuildHelper {
sourceJarsP ->
transitiveSourceJars.addTransitive(sourceJarsP.getTransitiveSourceJars()));
+ // When sources are not provided, the subsequent output Jar will be empty. As such, the output
+ // Jar is omitted from the set of Runtime Jars.
+ if (!sourceJars.isEmpty() || !sourceFiles.isEmpty()) {
+ javaInfoBuilder.setRuntimeJars(ImmutableList.of(outputJar));
+ }
+
return javaInfoBuilder
.addProvider(JavaCompilationArgsProvider.class, javaCompilationArgsProvider)
.addProvider(
@@ -545,7 +551,6 @@ final class JavaInfoBuildHelper {
.addProvider(JavaRunfilesProvider.class, new JavaRunfilesProvider(runfiles))
.addProvider(JavaPluginInfoProvider.class, transitivePluginsProvider)
.setNeverlink(neverlink)
- .setRuntimeJars(ImmutableList.of(outputJar))
.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
index c035f5c433..37929cb8b9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
@@ -267,8 +267,11 @@ public final class JavaLibraryHelper {
/* instrumentationMetadataJar= */ null,
nativeHeaderOutput);
- artifactsBuilder.addRuntimeJar(output);
- Artifact iJar = helper.createCompileTimeJarAction(output, artifactsBuilder);
+ Artifact iJar = null;
+ if (!sourceJars.isEmpty() || !sourceFiles.isEmpty()) {
+ artifactsBuilder.addRuntimeJar(output);
+ iJar = helper.createCompileTimeJarAction(output, artifactsBuilder);
+ }
if (createOutputSourceJar) {
helper.createSourceJarAction(