Class: Gem::Ext::RakeBuilder
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Builder
|
|
Instance Chain:
|
|
Inherits: |
Gem::Ext::Builder
|
Defined in: | lib/rubygems/ext/rake_builder.rb |
Class Method Summary
Builder - Inherited
.class_name, .make, | |
.new | Creates a new extension builder for |
.redirector, .run |
Instance Attribute Summary
::Gem::DefaultUserInteraction - Included
Instance Method Summary
Builder - Inherited
#build_extensions | Builds extensions. |
::Gem::UserInteraction - Included
#alert | Displays an alert |
#alert_error | Displays an error |
#alert_warning | Displays a warning |
#ask | Asks a |
#ask_for_password | Asks for a password with a |
#ask_yes_no | Asks a yes or no |
#choose_from_list | Asks the user to answer |
#say | Displays the given |
#terminate_interaction | Terminates the RubyGems process with the given |
#verbose | Calls |
::Gem::DefaultUserInteraction - Included
Constructor Details
This class inherits a constructor from Gem::Ext::Builder
Class Method Details
.build(extension, directory, dest_path, results, args = [], lib_dir = nil)
[ GitHub ]# File 'lib/rubygems/ext/rake_builder.rb', line 10
def self.build(extension, directory, dest_path, results, args=[], lib_dir=nil) if File.basename(extension) =~ /mkrf_conf/i then cmd = "#{Gem.ruby} #{File.basename extension}" cmd << " #{args.join " "}" unless args.empty? run cmd, results end # Deal with possible spaces in the path, e.g. C:/Program Files dest_path = '"' + dest_path.to_s + '"' if dest_path.to_s.include?(' ') rake = ENV['rake'] rake ||= begin "#{Gem.ruby} -rubygems #{Gem.bin_path('rake', 'rake')}" rescue Gem::Exception end rake ||= Gem.default_exec_format % 'rake' cmd = "#{rake} RUBYARCHDIR=#{dest_path} RUBYLIBDIR=#{dest_path}" # ENV is frozen run cmd, results results end