diff options
5 files changed, 26 insertions, 22 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java index 79088841aa..20e34940d1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java @@ -657,7 +657,7 @@ public class AndroidCommon { } Artifact jar = null; - if (attributes.hasSourceFiles() || attributes.hasSourceJars() || attributes.hasResources()) { + if (attributes.hasSources() || attributes.hasResources()) { // We only want to add a jar to the classpath of a dependent rule if it has content. javaArtifactsBuilder.addRuntimeJar(classJar); jar = classJar; @@ -698,7 +698,7 @@ public class AndroidCommon { filesToBuild = filesBuilder.build(); - if ((attributes.hasSourceFiles() || attributes.hasSourceJars()) && jar != null) { + if ((attributes.hasSources()) && jar != null) { iJar = helper.createCompileTimeJarAction(jar, javaArtifactsBuilder); } @@ -720,7 +720,7 @@ public class AndroidCommon { javaCommon.getDependencies(), javaCommon.getJavaCompilationArtifacts().getRuntimeJars()); if (collectJavaCompilationArgs) { - boolean hasSources = attributes.hasSourceFiles() || attributes.hasSourceJars(); + boolean hasSources = attributes.hasSources(); this.javaCompilationArgs = collectJavaCompilationArgs(exportDeps, asNeverLink, hasSources); this.recursiveJavaCompilationArgs = collectJavaCompilationArgs( 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 f4c1961542..e6bc5587d7 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 @@ -187,8 +187,7 @@ public class JavaBinary implements RuleConfiguredTargetFactory { semantics.translate(ruleContext, javaConfig, attributes.getMessages())); } - if (attributes.hasSourceFiles() || attributes.hasSourceJars() - || attributes.hasResources() || attributes.hasClassPathResources()) { + if (attributes.hasSources() || attributes.hasResources()) { // We only want to add a jar to the classpath of a dependent rule if it has content. javaArtifactsBuilder.addRuntimeJar(classJar); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java index af636c20a7..0c5f93383c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java @@ -485,8 +485,7 @@ public final class JavaCompilationHelper { * targets acting as aliases have to be filtered out. */ private boolean generatesOutputDeps() { - return getJavaConfiguration().getGenerateJavaDeps() - && (attributes.hasSourceFiles() || attributes.hasSourceJars()); + return getJavaConfiguration().getGenerateJavaDeps() && attributes.hasSources(); } /** 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 403abd7aff..54f5337eb1 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 @@ -92,8 +92,7 @@ public class JavaLibrary implements RuleConfiguredTargetFactory { Artifact classJar = ruleContext.getImplicitOutputArtifact( JavaSemantics.JAVA_LIBRARY_CLASS_JAR); - if (attributes.hasSourceFiles() || attributes.hasSourceJars() || attributes.hasResources() - || attributes.hasMessages()) { + if (attributes.hasSources() || attributes.hasResources()) { // We only want to add a jar to the classpath of a dependent rule if it has content. javaArtifactsBuilder.addRuntimeJar(classJar); jar = classJar; @@ -120,7 +119,7 @@ public class JavaLibrary implements RuleConfiguredTargetFactory { helper.createSourceJarAction(srcJar, genSourceJar); Artifact iJar = null; - if ((attributes.hasSourceFiles() || attributes.hasSourceJars()) && jar != null) { + if (attributes.hasSources() && jar != null) { iJar = helper.createCompileTimeJarAction(jar, javaArtifactsBuilder); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java index ab9e96422d..d09bdbc893 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java @@ -393,22 +393,34 @@ public class JavaTargetAttributes { strictJavaDeps); } - // TODO(bazel-team): Remove these 5 methods. + // TODO(bazel-team): delete the following methods - users should use the built + // JavaTargetAttributes instead of accessing mutable state in the Builder. + + /** @deprecated prefer {@link JavaTargetAttributes#getSourceFiles} */ @Deprecated public Set<Artifact> getSourceFiles() { return sourceFiles; } + /** @deprecated prefer {@link JavaTargetAttributes#hasSources} */ + @Deprecated + public boolean hasSources() { + return !sourceFiles.isEmpty() || !sourceJars.isEmpty(); + } + + /** @deprecated prefer {@link JavaTargetAttributes#hasSourceFiles} */ @Deprecated public boolean hasSourceFiles() { return !sourceFiles.isEmpty(); } + /** @deprecated prefer {@link JavaTargetAttributes#getInstrumentationMetadata} */ @Deprecated public List<Artifact> getInstrumentationMetadata() { return instrumentationMetadata; } + /** @deprecated prefer {@link JavaTargetAttributes#hasSourceJars} */ @Deprecated public boolean hasSourceJars() { return !sourceJars.isEmpty(); @@ -616,26 +628,21 @@ public class JavaTargetAttributes { return processorNames; } - public boolean hasSourceFiles() { - return !sourceFiles.isEmpty(); - } - - public boolean hasSourceJars() { - return !sourceJars.isEmpty(); + public boolean hasSources() { + return !sourceFiles.isEmpty() || !sourceJars.isEmpty(); } public boolean hasResources() { - return !resources.isEmpty(); + return !resources.isEmpty() + || !messages.isEmpty() + || !classPathResources.isEmpty() + || !resourceJars.isEmpty(); } public boolean hasMessages() { return !messages.isEmpty(); } - public boolean hasClassPathResources() { - return !classPathResources.isEmpty(); - } - public String getRuleKind() { return ruleKind; } |