aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java9
2 files changed, 10 insertions, 15 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
index f29ceef188..81214ebce9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
@@ -113,11 +113,6 @@ public final class JavaCompileAction extends SpawnAction {
*/
private final ImmutableList<String> processorNames;
- /**
- * The list of custom javac flags to pass to annotation processors.
- */
- private final ImmutableList<String> processorFlags;
-
/** Set of additional Java source files to compile. */
private final ImmutableList<Artifact> sourceJars;
@@ -158,7 +153,6 @@ public final class JavaCompileAction extends SpawnAction {
* @param extdirInputs the compile-time extclasspath entries
* @param processorPath the classpath to search for annotation processors
* @param processorNames the annotation processors to run
- * @param processorFlags custom annotation processor flags to pass to javac
* @param sourceJars jars of sources to compile
* @param sourceFiles source files to compile
* @param javacOpts the javac options for the compilation
@@ -183,7 +177,6 @@ public final class JavaCompileAction extends SpawnAction {
ImmutableList<Artifact> extdirInputs,
NestedSet<Artifact> processorPath,
List<String> processorNames,
- List<String> processorFlags,
Collection<Artifact> sourceJars,
ImmutableSet<Artifact> sourceFiles,
List<String> javacOpts,
@@ -219,7 +212,6 @@ public final class JavaCompileAction extends SpawnAction {
this.extdirInputs = extdirInputs;
this.processorPath = processorPath;
this.processorNames = ImmutableList.copyOf(processorNames);
- this.processorFlags = ImmutableList.copyOf(processorFlags);
this.sourceJars = ImmutableList.copyOf(sourceJars);
this.sourceFiles = sourceFiles;
this.javacOpts = ImmutableList.copyOf(javacOpts);
@@ -309,10 +301,6 @@ public final class JavaCompileAction extends SpawnAction {
return processorNames;
}
- private List<String> getProcessorFlags() {
- return processorFlags;
- }
-
/**
* Returns the output jar artifact that gets generated by archiving the results of the Java
* compilation.
@@ -521,6 +509,7 @@ public final class JavaCompileAction extends SpawnAction {
private PathFragment classDirectory;
private NestedSet<Artifact> processorPath = NestedSetBuilder.emptySet(Order.NAIVE_LINK_ORDER);
private final List<String> processorNames = new ArrayList<>();
+ /** The list of custom javac flags to pass to annotation processors. */
private final List<String> processorFlags = new ArrayList<>();
private String ruleKind;
private Label targetLabel;
@@ -583,8 +572,6 @@ public final class JavaCompileAction extends SpawnAction {
}
Preconditions.checkState(javaExecutable != null, owner);
- Preconditions.checkState(javaExecutable.isAbsolute() ^ !javabaseInputs.isEmpty(),
- javaExecutable);
ImmutableList.Builder<Artifact> outputsBuilder = ImmutableList.<Artifact>builder()
.addAll(
@@ -656,7 +643,6 @@ public final class JavaCompileAction extends SpawnAction {
extdirInputs,
processorPath,
processorNames,
- processorFlags,
sourceJars,
sourceFiles,
internedJcopts,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java b/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
index 4006bc872f..5f191fde78 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
@@ -35,6 +35,7 @@ import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.vfs.PathFragment;
+import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
@@ -127,6 +128,14 @@ public final class JvmConfigurationLoader implements ConfigurationFragmentFactor
PathFragment javaHomePath = defaultJavaHome(javaRuntimeLabel);
if (attributes.isAttributeValueExplicitlySpecified("java_home")) {
javaHomePath = javaHomePath.getRelative(attributes.get("java_home", Type.STRING));
+ List<Label> srcs = attributes.get("srcs", BuildType.LABEL_LIST);
+ if (javaHomePath.isAbsolute() && !srcs.isEmpty()) {
+ throw new InvalidConfigurationException(
+ String.format(
+ "'java_home' with an absolute path requires 'srcs' to be empty. "
+ + "'java_home' was %s, 'srcs' was %s",
+ javaHomePath, srcs.toString()));
+ }
}
return new Jvm(javaHomePath, javaRuntimeLabel);
}