разбивка файла install.rb, пожалуйста, помогите мне понять это - PullRequest
0 голосов
/ 01 октября 2010

Я смотрю на файл install.rb проекта с открытым исходным кодом RoR:

version = ARGV.pop

%w( core api auth dash promotions sample ).each do |framework|
  puts "Installing #{framework}..."
  `cd #{framework} && gem build spree_#{framework}.gemspec && gem install spree_#{framework}-#{version}.gem --no-ri --no-rdoc && rm spree_#{framework}-#{version}.gem`
end

puts "Installing Spree..."
`gem build spree.gemspec`
`gem install spree-#{version}.gem --no-ri --no-rdoc `
`rm spree-#{version}.gem

интересующие меня строки:

сборка gem spree_core.gemspec && установка gem spree_core-xxxx.gem

core.gemspec выглядит так:

version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip

Gem::Specification.new do |s|
  s.platform    = Gem::Platform::RUBY
  s.name        = 'spree_core'
  s.version     = version
  s.summary     = 'Core e-commerce functionality for the Spree project.'
  s.description = 'Required dependancy for Spree'

  s.required_ruby_version = '>= 1.8.7'
  s.author      = 'Sean Schofield'
  s.email       = 'sean@railsdog.com'
  s.homepage    = 'http://spreecommerce.com'
  s.rubyforge_project = 'spree_core'

  s.files        = Dir['LICENSE', 'README.md', 'app/**/*', 'config/**/*', 'lib/**/*']
  s.require_path = 'lib'
  s.requirements << 'none'

  s.add_dependency('acts_as_list', '>= 0.1.2')
  s.add_dependency('rd_awesome_nested_set', '>= 1.4.4')
  s.add_dependency('rd_unobtrusive_date_picker', '>= 0.1.0')

  s.add_dependency('highline', '>= 1.5.1')
  #s.add_dependency('less', '>= 1.2.20')
  s.add_dependency('stringex', '>= 1.0.3')
  s.add_dependency('state_machine', '>= 0.9.4')
  s.add_dependency('faker', '>= 0.3.1')
  s.add_dependency('paperclip', '>= 2.3.1.1')
  s.add_dependency('rd_resource_controller')
  s.add_dependency('rd_searchlogic', '>= 3.0.0.rc3')
  s.add_dependency('activemerchant', '>= 1.7.1')
  s.add_dependency('will_paginate', '>= 3.0.pre')
end

Что это делает? Кажется, для создания файла B / C есть вызов к RM.

Ответы [ 2 ]

1 голос
/ 01 октября 2010

После установки драгоценного камня с

gem install 

команда вам больше не нужен файл .gem. На данный момент это просто остаток, так как все содержимое пакета было помещено в файловую систему. Не нужно его хранить, поэтому файл .gem удаляется; он сделал свою работу, чтобы получить все файлы в одном комплекте

0 голосов
/ 01 октября 2010

Он генерирует gem-файл, устанавливает его и впоследствии удаляет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...