diff options
Diffstat (limited to 'lib/rubygems/request_set.rb')
-rw-r--r-- | lib/rubygems/request_set.rb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/rubygems/request_set.rb b/lib/rubygems/request_set.rb index 05bfcbee2c..819a1d8e2d 100644 --- a/lib/rubygems/request_set.rb +++ b/lib/rubygems/request_set.rb @@ -116,7 +116,7 @@ class Gem::RequestSet if dep = @dependency_names[name] then dep.requirement.concat reqs else - dep = Gem::Dependency.new name, reqs + dep = Gem::Dependency.new name, *reqs @dependency_names[name] = dep @dependencies << dep end @@ -275,8 +275,13 @@ class Gem::RequestSet @git_set.root_dir = @install_dir - lockfile = Gem::RequestSet::Lockfile.new self, path - lockfile.parse + lock_file = "#{File.expand_path(path)}.lock" + begin + tokenizer = Gem::RequestSet::Lockfile::Tokenizer.from_file lock_file + parser = tokenizer.make_parser self, [] + parser.parse + rescue Errno::ENOENT + end gf = Gem::RequestSet::GemDependencyAPI.new self, path gf.installing = installing @@ -411,3 +416,4 @@ end require 'rubygems/request_set/gem_dependency_api' require 'rubygems/request_set/lockfile' +require 'rubygems/request_set/lockfile/tokenizer' |