bundler misses the definition to itself by resolving remotly
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 4k
- Forks
- 1.9k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 81
Description
Hello!
I am using ruby 2.7 and bundler 2.3.22.
In my case the Gemfile lists bundler among other gems. The definition of gems are resolved remotely. However, remote resolver returns the definition of each gem except bundler. In previous bundler version 2.3.18 the remote resolver returned the list of gems included bundler.
For test purposes Gemfile and test script were created.
Gemfile
source 'https://rubygems.org'
ruby "~> 2.7.0" if respond_to?(:ruby)
group :default do
gem "bundler",
">= 0"
gem "concurrent-ruby",
">= 0"
gem "concurrent-ruby-ext",
">= 0"
gem "facets",
">= 0"
end
test.rb
require 'bundler'
gems_definitions = Bundler::Definition.build("Gemfile", nil,nil)
print "REMOTLY \n"
gem_specs = gems_definitions.resolve_remotely!
gem_specs.each do |spec|
print "#{spec.name} --- #{spec.version} \n"
end
print "----------------------------\n"
print "SPECS \n"
specs_init = gems_definitions.specs
specs_init.each do |spec|
print "#{spec.name} --- #{spec.version} \n"
end
output of bundler 2.3.22
REMOTLY
concurrent-ruby --- 1.1.10
concurrent-ruby-ext --- 1.1.10
facets --- 3.1.0
----------------------------
SPECS
bundler --- 2.3.22
concurrent-ruby --- 1.1.10
concurrent-ruby-ext --- 1.1.10
facets --- 3.1.0
output of bundler 2.3.18
REMOTLY
bundler --- 2.3.18
concurrent-ruby --- 1.1.10
concurrent-ruby-ext --- 1.1.10
facets --- 3.1.0
----------------------------
SPECS
bundler --- 2.3.18
concurrent-ruby --- 1.1.10
concurrent-ruby-ext --- 1.1.10
facets --- 3.1.0
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the supplied test.rb with the Gemfile against the affected Bundler version, comparing resolve_remotely! with specs. Trace the remote resolution entry point from the Bundler code and determine why the bundler definition is omitted; done means the remote results include bundler as they did in 2.3.18, with a regression test covering the case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100