Class | Gem::Commands::BuildCommand |
In: |
lib/rubygems/commands/build_command.rb
|
Parent: | Gem::Command |
# File lib/rubygems/commands/build_command.rb, line 6 6: def initialize 7: super('build', 'Build a gem from a gemspec') 8: end
# File lib/rubygems/commands/build_command.rb, line 18 18: def execute 19: gemspec = get_one_gem_name 20: if File.exist?(gemspec) 21: specs = load_gemspecs(gemspec) 22: specs.each do |spec| 23: Gem::Builder.new(spec).build 24: end 25: else 26: alert_error "Gemspec file not found: #{gemspec}" 27: end 28: end
# File lib/rubygems/commands/build_command.rb, line 30 30: def load_gemspecs(filename) 31: if yaml?(filename) 32: result = [] 33: open(filename) do |f| 34: begin 35: while not f.eof? and spec = Gem::Specification.from_yaml(f) 36: result << spec 37: end 38: rescue Gem::EndOfYAMLException => e 39: # OK 40: end 41: end 42: else 43: result = [Gem::Specification.load(filename)] 44: end 45: result 46: end