diff --git a/Library/Homebrew/system_command.rb b/Library/Homebrew/system_command.rb index 8436376fd9..560bed6d09 100644 --- a/Library/Homebrew/system_command.rb +++ b/Library/Homebrew/system_command.rb @@ -74,13 +74,15 @@ class SystemCommand must_succeed: T::Boolean, print_stdout: T::Boolean, print_stderr: T::Boolean, + debug: T::Boolean, verbose: T::Boolean, secrets: T.any(String, T::Array[String]), chdir: T.any(String, Pathname), ).void end def initialize(executable, args: [], sudo: false, env: {}, input: [], must_succeed: false, - print_stdout: false, print_stderr: true, verbose: false, secrets: [], chdir: T.unsafe(nil)) + print_stdout: false, print_stderr: true, debug: false, verbose: false, secrets: [], + chdir: T.unsafe(nil)) require "extend/ENV" @executable = executable @args = args @@ -95,6 +97,7 @@ class SystemCommand @must_succeed = must_succeed @print_stdout = print_stdout @print_stderr = print_stderr + @debug = debug @verbose = verbose @secrets = (Array(secrets) + ENV.sensitive_environment.values).uniq @chdir = chdir @@ -111,6 +114,13 @@ class SystemCommand attr_predicate :sudo?, :print_stdout?, :print_stderr?, :must_succeed? + sig { returns(T::Boolean) } + def debug? + return super if @debug.nil? + + @debug + end + sig { returns(T::Boolean) } def verbose? return super if @verbose.nil?