diff options
Diffstat (limited to 'lib/rubygems/request_set')
-rw-r--r-- | lib/rubygems/request_set/gem_dependency_api.rb | 9 | ||||
-rw-r--r-- | lib/rubygems/request_set/lockfile.rb | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/rubygems/request_set/gem_dependency_api.rb b/lib/rubygems/request_set/gem_dependency_api.rb index 24179dd1ed..9aad5ab5d3 100644 --- a/lib/rubygems/request_set/gem_dependency_api.rb +++ b/lib/rubygems/request_set/gem_dependency_api.rb @@ -596,8 +596,17 @@ Gem dependencies file #{@path} requires #{name} more than once. groups = gem_group spec.name, {} + self_dep = Gem::Dependency.new spec.name, spec.version + + add_dependencies groups, [self_dep] add_dependencies groups, spec.runtime_dependencies + @dependencies[spec.name] = '!' + + spec.dependencies.each do |dep| + @dependencies[dep.name] = dep.requirement + end + groups << development_group add_dependencies groups, spec.development_dependencies diff --git a/lib/rubygems/request_set/lockfile.rb b/lib/rubygems/request_set/lockfile.rb index 2901dba871..918aa971e5 100644 --- a/lib/rubygems/request_set/lockfile.rb +++ b/lib/rubygems/request_set/lockfile.rb @@ -168,8 +168,12 @@ class Gem::RequestSet::Lockfile dest = File.expand_path(dest) base = File.expand_path(base) - if dest.index(base) == 0 - return dest[base.size+1..-1] + if dest.index(base) == 0 then + offset = dest[base.size+1..-1] + + return '.' unless offset + + offset else dest end |