commit | 8d76cb66b50894022ff16499e6455592674dc8ee | [log] [tgz] |
---|---|---|
author | lberki <lberki@google.com> | Fri Jun 28 02:15:27 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Jun 28 02:16:39 2019 -0700 |
tree | a1919b7c0846a0a75b369c1d9a71fa1422465029 | |
parent | 91ff4e22cae5ae65f08f4ba303cbd9c62c8a1b73 [diff] |
Make Starlark actions that have an unused inputs list unshareable. This is useful because shared actions with state are not nice, so let's minimize the number of their occurrences. RELNOTES: None. PiperOrigin-RevId: 255565510
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/StarlarkAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/StarlarkAction.java index 00173c0..5523b7f 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/actions/StarlarkAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/StarlarkAction.java
@@ -110,6 +110,11 @@ } @Override + public boolean isShareable() { + return !unusedInputsList.isPresent(); + } + + @Override public boolean discoversInputs() { return unusedInputsList.isPresent(); }
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java index 5a9f895..eaf2775 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
@@ -710,6 +710,7 @@ assertThat(action.getUnusedInputsList()).isPresent(); assertThat(action.getUnusedInputsList().get().getFilename()).isEqualTo("a.txt"); assertThat(action.discoversInputs()).isTrue(); + assertThat(action.isShareable()).isFalse(); } @Test