method
run
v2_1_10 -
Show latest stable
- Class:
Gem::Ext::Builder
run(command, results, command_name = nil)public
No documentation available.
# File lib/rubygems/ext/builder.rb, line 62
def self.run(command, results, command_name = nil)
verbose = Gem.configuration.really_verbose
begin
# TODO use Process.spawn when ruby 1.8 support is dropped.
rubygems_gemdeps, ENV['RUBYGEMS_GEMDEPS'] = ENV['RUBYGEMS_GEMDEPS'], nil
if verbose
puts(command)
system(command)
else
results << command
results << `#{command} #{redirector}`
end
ensure
ENV['RUBYGEMS_GEMDEPS'] = rubygems_gemdeps
end
unless $?.success? then
results << "Building has failed. See above output for more information on the failure." if verbose
exit_reason =
if $?.exited? then
", exit code #{$?.exitstatus}"
elsif $?.signaled? then
", uncaught signal #{$?.termsig}"
end
raise Gem::InstallError, "#{command_name || class_name} failed#{exit_reason}"
end
end