aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java15
1 files changed, 9 insertions, 6 deletions
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 ac8c157632..83088fea04 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
@@ -118,14 +118,17 @@ public class JavaLibrary implements RuleConfiguredTargetFactory {
filesBuilder.add(classJar);
- // The gensrc jar is created only if the target uses annotation processing.
- // Otherwise, it is null, and the source jar action will not depend on the compile action.
- Artifact genSourceJar = helper.createGensrcJar(classJar);
Artifact manifestProtoOutput = helper.createManifestProtoOutput(classJar);
- Artifact genClassJar = ruleContext.getImplicitOutputArtifact(
- JavaSemantics.JAVA_LIBRARY_GEN_JAR);
- helper.createGenJarAction(classJar, manifestProtoOutput, genClassJar);
+ // The gensrc jar is created only if the target uses annotation processing.
+ // Otherwise, it is null, and the source jar action will not depend on the compile action.
+ Artifact genSourceJar = null;
+ Artifact genClassJar = null;
+ if (helper.usesAnnotationProcessing()) {
+ genClassJar = helper.createGenJar(classJar);
+ genSourceJar = helper.createGensrcJar(classJar);
+ helper.createGenJarAction(classJar, manifestProtoOutput, genClassJar);
+ }
Artifact outputDepsProto = helper.createOutputDepsProtoArtifact(classJar, javaArtifactsBuilder);