aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/request_set.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-30 23:27:52 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-30 23:27:52 +0000
commit73fc703f7cbb2e6dfd50897d26b37fe8e76064e3 (patch)
tree0296426c8ac01331f2d33dde54fd9f1e183ea974 /lib/rubygems/request_set.rb
parent6727297dfecddaef6b1166a7f442db2a22929c65 (diff)
downloadruby-73fc703f7cbb2e6dfd50897d26b37fe8e76064e3.tar.gz
* lib/rubygems: Update to RubyGems master 66e5c39. Notable changes:
Implement gem.deps.rb (Gemfile) .lock support Fixed `gem uninstall` for a relative directory in GEM_HOME. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/request_set.rb')
-rw-r--r--lib/rubygems/request_set.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/rubygems/request_set.rb b/lib/rubygems/request_set.rb
index d6337e32d8..54e4d9dee4 100644
--- a/lib/rubygems/request_set.rb
+++ b/lib/rubygems/request_set.rb
@@ -67,6 +67,7 @@ class Gem::RequestSet
@dependency_names = {}
@development = false
@git_set = nil
+ @install_dir = Gem.dir
@requests = []
@sets = []
@soft_missing = false
@@ -143,7 +144,11 @@ class Gem::RequestSet
# dependencies file are not used. See Gem::Installer for other +options+.
def install_from_gemdeps options, &block
- load_gemdeps options[:gemdeps], options[:without_groups]
+ gemdeps = options[:gemdeps]
+
+ @install_dir = options[:install_dir] || Gem.dir
+
+ load_gemdeps gemdeps, options[:without_groups]
resolve
@@ -154,7 +159,12 @@ class Gem::RequestSet
puts " #{s}"
end
else
- install options, &block
+ installed = install options, &block
+
+ lockfile = Gem::RequestSet::Lockfile.new self, gemdeps
+ lockfile.write
+
+ installed
end
end
@@ -194,6 +204,11 @@ class Gem::RequestSet
@git_set = Gem::Resolver::GitSet.new
@vendor_set = Gem::Resolver::VendorSet.new
+ @git_set.root_dir = @install_dir
+
+ lockfile = Gem::RequestSet::Lockfile.new self, path
+ lockfile.parse
+
gf = Gem::RequestSet::GemDependencyAPI.new self, path
gf.without_groups = without_groups if without_groups
gf.load
@@ -264,3 +279,4 @@ class Gem::RequestSet
end
require 'rubygems/request_set/gem_dependency_api'
+require 'rubygems/request_set/lockfile'