summaryrefslogtreecommitdiff
path: root/lib/bundler/source
AgeCommit message (Collapse)Author
2022-12-15Merge RubyGems/Bundler masterHiroshi SHIBATA
Pick from https://github.com/rubygems/rubygems/commit/084f7d1f21f6fc3e2bb685b7bda3653fb2891c6e Notes: Merged: https://github.com/ruby/ruby/pull/6936
2022-12-12Merge RubyGems/Bundler masterHiroshi SHIBATA
from https://github.com/rubygems/rubygems/commit/bfb0ae69776069155d2092702bfbb5a12617d85a Notes: Merged: https://github.com/ruby/ruby/pull/6906
2022-12-09Merge RubyGems/Bundler masterHiroshi SHIBATA
Pick from https://github.com/rubygems/rubygems/commit/823c776d951f3c35094611473ec77f94e8bf6610 Notes: Merged: https://github.com/ruby/ruby/pull/6890
2022-11-12Migrate our resolver engine to PubGrubHiroshi SHIBATA
https://github.com/rubygems/rubygems/pull/5960 Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
2022-09-08Resync Bundler & RubyGemsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/6330
2022-09-05Merge ↵Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/16c3535413afebcdbab7582c6017c27b5da8a8dc Notes: Merged: https://github.com/ruby/ruby/pull/6326
2022-07-29Merge rubygems master from ↵Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/446cc57a7ccdf1924deb291be9571219e7ba8523 Notes: Merged: https://github.com/ruby/ruby/pull/6198
2022-07-02[rubygems/rubygems] Account for default gems not having remote when cachingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/b93d4de2ff
2022-07-02[rubygems/rubygems] Move rubygems source specific logic to rubygems sourceDavid Rodríguez
https://github.com/rubygems/rubygems/commit/6aa4c422a7
2022-06-24Sync RubyGems & Bundler with upstream repoDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/6054
2022-06-23[rubygems/rubygems] Fix `bundle package --no-install` no longer skipping installDavid Rodríguez
This is a regression from https://github.com/rubygems/rubygems/commit/cf749f8ffabd. The funny thing is that we have a spec for this feature, so it was unclear how we regressed here. It turns out there was a bug in one of our negative matchers checking that gems ARE NOT included in a bundle. This commit fixes the bug in the negative matcher and reverts https://github.com/rubygems/rubygems/commit/cf749f8ffabd (with a slightly simpler diff). https://github.com/rubygems/rubygems/commit/3f9a4ff32a
2022-06-11[rubygems/rubygems] Reuse package from the installer for extracting the ↵David Rodríguez
specification Previously we would instantiate two different packages and extract the specification from the package twice for each gem installed. We can reuse the installer for this so that we just need to do it once. https://github.com/rubygems/rubygems/commit/e454f850b1
2022-06-11[rubygems/rubygems] Move security exception handling to the only place using itDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ba975b3b7f
2022-06-11[rubygems/rubygems] Swapping should not raise any errorsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/600a9ac658
2022-06-11[rubygems/rubygems] Remove unclear commentDavid Rodríguez
This is the explanation of why we do the swapping, not of why we download the gem. https://github.com/rubygems/rubygems/commit/1a25eb7e7b
2022-06-11[rubygems/rubygems] `Gem::Specification.loaded_from` is already set by the ↵David Rodríguez
installer https://github.com/rubygems/rubygems/commit/796eebfdbf
2022-06-11[rubygems/rubygems] Refactor some more duplicated logicDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9bd389e1b6
2022-06-11[rubygems/rubygems] Move `no_install` setting check to a more sensible placeDavid Rodríguez
It's only related to the `bundle cache` command, so it should be checked there. https://github.com/rubygems/rubygems/commit/cf749f8ffa
2022-06-11[rubygems/rubygems] No need to redownload if package already thereDavid Rodríguez
https://github.com/rubygems/rubygems/commit/285ccbc07e
2022-06-11[rubygems/rubygems] No need to overwrite path when there's a remoteDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d86fb2c316
2022-06-11[rubygems/rubygems] Remove unnecessary `spec.remote` guardDavid Rodríguez
It's checked before calling the method already. https://github.com/rubygems/rubygems/commit/4eb00e9586
2022-06-11[rubygems/rubygems] Refactor ambiguous gems checkDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a00c79a4da
2022-05-30[rubygems/rubygems] Fix crash when installing gems with symlinksDavid Rodríguez
If BUNDLE_PATH is configured to a symlinked path, installing gems with symlinks would crash with an error like this: ``` Gem::Package::SymlinkError: installing symlink 'man/man0/README.markdown' pointing to parent path /usr/home/stevewi/srv/mail/lib/tools/.vendor/ruby/3.1.0/gems/binman-5.1.0/README.markdown of /srv/mail/lib/tools/.vendor/ruby/3.1.0/gems/binman-5.1.0 is not allowed ``` This commit fixes the problem by changing the bundle path to be the realpath of the configured value, right after we're sure the path has been created. https://github.com/rubygems/rubygems/commit/3cd3dd142a
2022-05-20Merge RubyGems and Bundler HEADHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/125415593ead9ab69a9f0bb5392c9d7ec61b1f51
2022-05-13[rubygems/rubygems] Fix `Gemfile.lock` versions leaking to `bundler/inline` ↵David Rodríguez
install output The lockfile is completely ignored in inline mode, yet the previous output would suggest it wasn't. https://github.com/rubygems/rubygems/commit/763125a745
2022-05-13[rubygems/rubygems] Normalize parameter nameDavid Rodríguez
The other sources use `options` which reads better. https://github.com/rubygems/rubygems/commit/a672f9d602
2022-04-28Merge ↵Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/3f7d0352e84b29d4a2d4cd93b31e5ebdb5f79cc6 Notes: Merged: https://github.com/ruby/ruby/pull/5669
2022-04-28Merge rubygems master 1e4eda741d732ca1bd7031aef0a16c7348adf7a5Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5669
2021-12-27Track RubyGems 3.4.0dev and Bundler 2.4.0devHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5350
2021-12-27Check if `Kernel#untaint` is defined instead of version comparisonNobuyoshi Nakada
Probably `RUBY_VERSION` seems overwritten somewhere in the tests. Notes: Merged: https://github.com/ruby/ruby/pull/5349 Merged-By: nobu <nobu@ruby-lang.org>
2021-12-21Merge RubyGems-3.3.0 and Bundler-2.3.0Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5317
2021-12-07[rubygems/rubygems] Pass "--" to git commands to separate positional and ↵David Rodríguez
optional args To make sure git uri's specified in Gemfile are never misinterpreted as optional arguments, potentially allowing for local code execution. https://github.com/rubygems/rubygems/commit/90b1ed8b9f
2021-12-03[rubygems/rubygems] Improve sources representationDavid Rodríguez
We have two representations of a source. Once used for sorting, which should not depend on the source's state, but solely on its static information, like remotes. Another one used for error and informational messages, which should properly inform about the exact state of the source when the message is printed. This commit makes the latter be the default implementation of `to_s`, so that error and informational messages are more accurate by default. https://github.com/rubygems/rubygems/commit/b5f2b88957
2021-12-01Merge rubygems master fd676ac464491afaa0baf5435cb11b3f86229cbdHiroshi SHIBATA
2021-10-30[rubygems/rubygems] Better error when installing a git lockfile and git not ↵David Rodríguez
present https://github.com/rubygems/rubygems/commit/28f4842196
2021-10-29[rubygems/rubygems] Only delete cached gem when it's corruptedDavid Rodríguez
Rescuing all errors here might end up hiding other errors if the deletion of the cached gem itself raises an error for some reason. Let's be more conservative. https://github.com/rubygems/rubygems/commit/3d80dfba08
2021-10-25[rubygems/rubygems] Improve readability by splitting updating the cache and ↵David Rodriguez
searching it https://github.com/rubygems/rubygems/commit/d0df25bb0f
2021-10-25[rubygems/rubygems] Manage global gem cache directlyDavid Rodriguez
Previously, it was maintained in sync with the standard cache. That was less efficient, and it caused some error messages to point to non existent files. https://github.com/rubygems/rubygems/commit/931f8cb8a9
2021-10-25[rubygems/rubygems] Cached gem path resolution should consider default gemsDavid Rodriguez
https://github.com/rubygems/rubygems/commit/83b2b845b3
2021-10-25[rubygems/rubygems] Simplify gem downloading inside bundlerDavid Rodriguez
We can skip most stuff in `Gem::RemoteFetcher#download`, and use `Gem::RemoteFetcher#update_cache_path` directly. This has the benefit of allowing us to remove some workarounds to support several rubygems versions, but also allows us to pass the target folder where the gem should be downloaded directly and skip the logic inside `Gem::RemoteFetcher#download` to infer the cache path. This will be useful later to fix some issues with the `global_gem_cache` feature flag. https://github.com/rubygems/rubygems/commit/8fe74a77e4
2021-10-25[rubygems/rubygems] Use `Gem::Specification#file_name` consistentlyDavid Rodriguez
https://github.com/rubygems/rubygems/commit/13b933f49a
2021-10-25[rubygems/rubygems] Extract a `default_cache_path` helperDavid Rodriguez
https://github.com/rubygems/rubygems/commit/8319305d58
2021-10-25[rubygems/rubygems] Small refactorDavid Rodriguez
Extract final cache path to a variable and pass that to `download_gem`. It actually fits better the parameters documentation since it's the final directory where the downloaded gem will be placed. https://github.com/rubygems/rubygems/commit/1429db6a04
2021-10-25[rubygems/rubygems] Vendor a pure ruby implementation of SHA1Jean Boussier
This allows `Source::Git` to no longer load the `digest` gem as it is causing issues on Ruby 3.1. https://github.com/rubygems/rubygems/pull/4989/commits/c19a9f2ff7
2021-10-13[rubygems/rubygems] Fix `bundle install` to force reinstallation of deleted gemsDavid Rodriguez
https://github.com/rubygems/rubygems/commit/8950631f02
2021-10-13[rubygems/rubygems] Use correct way to detect default gemsDavid Rodríguez
The other way, in particular matching a substring in the gemspec summary, is brittle and no longer used since Ruby 2.0. This needed rewriting the specs that depended on that way. https://github.com/rubygems/rubygems/commit/059dbfa971
2021-10-09[rubygems/rubygems] Add glob infomation to Bundler::Source::Git#to_sgabriele renzi
The glob information was not specified in the string representation for a source, which led to non-deterministic behaviour when generating the lockfile, since sources are sorted by this value. https://github.com/rubygems/rubygems/commit/493b880abc
2021-08-31[rubygems/rubygems] Fix `bundle plugin install` misdetection of installed ↵David Rodríguez
versions https://github.com/rubygems/rubygems/commit/9c88db949d Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Explicitly set `allow_cached` to false when setting ↵David Rodríguez
local mode https://github.com/rubygems/rubygems/commit/1b8139e9d3 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Restore working `bundle check` behaviourDavid Rodríguez
As part of a recent bug fix where bundler was accidentally hitting the network when not supposed to, I made some refactoring, and the commit I'm reverting here (https://github.com/rubygems/rubygems/commit/d74830d00bb541883377992f56818620a78930b0) was some cleanup that those refactorings allowed according to "past me". That was completely wrong, `bundle check` should never consider cached gems, only installed gems, so the code that was removed was necessary. https://github.com/rubygems/rubygems/commit/5483e98305 Notes: Merged: https://github.com/ruby/ruby/pull/4789