aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
authorGravatar Philipp Wollermann <philwo@google.com>2015-11-04 17:52:32 +0000
committerGravatar John Field <jfield@google.com>2015-11-05 16:49:28 +0000
commitaf33c67de5015fdfbb92d3ca6d5c99508540cb01 (patch)
treead7bba7397ff5030b8e8ef365b55a7c77ba7f283 /src/main/java/com/google/devtools/build/lib/rules
parent53fb4d0ef10dea9d58f4b17f08c59c8e81ebc09a (diff)
workers: Restart worker processes when their binary has changed since they were launched.
-- MOS_MIGRATED_REVID=107050157
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java68
2 files changed, 39 insertions, 31 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
index 13cb5b5c56..6bf19d3672 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
@@ -17,6 +17,7 @@ package com.google.devtools.build.lib.rules.extra;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicates;
import com.google.common.collect.Collections2;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.AbstractAction;
@@ -74,6 +75,7 @@ public final class ExtraAction extends SpawnAction {
String mnemonic) {
super(
shadowedAction.getOwner(),
+ ImmutableList.<Artifact>of(),
createInputs(shadowedAction.getInputs(), extraActionInputs),
outputs,
AbstractAction.DEFAULT_RESOURCE_SET,
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 72ab4fb934..23bbcc9514 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
@@ -167,30 +167,32 @@ public class JavaCompileAction extends AbstractAction {
* parts (for example, ide_build_info) need access to the data
* @param commandLine the actual invocation command line
*/
- private JavaCompileAction(ActionOwner owner,
- Iterable<Artifact> baseInputs,
- Collection<Artifact> outputs,
- CommandLine javaCompileCommandLine,
- CommandLine commandLine,
- PathFragment classDirectory,
- Artifact outputJar,
- NestedSet<Artifact> classpathEntries,
- Collection<Artifact> extdirInputs,
- List<Artifact> processorPath,
- Artifact langtoolsJar,
- Artifact javaBuilderJar,
- Iterable<Artifact> instrumentationJars,
- List<String> processorNames,
- Collection<Artifact> messages,
- Map<PathFragment, Artifact> resources,
- Collection<Artifact> classpathResources,
- Collection<Artifact> sourceJars,
- Collection<Artifact> sourceFiles,
- List<String> javacOpts,
- Collection<Artifact> directJars,
- BuildConfiguration.StrictDepsMode strictJavaDeps,
- Collection<Artifact> compileTimeDependencyArtifacts) {
- super(owner, NestedSetBuilder.<Artifact>stableOrder()
+ private JavaCompileAction(
+ ActionOwner owner,
+ NestedSet<Artifact> tools,
+ Iterable<Artifact> baseInputs,
+ Collection<Artifact> outputs,
+ CommandLine javaCompileCommandLine,
+ CommandLine commandLine,
+ PathFragment classDirectory,
+ Artifact outputJar,
+ NestedSet<Artifact> classpathEntries,
+ Collection<Artifact> extdirInputs,
+ List<Artifact> processorPath,
+ List<String> processorNames,
+ Collection<Artifact> messages,
+ Map<PathFragment, Artifact> resources,
+ Collection<Artifact> classpathResources,
+ Collection<Artifact> sourceJars,
+ Collection<Artifact> sourceFiles,
+ List<String> javacOpts,
+ Collection<Artifact> directJars,
+ BuildConfiguration.StrictDepsMode strictJavaDeps,
+ Collection<Artifact> compileTimeDependencyArtifacts) {
+ super(
+ owner,
+ tools,
+ NestedSetBuilder.<Artifact>stableOrder()
.addTransitive(classpathEntries)
.addAll(processorPath)
.addAll(messages)
@@ -200,9 +202,7 @@ public class JavaCompileAction extends AbstractAction {
.addAll(sourceFiles)
.addAll(compileTimeDependencyArtifacts)
.addAll(baseInputs)
- .add(langtoolsJar)
- .add(javaBuilderJar)
- .addAll(instrumentationJars)
+ .addTransitive(tools)
.build(),
outputs);
this.javaCompileCommandLine = javaCompileCommandLine;
@@ -888,7 +888,16 @@ public class JavaCompileAction extends AbstractAction {
semantics.getJavaBuilderMainClass(),
configuration.getHostPathSeparator());
- return new JavaCompileAction(owner,
+ NestedSet<Artifact> tools =
+ NestedSetBuilder.<Artifact>stableOrder()
+ .add(langtoolsJar)
+ .add(javaBuilderJar)
+ .addAll(instrumentationJars)
+ .build();
+
+ return new JavaCompileAction(
+ owner,
+ tools,
baseInputs,
outputs,
paramFileContents,
@@ -898,9 +907,6 @@ public class JavaCompileAction extends AbstractAction {
classpathEntries,
extdirInputs,
processorPath,
- langtoolsJar,
- javaBuilderJar,
- instrumentationJars,
processorNames,
translations,
resources,