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