aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaTargetAttributes.java31
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;
}