summaryrefslogtreecommitdiff
path: root/lib/bundler
AgeCommit message (Collapse)Author
2024-09-09[rubygems/rubygems] Don't include hook templates in cached git sourceDaniel Colson
With a default git setup, each cloned repo in the cache will end up with ~60K of sample git hooks. These files all end in `.sample`, and they are disabled by default. Deleting them should be a no-op, and makes the cache a bit smaller. https://github.com/rubygems/rubygems/commit/d2149999cd
2024-09-04[rubygems/rubygems] Improve `bundle add` manpageTakuya Noguchi
* Fix synopsis for mutually exclusive options. * Add more descriptive examples. Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com> https://github.com/rubygems/rubygems/commit/c0f1efda69 Co-authored-by: Jerome Dalbert <jerome.dalbert@gmail.com>
2024-09-04[rubygems/rubygems] Load gemspecs in the context of its parent also when ↵David Rodríguez
using local overrides https://github.com/rubygems/rubygems/commit/0a6c1c53ce
2024-09-03Vendor `securerandom` in Bundler as wellDavid Rodríguez
It is loaded by `Fetcher` so in most case it's fine. But if using `bundler/inline` and a gem need to be fetched, `securerandom` will be loaded and cause a conflict. Can be reproduced with: ```ruby require 'bundler/inline' gemfile do source 'https://rubygems.org' gem 'graphql', '~> 2.0' gem 'graphql-client', '~> 0.18' end require 'json' require 'graphql/client' require 'graphql/client/http' ``` Ref: https://github.com/rails/rails/pull/52473#issuecomment-2284667451 Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2024-09-02[rubygems/rubygems] Don't try to remove previous install folder if it's emptyDavid Rodríguez
Ruby ships with empty directories for default gems. If Ruby installations has unsafe world-writable permissions, we will complain when about to install a gem that happens to be also a default gem, because we'll start by removing the previous install folder and that's supposed to be insecure due to too loose permissions. However, if the folder is empty, we don't actually need to remove anything, so we can skip the whole thing, avoiding the errors. https://github.com/rubygems/rubygems/commit/2f3cd8ac4e
2024-09-02[rubygems/rubygems] Improve insecure gem overwrite messageDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7c71dac22e
2024-08-30[rubygems/rubygems] Emit progress to stderr when `--parseable` is passed to ↵Matt Brictson
`bundle outdated` Before, `bundle outdated --parseable` (or `--porcelain`) caused output to be completely silenced during definition resolution, so nothing was printed at all until the table of outdated gems was printed. With this change, `--parseable`/`--porcelain` now prints progress to stderr during resolution. E.g.: ``` Fetching gem metadata from https://rubygems.org/......... Resolving dependencies... ``` This provides a better user experience, especially when `outdated --parseable` takes several seconds or more. The report of outdated gems is still printed to stdout, and the exit status codes are unchanged, so the fundamental contract with other tools consuming the `outdated --parseable` result should not be affected. https://github.com/rubygems/rubygems/commit/7d4bb43570
2024-08-30[rubygems/rubygems] Don't blow up when explicit version is removed from some ↵David Rodríguez
git sources `version` is actually an attribute of the dependency, not of the git source. Sometimes it's passed to the git source to be able to fake a gemspec in case there's no gemspec in the source, but it should not be used for source comparison. https://github.com/rubygems/rubygems/commit/d936fbd78e
2024-08-29[rubygems/rubygems] Add a note about "platforms" in Gemfile vs "platforms" ↵David Rodríguez
in Gemfile.lock https://github.com/rubygems/rubygems/commit/0dd4bd59b4
2024-08-29[rubygems/rubygems] Reject unknown platforms when running `bundle lock ↵David Rodríguez
--add-platform` https://github.com/rubygems/rubygems/commit/1f93a2bdc5
2024-08-26[rubygems/rubygems] Emit progress to stderr when `--print` is passed to ↵Matt Brictson
`bundle lock` `bundle lock --print --update` can take a long time to fetch sources and resolve the lock file. Before, `--print` caused output to be completely silenced, so nothing was printed at all until the resolved lock file is finally emitted to stdout. With this change, `--print` now prints progress to stderr. E.g.: ``` Fetching gem metadata from https://rubygems.org/......... Resolving dependencies... ``` This provides a better user experience, especially when `lock --print --update` takes several seconds or more. The lock file is still printed to stdout, so tools consuming the lock file on stdout will not be affected. https://github.com/rubygems/rubygems/commit/6719baa700
2024-08-26[rubygems/rubygems] Fix newline=false being ignored by Shell#warnMatt Brictson
https://github.com/rubygems/rubygems/commit/e021ff33a8
2024-08-26[rubygems/rubygems] Fix missing 'msg' parameter in Shell#no?Matt Brictson
https://github.com/rubygems/rubygems/commit/ffe89a099a
2024-08-23[rubygems/rubygems] Fix error message when Bundler refuses to install due to ↵David Rodríguez
frozen being set without a lockfile https://github.com/rubygems/rubygems/commit/0857d62ca6
2024-08-22[rubygems/rubygems] Fix `--prefer-local` flagDavid Rodríguez
The original implementation of this flag was too naive and all it did was restricting gems to locally installed versions if there are any local versions installed. However, it should be much smarter. For example: * It should fallback to remote versions if locally installed version don't satisfy the requirements. * It should pick locally installed versions even for subdependencies not yet discovered. This commit fixes both issues by using a smarter approach similar to how we resolve prereleases: * First resolve optimistically using only locally installed gems. * If any conflicts are found, scan those conflicts, allow remote versions for the specific gems that run into conflicts, and re-resolve. https://github.com/rubygems/rubygems/commit/607a3bf479 Co-authored-by: Gourav Khunger <gouravkhunger18@gmail.com>
2024-08-22[rubygems/rubygems] Fix bad grammar in log messageDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bea4c1ad79
2024-08-21[rubygems/rubygems] Restore support for passing relative paths to `:git`David Rodríguez
The `file://` protocol does not really work with relative paths and it's not necessary anyways. So restore support for that by not using `file://`. https://github.com/rubygems/rubygems/commit/16a68998ce
2024-08-21[rubygems/rubygems] Regeneration previous git application caches that didn't ↵David Rodríguez
include bare repos https://github.com/rubygems/rubygems/commit/417319ecb1
2024-08-19[rubygems/rubygems] Change new gem README template to have copyable code blocksMarco Roth
https://github.com/rubygems/rubygems/commit/c805e9b558
2024-08-05[rubygems/rubygems] Don't remove existing platform gems when PLATFORMS ↵David Rodríguez
section is badly indented https://github.com/rubygems/rubygems/commit/ec099ebf1e
2024-08-05[rubygems/rubygems] Fix locked source not getting respected when `bundle ↵David Rodríguez
update <specific_gem>` is run https://github.com/rubygems/rubygems/commit/eec6830c04
2024-08-05[rubygems/rubygems] Move private reader to private sectionDavid Rodríguez
https://github.com/rubygems/rubygems/commit/651cf3ea7a
2024-08-05Fix truffleruby removing gems from lockfileDavid Rodríguez
When resolving on truffleruby, and multiple platforms are included in the lockfile, Bundler will not respect existing platforms, but always force ruby variants. That means removal of existing version specific variants, introducing lockfile churn between implementations. To prevent this, we introduce the distinction between `Dependency#force_ruby_platform`, only settable via Gemfile, and `Dependency#default_force_ruby_platform`, which is always true on truffleruby for certain dependency names. This way, when resolving lockfile gems for other platforms on truffleruby, we keep platform specific variants in the lockfile. However, that introduces the problem that if only platform specific variants are locked in the lockfile, Bundler won't be able to materialize on truffleruby because the generic variant will be missing. To fix this additional problem, we make sure the generic "ruby" platform is always added when resolving on truffleruby.
2024-07-30[rubygems/rubygems] Print a better debug message when lockfile does not ↵David Rodríguez
include the current platform https://github.com/rubygems/rubygems/commit/afb7a6d754
2024-07-30[rubygems/rubygems] Simplify logic to add current platform a bitDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e102516e27
2024-07-26[rubygems/rubygems] Remove inconsistent whitespace from CLI flagsDavid Rodríguez
RuboCop sometimes accepts extra spaces for alignment, but in this case I don't see any consistent alignment. https://github.com/rubygems/rubygems/commit/a8c767e14b
2024-07-26[rubygems/rubygems] Fix bundle check exit code when git gem is missingJerome Dalbert
Make `bundle check` exit with code 1 when gem git source is not yet checked out. https://github.com/rubygems/rubygems/commit/93162bf5af
2024-07-25[rubygems/rubygems] bundle-gem learns to find Gemfile template correctlyJason Karns
Removes the symlink for gems.rb.tt and instead uses the singular template file. Only the destination filename for the gemfile reads from the `init_gems_rb` setting. https://github.com/rubygems/rubygems/commit/43ce0e1666
2024-07-23[rubygems/rubygems] Keep only the bare clone in the per app cacheDavid Rodríguez
We don't need an actual checkout since the cache path is no longer used as the install location. Now the per app cache acts just like the standard cache. https://github.com/rubygems/rubygems/commit/686988923c
2024-07-23[rubygems/rubygems] Don't serialize gemspec in the cache locationDavid Rodríguez
Now that the cache location is not used as the install location, this is unnecessary, and it also prevents `bundle install` with a per app cache loading code from two different locations, causing annoying warnings like: ``` Fetching gem metadata from https://rubygems.org/... Fetching https://github.com/puma/puma.git Using nio4r 2.5.4 Using bundler 2.3.0.dev Using puma 5.0.4 from https://github.com/puma/puma.git (at master@ea81fba) Bundle complete! 1 Gemfile dependency, 3 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. Updating files in vendor/cache * nio4r-2.5.4.gem /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:18: warning: already initialized constant Puma::HTTP_STATUS_CODES /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:18: warning: previous definition of HTTP_STATUS_CODES was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:84: warning: already initialized constant Puma::STATUS_WITH_NO_ENTITY_BODY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:84: warning: previous definition of STATUS_WITH_NO_ENTITY_BODY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::VERSION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of VERSION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::PUMA_VERSION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of PUMA_VERSION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:104: warning: already initialized constant Puma::Const::CODE_NAME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:104: warning: previous definition of CODE_NAME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:106: warning: already initialized constant Puma::Const::PUMA_SERVER_STRING /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:106: warning: previous definition of PUMA_SERVER_STRING was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:108: warning: already initialized constant Puma::Const::FAST_TRACK_KA_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:108: warning: previous definition of FAST_TRACK_KA_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:112: warning: already initialized constant Puma::Const::PERSISTENT_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:112: warning: previous definition of PERSISTENT_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:116: warning: already initialized constant Puma::Const::FIRST_DATA_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:116: warning: previous definition of FIRST_DATA_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:120: warning: already initialized constant Puma::Const::WRITE_TIMEOUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:120: warning: previous definition of WRITE_TIMEOUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:127: warning: already initialized constant Puma::Const::MAX_FAST_INLINE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:127: warning: previous definition of MAX_FAST_INLINE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:130: warning: already initialized constant Puma::Const::REQUEST_URI /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:130: warning: previous definition of REQUEST_URI was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:131: warning: already initialized constant Puma::Const::REQUEST_PATH /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:131: warning: previous definition of REQUEST_PATH was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:132: warning: already initialized constant Puma::Const::QUERY_STRING /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:132: warning: previous definition of QUERY_STRING was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:133: warning: already initialized constant Puma::Const::CONTENT_LENGTH /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:133: warning: previous definition of CONTENT_LENGTH was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:135: warning: already initialized constant Puma::Const::PATH_INFO /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:135: warning: previous definition of PATH_INFO was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:137: warning: already initialized constant Puma::Const::PUMA_TMP_BASE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:137: warning: previous definition of PUMA_TMP_BASE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:139: warning: already initialized constant Puma::Const::ERROR_RESPONSE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:139: warning: previous definition of ERROR_RESPONSE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:153: warning: already initialized constant Puma::Const::CHUNK_SIZE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:153: warning: previous definition of CHUNK_SIZE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:157: warning: already initialized constant Puma::Const::MAX_HEADER /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:157: warning: previous definition of MAX_HEADER was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:160: warning: already initialized constant Puma::Const::MAX_BODY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:160: warning: previous definition of MAX_BODY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:162: warning: already initialized constant Puma::Const::REQUEST_METHOD /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:162: warning: previous definition of REQUEST_METHOD was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:163: warning: already initialized constant Puma::Const::HEAD /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:163: warning: previous definition of HEAD was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:165: warning: already initialized constant Puma::Const::LINE_END /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:165: warning: previous definition of LINE_END was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:166: warning: already initialized constant Puma::Const::REMOTE_ADDR /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:166: warning: previous definition of REMOTE_ADDR was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:167: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_FOR /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:167: warning: previous definition of HTTP_X_FORWARDED_FOR was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:168: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SSL /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:168: warning: previous definition of HTTP_X_FORWARDED_SSL was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:169: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SCHEME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:169: warning: previous definition of HTTP_X_FORWARDED_SCHEME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:170: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_PROTO /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:170: warning: previous definition of HTTP_X_FORWARDED_PROTO was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:172: warning: already initialized constant Puma::Const::SERVER_NAME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:172: warning: previous definition of SERVER_NAME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:173: warning: already initialized constant Puma::Const::SERVER_PORT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:173: warning: previous definition of SERVER_PORT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:174: warning: already initialized constant Puma::Const::HTTP_HOST /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:174: warning: previous definition of HTTP_HOST was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:175: warning: already initialized constant Puma::Const::PORT_80 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:175: warning: previous definition of PORT_80 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:176: warning: already initialized constant Puma::Const::PORT_443 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:176: warning: previous definition of PORT_443 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:177: warning: already initialized constant Puma::Const::LOCALHOST /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:177: warning: previous definition of LOCALHOST was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:178: warning: already initialized constant Puma::Const::LOCALHOST_IP /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:178: warning: previous definition of LOCALHOST_IP was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:180: warning: already initialized constant Puma::Const::SERVER_PROTOCOL /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:180: warning: previous definition of SERVER_PROTOCOL was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:181: warning: already initialized constant Puma::Const::HTTP_11 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:181: warning: previous definition of HTTP_11 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:183: warning: already initialized constant Puma::Const::SERVER_SOFTWARE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:183: warning: previous definition of SERVER_SOFTWARE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:184: warning: already initialized constant Puma::Const::GATEWAY_INTERFACE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:184: warning: previous definition of GATEWAY_INTERFACE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:185: warning: already initialized constant Puma::Const::CGI_VER /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:185: warning: previous definition of CGI_VER was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:187: warning: already initialized constant Puma::Const::STOP_COMMAND /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:187: warning: previous definition of STOP_COMMAND was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:188: warning: already initialized constant Puma::Const::HALT_COMMAND /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:188: warning: previous definition of HALT_COMMAND was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:189: warning: already initialized constant Puma::Const::RESTART_COMMAND /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:189: warning: previous definition of RESTART_COMMAND was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:191: warning: already initialized constant Puma::Const::RACK_INPUT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:191: warning: previous definition of RACK_INPUT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:192: warning: already initialized constant Puma::Const::RACK_URL_SCHEME /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:192: warning: previous definition of RACK_URL_SCHEME was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:193: warning: already initialized constant Puma::Const::RACK_AFTER_REPLY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:193: warning: previous definition of RACK_AFTER_REPLY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:194: warning: already initialized constant Puma::Const::PUMA_SOCKET /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:194: warning: previous definition of PUMA_SOCKET was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:195: warning: already initialized constant Puma::Const::PUMA_CONFIG /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:195: warning: previous definition of PUMA_CONFIG was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:196: warning: already initialized constant Puma::Const::PUMA_PEERCERT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:196: warning: previous definition of PUMA_PEERCERT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:198: warning: already initialized constant Puma::Const::HTTP /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:198: warning: previous definition of HTTP was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:199: warning: already initialized constant Puma::Const::HTTPS /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:199: warning: previous definition of HTTPS was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:201: warning: already initialized constant Puma::Const::HTTPS_KEY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:201: warning: previous definition of HTTPS_KEY was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:203: warning: already initialized constant Puma::Const::HTTP_VERSION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:203: warning: previous definition of HTTP_VERSION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:204: warning: already initialized constant Puma::Const::HTTP_CONNECTION /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:204: warning: previous definition of HTTP_CONNECTION was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:205: warning: already initialized constant Puma::Const::HTTP_EXPECT /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:205: warning: previous definition of HTTP_EXPECT was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:206: warning: already initialized constant Puma::Const::CONTINUE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:206: warning: previous definition of CONTINUE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:208: warning: already initialized constant Puma::Const::HTTP_11_100 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:208: warning: previous definition of HTTP_11_100 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:209: warning: already initialized constant Puma::Const::HTTP_11_200 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:209: warning: previous definition of HTTP_11_200 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:210: warning: already initialized constant Puma::Const::HTTP_10_200 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:210: warning: previous definition of HTTP_10_200 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:212: warning: already initialized constant Puma::Const::CLOSE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:212: warning: previous definition of CLOSE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:213: warning: already initialized constant Puma::Const::KEEP_ALIVE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:213: warning: previous definition of KEEP_ALIVE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:215: warning: already initialized constant Puma::Const::CONTENT_LENGTH2 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:215: warning: previous definition of CONTENT_LENGTH2 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:216: warning: already initialized constant Puma::Const::CONTENT_LENGTH_S /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:216: warning: previous definition of CONTENT_LENGTH_S was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:217: warning: already initialized constant Puma::Const::TRANSFER_ENCODING /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:217: warning: previous definition of TRANSFER_ENCODING was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:218: warning: already initialized constant Puma::Const::TRANSFER_ENCODING2 /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:218: warning: previous definition of TRANSFER_ENCODING2 was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:220: warning: already initialized constant Puma::Const::CONNECTION_CLOSE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:220: warning: previous definition of CONNECTION_CLOSE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:221: warning: already initialized constant Puma::Const::CONNECTION_KEEP_ALIVE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:221: warning: previous definition of CONNECTION_KEEP_ALIVE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:223: warning: already initialized constant Puma::Const::TRANSFER_ENCODING_CHUNKED /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:223: warning: previous definition of TRANSFER_ENCODING_CHUNKED was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:224: warning: already initialized constant Puma::Const::CLOSE_CHUNKED /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:224: warning: previous definition of CLOSE_CHUNKED was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:226: warning: already initialized constant Puma::Const::CHUNKED /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:226: warning: previous definition of CHUNKED was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:228: warning: already initialized constant Puma::Const::COLON /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:228: warning: previous definition of COLON was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:230: warning: already initialized constant Puma::Const::NEWLINE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:230: warning: previous definition of NEWLINE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:232: warning: already initialized constant Puma::Const::HIJACK_P /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:232: warning: previous definition of HIJACK_P was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:233: warning: already initialized constant Puma::Const::HIJACK /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:233: warning: previous definition of HIJACK was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:234: warning: already initialized constant Puma::Const::HIJACK_IO /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:234: warning: previous definition of HIJACK_IO was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:236: warning: already initialized constant Puma::Const::EARLY_HINTS /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:236: warning: previous definition of EARLY_HINTS was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:239: warning: already initialized constant Puma::Const::WORKER_CHECK_INTERVAL /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:239: warning: previous definition of WORKER_CHECK_INTERVAL was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:242: warning: already initialized constant Puma::Const::DQUOTE /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:242: warning: previous definition of DQUOTE was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:243: warning: already initialized constant Puma::Const::HTTP_HEADER_DELIMITER /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:243: warning: previous definition of HTTP_HEADER_DELIMITER was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:244: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_KEY_REGEX /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:244: warning: previous definition of ILLEGAL_HEADER_KEY_REGEX was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:245: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_VALUE_REGEX /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:245: warning: previous definition of ILLEGAL_HEADER_VALUE_REGEX was here /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:248: warning: already initialized constant Puma::Const::BANNED_HEADER_KEY /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:248: warning: previous definition of BANNED_HEADER_KEY was here Using bundler 2.3.0.dev Using nio4r 2.5.4 Using puma 5.0.4 from https://github.com/puma/puma.git (at /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce@ea81fba) Updating files in vendor/cache Bundle complete! 1 Gemfile dependency, 3 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. ``` https://github.com/rubygems/rubygems/commit/039d9fb2cd
2024-07-23[rubygems/rubygems] Stop using the cache path as the install locationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ecadd02746
2024-07-23[rubygems/rubygems] Stop removing the `.git` folder from cached git gemsDavid Rodríguez
If we want to change git gems to use a proper cache, instead of using the cache folder as the install location, so we need to keep git information in the cache, so that when running `bundle install` or `bundler install --local`, we are able to figure out whether the revision that needs to be checked out is present locally in the cache or needs to be fetched from the remote repository. https://github.com/rubygems/rubygems/commit/607eda63eb
2024-07-23[rubygems/rubygems] Refactor `set_paths!`David Rodríguez
The method has two different concerns not straightforward to distinguish. One is to set a new `install_path`, which is done by setting the `@install_path` instance variable, and invalidating the `local_specs` memoization, so that the next time they are picked from the new location. The other one is to set a new `cache_path` which is done by setting the `@cache_path` instance variable, and invalidating the `git_proxy` memoization, so that the next git proxy uses the new cache location. This commit splits the logic so that this is easier to understand. https://github.com/rubygems/rubygems/commit/55904094e8
2024-07-23[rubygems/rubygems] Restrict local behaviour of git gems to local overridesDavid Rodríguez
We want local overrides to behave just like "path gems" but per-app caches are different. https://github.com/rubygems/rubygems/commit/797d717a2d
2024-07-23[rubygems/rubygems] Prefer `install_path` aliasDavid Rodríguez
For consistency with the rest of usages in this class. https://github.com/rubygems/rubygems/commit/69f9ab34b1
2024-07-23[rubygems/rubygems] Move duplicated code to a methodDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fbb4ce168c
2024-07-23[rubygems/rubygems] Add debugging message to `Bundler::Source::Git#specs`David Rodríguez
It's not obvious that the git source actually reinstalls a proper checkout of the repository on usage if necessary. This adds a debugging message to log that, just like it's done when explicitly installing the source. https://github.com/rubygems/rubygems/commit/04e8e42a43
2024-07-23[rubygems/rubygems] Explicitly encode Gem::Dependency to yamlSamuel Giddins
This ensures that instance variable ordering cannot cause non-determinism in serialized gems https://github.com/rubygems/rubygems/commit/0e912704f7
2024-07-23[rubygems/rubygems] Fix `bundle exec gem uninstall`David Rodríguez
* `bundle exec` assigns `Gem::Specification.all` to the set of specs known to Bundler (a `Bundler::SpecSet`). * `gem uninstall` recently started calling `#delete` on the set of specs stored in `Gem::Specification#all`. This, in RubyGems, is just an array of specs, so has a `#delete` method that receives a single element. * However, at some point I added a `SpecSet#delete` method that takes an array of specs, breaking the "Array-like" contract and making `gem uninstall` break when run in a `bundle exec` context. The fix is to make `Bundler::SpecSet#delete` handle being given a single spec. https://github.com/rubygems/rubygems/commit/e3acb7b01d
2024-07-23[rubygems/rubygems] Enable checksums on Bundler 3 for fresh lockfilesDavid Rodríguez
And get specs passing. https://github.com/rubygems/rubygems/commit/c23b5f5b84
2024-07-19[rubygems/rubygems] Fix line comment issue for mapalpha0x00
https://github.com/rubygems/rubygems/commit/7ca06e139b
2024-07-18[rubygems/rubygems] Small tweak to avoid making the same mistake againDavid Rodríguez
We checking completeness of a SpecSet, we should always ignore dependencies not relevant for the current platform, since the resolver and the lockfile ignore those too. https://github.com/rubygems/rubygems/commit/c4b0c6d84e
2024-07-18[rubygems/rubygems] Fix another removal issueDavid Rodríguez
I failed to ignore (again) specs only considered for resolution under some platforms that are not the current one. https://github.com/rubygems/rubygems/commit/b72deec57e
2024-07-18[rubygems/rubygems] Fix incorrect standalone script when default gems with ↵David Rodríguez
extensions are used https://github.com/rubygems/rubygems/commit/55649cd09b
2024-07-18[rubygems/rubygems] Fix gemspec `require_paths` type validationDavid Rodríguez
It was not properly being detected as an Array attribute, and thus not properly validated. Fixing this allows us to remove a strange `rescue` clause in Bundler. https://github.com/rubygems/rubygems/commit/4121a32408
2024-07-18[rubygems/rubygems] Warn non flattened require paths in old RubyGems ↵David Rodríguez
versions too https://github.com/rubygems/rubygems/commit/b3cdccc6fb
2024-07-18[rubygems/rubygems] Use `caller_locations` instead of splitting `caller`Nobuyoshi Nakada
Also limit caller ranges https://github.com/rubygems/rubygems/commit/a274b1af78
2024-07-17[rubygems/rubygems] Fix another case of `bundle lock --add-platform` doing ↵David Rodríguez
nothing https://github.com/rubygems/rubygems/commit/0629e27dda
2024-07-10[rubygems/rubygems] Fix another strange error when running `bundle add` in ↵David Rodríguez
frozen mode If there's a lockfile, but it's out of sync with the Gemfile because a dependency has been deleted, and frozen mode is set, Bundler will print the following strange error: ``` $ bundle add rake , but the lockfile can't be updated because frozen mode is set You have deleted from the Gemfile: * rake (~> 13.2) Run `bundle install` elsewhere and add the updated Gemfile to version control. ``` This commit changes the error to: ``` Some dependencies were deleted from your gemfile, but the lockfile can't be updated because frozen mode is set You have deleted from the Gemfile: * rake (~> 13.2) Run `bundle install` elsewhere and add the updated Gemfile to version control. ``` https://github.com/rubygems/rubygems/commit/452da4048d
2024-07-10[rubygems/rubygems] Fix strange error when running `bundle add` with frozen ↵David Rodríguez
mode set If Gemfile is empty and there's no lockfile (situation after `bundle init`), and `frozen` is configured, running `bundle add` will result in an strange error, like this: ``` $ bundle add rake , but the lockfile can't be updated because frozen mode is set You have deleted from the Gemfile: * rake (~> 13.2) Run `bundle install` elsewhere and add the updated Gemfile to version control. ``` This commit fixes the problem to instead print https://github.com/rubygems/rubygems/commit/152331a9dc