aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar shahan <shahan@google.com>2018-04-12 10:14:53 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-12 10:16:08 -0700
commit8a9765000231a7b92f1948b8f1f2cbd5ff899426 (patch)
tree0bf2a8974fb0384c9aea9a4b04a04352d8c2d015 /src/main/java/com/google/devtools/build
parentaf2050a46d3a16f30ecc216668a23cf2888558eb (diff)
Plumbs ActionExecutionContext into AbstractAction.checkOutputsForDirectories.
PiperOrigin-RevId: 192628723
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java25
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java2
2 files changed, 15 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
index 626b8731ad..7012f64034 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
@@ -479,20 +479,23 @@ public abstract class AbstractAction implements Action, SkylarkValue {
return true;
}
- /**
- * If the action might create directories as outputs this method must be called.
- */
- protected void checkOutputsForDirectories(EventHandler eventHandler) {
+ /** If the action might create directories as outputs this method must be called. */
+ protected void checkOutputsForDirectories(ActionExecutionContext actionExecutionContext) {
for (Artifact output : getOutputs()) {
- Path path = output.getPath();
+ Path path = actionExecutionContext.getInputPath(output);
String ownerString = Label.print(getOwner().getLabel());
if (path.isDirectory()) {
- eventHandler.handle(
- Event.warn(
- getOwner().getLocation(),
- "output '" + output.prettyPrint() + "' of " + ownerString
- + " is a directory; dependency checking of directories is unsound")
- .withTag(ownerString));
+ actionExecutionContext
+ .getEventHandler()
+ .handle(
+ Event.warn(
+ getOwner().getLocation(),
+ "output '"
+ + output.prettyPrint()
+ + "' of "
+ + ownerString
+ + " is a directory; dependency checking of directories is unsound")
+ .withTag(ownerString));
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java
index 87cd33b3e8..ec9bcc9daa 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java
@@ -80,7 +80,7 @@ public class GenRuleAction extends SpawnAction {
} catch (CommandLineExpansionException e) {
throw new AssertionError("GenRuleAction command line expansion cannot fail");
}
- checkOutputsForDirectories(reporter);
+ checkOutputsForDirectories(actionExecutionContext);
return spawnResults;
}
}