From 1a5e62e826efb1791c79b9bccd2e931dd5935aa5 Mon Sep 17 00:00:00 2001 From: Eric Knibbe Date: Mon, 1 Sep 2025 14:30:43 -0400 Subject: [PATCH] write_exec_script: add args parameter --- Library/Homebrew/extend/pathname.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 710270978a..cea5268c6c 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -273,19 +273,24 @@ class Pathname end # Writes an exec script in this folder for each target pathname. - sig { params(targets: T.any(T::Array[T.any(String, Pathname)], String, Pathname)).void } - def write_exec_script(*targets) + sig { + params(targets: T.any(T::Array[T.any(String, Pathname)], String, Pathname), + args: T.any(String, T::Array[String])).void + } + def write_exec_script(*targets, args: T.unsafe(nil)) targets.flatten! if targets.empty? opoo "Tried to write exec scripts to #{self} for an empty list of targets" return end + arg_str = "#{Array(args).join(" ")} " if args.present? + mkpath targets.each do |target| target = Pathname.new(target) # allow pathnames or strings join(target.basename).write <<~SH #!/bin/bash - exec "#{target}" "$@" + exec "#{target}" #{arg_str}"$@" SH end end