summaryrefslogtreecommitdiff
path: root/lib/rubygems/commands/lock_command.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-25 10:13:50 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-25 10:13:50 +0000
commitd478c7a7342478847cc1148f4134b5f0db04e1d9 ()
tree3bfca425683a94d1360ecdf5857d741b8eaac213 /lib/rubygems/commands/lock_command.rb
parent788001a9c8473130bd357846785838045387b060 (diff)
Update to RubyGems 1.3.0 r1891
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--lib/rubygems/commands/lock_command.rb21
1 files changed, 15 insertions, 6 deletions
@@ -58,15 +58,15 @@ lock it down to the exact version.
end
def complain(message)
- if options.strict then
- raise message
else
say "# #{message}"
end
end
def execute
- say 'require "rubygems"'
locked = {}
@@ -77,15 +77,20 @@ lock it down to the exact version.
spec = Gem::SourceIndex.load_specification spec_path(full_name)
say "gem '#{spec.name}', '= #{spec.version}'" unless locked[spec.name]
locked[spec.name] = true
spec.runtime_dependencies.each do |dep|
next if locked[dep.name]
- candidates = Gem.source_index.search dep.name, dep.requirement_list
if candidates.empty? then
- complain "Unable to satisfy '#{dep}' from currently installed gems."
else
pending << candidates.last.full_name
end
@@ -94,7 +99,11 @@ lock it down to the exact version.
end
def spec_path(gem_full_name)
- File.join Gem.path, "specifications", "#{gem_full_name }.gemspec"
end
end