7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/bundler/override/specset_patch.rb', line 7
def specs_for_dependency(dep, platform)
spec = super
return spec if spec.empty?
name = if dep.is_a?(String) then dep else dep.name end
if Bundler::Override.override? name
s = spec.first
param = Bundler::Override.params(name)
drop = param[:drop]
s.dependencies.delete_if { |d| drop.include? d.name }
requirements = param[:requirements]
if requirements
gems = Set.new(requirements.keys)
s.dependencies.delete_if { |d| gems.include? d.name }
requirements.each { |name, requirement| s.dependencies << Gem::Dependency.new(name, requirement) }
end
end
spec
end
|