Skip to content

Commit

Permalink
Merge pull request #6359 from rubygems/sync-pub-grub
Browse files Browse the repository at this point in the history
Sync with pub_grub main branch
  • Loading branch information
deivid-rodriguez committed Feb 9, 2023
2 parents ad674fa + 6161a26 commit a246c5e
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 7 deletions.
Expand Up @@ -19,7 +19,14 @@ def add(name, version, deps: {})
version = Gem::Version.new(version)
@packages[name] ||= {}
raise ArgumentError, "#{name} #{version} declared twice" if @packages[name].key?(version)
@packages[name][version] = deps
@packages[name][version] = clean_deps(name, version, deps)
end

private

# Exclude redundant self-referencing dependencies
def clean_deps(name, version, deps)
deps.reject {|dep_name, req| name == dep_name && Bundler::PubGrub::RubyGems.parse_range(req).include?(version) }
end
end

Expand Down
Expand Up @@ -15,15 +15,16 @@ def hash
package.hash ^ range.hash
end

def ==(other)
package == other.package &&
range == other.range
end

def eql?(other)
package.eql?(other.package) &&
range.eql?(other.range)
end

def ==(other)
package == other.package && range == other.range
end

class << self
def exact(package, version)
range = VersionRange.new(min: version, max: version, include_min: true, include_max: true)
Expand Down
Expand Up @@ -125,6 +125,7 @@ def choose_package_version
package = next_package_to_try
unsatisfied_term = solution.unsatisfied.find { |t| t.package == package }
version = source.versions_for(package, unsatisfied_term.constraint.range).first
logger.debug { "attempting #{package} #{version}" }

if version.nil?
add_incompatibility source.no_versions_incompatibility_for(package, unsatisfied_term)
Expand All @@ -148,9 +149,11 @@ def choose_package_version
end

unless conflict
logger.info { "selecting #{package} #{version}" }
logger.info { "selected #{package} #{version}" }

solution.decide(package, version)
else
logger.info { "conflict: #{conflict.inspect}" }
end

package
Expand Down
2 changes: 1 addition & 1 deletion bundler/spec/install/gems/resolving_spec.rb
Expand Up @@ -190,7 +190,7 @@
expect(out).to include(" net_b").
and include("Resolving dependencies...").
and include("Solution found after 1 attempts:").
and include("selecting net_b 1.0")
and include("selected net_b 1.0")
end
end
end
Expand Down

0 comments on commit a246c5e

Please sign in to comment.