diff options
author | 2017-05-17 18:11:23 +0200 | |
---|---|---|
committer | 2017-05-19 15:07:38 +0200 | |
commit | 164f0139fe762f7bdaacd08d79de5eb1acc6c4a4 (patch) | |
tree | 49a8f30dfa5cbbd34664e192568b9c6dda631810 /src/main/java/com/google/devtools/build/lib | |
parent | 137760bf6283473fa116041aeef4ef8bb52b9c2e (diff) |
Automated g4 rollback of commit e9607dc5e72668c3bf360307d99af4bddbdc38bc.
Roll forward CL 155634838 (Fix precondition check for java_runtime.javahome.)
PiperOrigin-RevId: 156314544
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java | 16 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java | 9 |
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); } |