Make --subcommands and --verbose_failures imply --materialize_param_files.
CL/201225566 promised to do this, but for whatever reason it was never implemented.
RELNOTES: Make either --subcommands or --verbose_failures imply --materialize_param_files
PiperOrigin-RevId: 261534671
diff --git a/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java b/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java
index fe41141..318ac9e 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java
@@ -15,6 +15,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
+import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionContext.ShowSubcommands;
import com.google.devtools.build.lib.actions.LocalHostCapacity;
import com.google.devtools.build.lib.actions.ResourceSet;
@@ -134,9 +135,17 @@
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Writes intermediate parameter files to output tree even when using "
- + "remote action execution. Useful when debugging actions. ")
+ + "remote action execution. Useful when debugging actions. "
+ + "This is implied by --subcommands or --verbose_failures.")
public boolean materializeParamFiles;
+ public boolean shouldMaterializeParamFiles() {
+ // Implied by --subcommands or --verbose_failures
+ return materializeParamFiles
+ || showSubcommands != ActionExecutionContext.ShowSubcommands.FALSE
+ || verboseFailures;
+ }
+
@Option(
name = "verbose_failures",
defaultValue = "false",