@@ -60,6 +60,8 @@ def self.parse(options)
60
60
puts "Additionally, the following environment variables control the script:"
61
61
puts " - #{ VAR_CUSTOM_INIT_SCRIPT } - if set, this script will be run from the Arduino/libraries directory"
62
62
puts " prior to any automated library installation or testing (e.g. to install unofficial libraries)"
63
+ puts " - #{ VAR_CUSTOM_INIT_SCRIPT_SHELL } - if set, this will override the"
64
+ puts " default shell (/bin/sh) used to execute #{ VAR_CUSTOM_INIT_SCRIPT } with."
63
65
puts " - #{ VAR_USE_SUBDIR } - if set, the script will install the library from this subdirectory of the cwd"
64
66
puts " - #{ VAR_EXPECT_EXAMPLES } - if set, testing will fail if no example sketches are present"
65
67
puts " - #{ VAR_EXPECT_UNITTESTS } - if set, testing will fail if no unit tests are present"
@@ -322,16 +324,17 @@ def get_annotated_compilers(config, cpp_library)
322
324
# In this case, the user provided script would fetch a git repo or some other method.
323
325
def perform_custom_initialization ( )
324
326
script_path = ENV [ VAR_CUSTOM_INIT_SCRIPT ]
327
+ script_shell = ENV [ VAR_CUSTOM_INIT_SCRIPT + "_SHELL" ] || "/bin/sh"
325
328
inform ( "Environment variable #{ VAR_CUSTOM_INIT_SCRIPT } " ) { "'#{ script_path } '" }
326
329
return if script_path . nil?
327
330
return if script_path . empty?
328
331
329
332
script_pathname = Pathname . getwd + script_path
330
333
assure ( "Script at #{ VAR_CUSTOM_INIT_SCRIPT } exists" ) { script_pathname . exist? }
331
334
332
- assure_multiline ( "Running #{ script_pathname } with sh in libraries working dir" ) do
335
+ assure_multiline ( "Running #{ script_pathname } with #{ script_shell } in libraries working dir" ) do
333
336
Dir . chdir ( @backend . lib_dir ) do
334
- IO . popen ( [ "/bin/sh" , script_pathname . to_s ] , err : [ :child , :out ] ) do |io |
337
+ IO . popen ( [ script_shell , script_pathname . to_s ] , err : [ :child , :out ] ) do |io |
335
338
io . each_line { |line | puts " #{ line } " }
336
339
end
337
340
end
0 commit comments