summaryrefslogtreecommitdiff
path: root/lib/bundler
AgeCommit message (Collapse)Author
2021-10-22[rubygems/rubygems] Re-enable `default_ignores` option for standard Justin Searls
I am not sure why this flag was turned off (it wasn't explained in my commit message in 0365dc852767ae589376a7aad1fb129738e408b0 or in my PR in #4411). Whatever the reason, without `default_ignores` turned on, most default CI configurations will immediately fail, as they most likely vendor and cache their dependencies under `vendor`, which will cause standard to run against all the vendored gems and (most likely) fail. I think we should remove this before this feature is released. https://github.com/rubygems/rubygems/commit/677f74be48
2021-10-15[rubygems/rubygems] Update broken link in ↵Jack Schuss
Bundler::Fetcher::CertificateFailureError https://github.com/rubygems/rubygems/commit/11b5d479cb
2021-10-13[rubygems/rubygems] Remove unnecessary methodDavid Rodríguez
https://github.com/rubygems/rubygems/commit/97241e0ea4
2021-10-13[rubygems/rubygems] Reuse `sh` helper for `git push` tooDavid Rodríguez
https://github.com/rubygems/rubygems/commit/32aa540163
2021-10-13[rubygems/rubygems] Simplify some codeDavid Rodríguez
This method always receives an array, and we require `shellwords` unconditionally at the top of the file, so `shelljoin` will always be available. https://github.com/rubygems/rubygems/commit/05c8ac641d
2021-10-13[rubygems/rubygems] Reuse `sh` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c218d4d79e
2021-10-13[rubygems/rubygems] Improve error messages in gem helpersDavid Rodríguez
Previously they were printing the original command that was run, and telling the user to rerun it. However, the command sometimes would not match the exact command that was run (for example, when using the `--local` flag), and in any case, it's simpler and more useful to print the underlying error anyways. https://github.com/rubygems/rubygems/commit/5bc0d51b58
2021-10-13[rubygems/rubygems] Fix `bundle install` crash due to an incorrectly ↵David Rodríguez
incomplete resolve In case we have a corrupted lockfile that claims to support a platform, but it's missing platform specific gems for it, bundler has a check that detects the situation and forces a re-resolve. The result of this check is kept under the `@locked_specs_incomplete_for_platformn` instance variable in `Definition`. The installer, however, calls `Definition#nothing_changed?` before this instance variable has been filled, so the result of it is actually incorrect here since it will claim that nothing has changed, but something has changed (locked specs are incomplete for the current platform). The consequence of this incorrect result is that the installer thinks it can go on without re-resolving, resulting in the incomplete resolution from the lockfile being used, and in a crash being triggered due to that. The solution is to make sure the `@locked_specs_incomplete_for_platform` instance variable is filled before `nothing_changed?` gets called. Moving it to `initialize` makes the most sense, not because it's the best place for it (we can refactor this later), but because all of the other "outdated definition" checks are already set there. https://github.com/rubygems/rubygems/commit/708afdd789
2021-10-13[rubygems/rubygems] No need to use converged dependencies eitherDavid Rodríguez
This is exclusively about the lockfile. https://github.com/rubygems/rubygems/commit/d6c6d040cd
2021-10-13[rubygems/rubygems] Extract `locked_dependencies` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7326d47530
2021-10-13[rubygems/rubygems] Simplify the incomplete locked specs for platform checkDavid Rodríguez
It doesn't really need converged specs, since it's only about the lockfile. https://github.com/rubygems/rubygems/commit/9cd6224b5e
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-13[rubygems/rubygems] Remove unnecessary codeDavid Rodríguez
All supported rubygems versions implement this. https://github.com/rubygems/rubygems/commit/2130782ef6
2021-10-11[rubygems/rubygems] Show a warning in `bundle info` if gem has been deletedDavid Rodriguez
https://github.com/rubygems/rubygems/commit/ff86cd7dd2
2021-10-11[rubygems/rubygems] Show the exact name of the gem that was deletedDavid Rodriguez
If a non exact name (matched as a regexp) is passed to `bundle info`, these strings might not match. https://github.com/rubygems/rubygems/commit/831edf1edf
2021-10-09Newly generated gems require Ruby 2.6.0OKURA Masafumi
In 2021, Ruby 2.5 and older are EOL. We can set the default required Ruby version to 2.6.0 to encourage people to use newer Ruby. If the command is executed with old Ruby, it falls back to 2.3.0. It's still possible to create a gem for older Ruby just by changing two lines of code (one in gemspec and another is in rubocop.yml).
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-09-28[rubygems/rubygems] Add missing `rubygem_push` prerequisiteDavid Rodríguez
Just like all the other tasks using the `built_gem_path`, the `:build` task is a prerequisite for this task too. https://github.com/rubygems/rubygems/commit/d193f9a7f9
2021-09-22[rubygems/rubygems] Fix possible malicious website to example.comfiveNinePlusR
example.com is the canonical stand in for domain examples and will never have a backing website. via https://www.rfc-editor.org/rfc/rfc2606.html https://github.com/rubygems/rubygems/commit/26622c81c2
2021-09-17[rubygems/rubygems] Trigger install command by default on removeJose Galisteo
Closes https://github.com/rubygems/rubygems/issues/4889 https://github.com/rubygems/rubygems/commit/2b1754479c
2021-08-31[rubygems/rubygems] Remove dead codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9978b787a0 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove `syck` traces from `bundler`David Rodríguez
Same reason as in the previous commit. https://github.com/rubygems/rubygems/commit/f00a6c8516 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Make sure `Gem::Command` is available before using itDavid Rodríguez
https://github.com/rubygems/rubygems/commit/95326f827c Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unused requireDavid Rodríguez
https://github.com/rubygems/rubygems/commit/2ee3e78a7a Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Add missing key `branches:`Keiko Kaneko
ref: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags Running jobs with only branch name, without `branches:`, CI fails https://github.com/rubygems/rubygems/commit/fcec167d61 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Pass second argument to Array#split to ensure only two ↵Matt Larraz
values returned https://github.com/rubygems/rubygems/commit/601b5553bb Notes: Merged: https://github.com/ruby/ruby/pull/4789
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] Make plugin installation idempotentDavid Rodríguez
The error had not be caught be specs because `bundle install` was returning a zero exit code when plugin installation errors happened. So I fixed that issue too. https://github.com/rubygems/rubygems/commit/90cde87856 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Move some logic to a `save_plugin` methodDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9620bee2a5 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Correctly redact credentials when using x-oauth-basicMatt Larraz
https://github.com/rubygems/rubygems/commit/290b6ab078 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Fix `bundle check` showing duplicated gemsDavid Rodríguez
If the lockfile contains multiple platforms, `bundle check` would show duplicated missing gems. https://github.com/rubygems/rubygems/commit/6ac5931783 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
2021-08-31[rubygems/rubygems] Bring `--jobs` documentation up to dateDavid Rodríguez
https://github.com/rubygems/rubygems/commit/58da501e5d Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] See if parallel installation on Windows works better nowDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0822e1c260 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Respect `BUNDLE_USER_HOME` for global config locationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/58fc31442f Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove `RUBYGEMS_GEMDEPS` warningDavid Rodríguez
When setting the `RUBYGEMS_GEMDEPS` environment variable to allow skipping `bundle exec`, `bundler` will print a warning about potential incompatibility. Initially the `RUBYGEMS_GEMDEPS` variable used a completely different (re)implementation of `bundler` functionality. That implementation was not battle tested and could potentially differ in behaviour from what `bundler` does. That's why print a warning. However, these days, all `rubygems` does when `RUBYGEMS_GEMDEPS` is set is to require `bundler/setup`, so there's no risk of any incompatibility, since that's just plain `bundler`. https://github.com/rubygems/rubygems/commit/bbddc27016 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Get a CI matrix configured in default Github Actions ↵David Rodríguez
generated config Even if it only has one entry at the moment, it makes it easier to add new entries by doing it this way. https://github.com/rubygems/rubygems/commit/46232fe265 Co-authored-by: NeimadTL <damientalbot26@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Avoid double CI runs in default Github Actions generated ↵David Rodríguez
config Otherwise CI will run once for every pull request update and once for every push. The disavantage is that people working on a non default branch without creating pull requests won't get CI run at all. I think the advantages are greater than the disadvantages, it's also my personal workflow, and it's something desired enough so that someone opened an issue about it. So let's do it! https://github.com/rubygems/rubygems/commit/924d916a73 Co-authored-by: NeimadTL <damientalbot26@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Take advantage of `target` being a `Pathname`David Rodríguez
https://github.com/rubygems/rubygems/commit/c31b8cd232 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Fix git repo initialization on a path with spacesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a2d6e10192 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Deprecate `bundle exec --no-keep-file-descriptors`David Rodríguez
https://github.com/rubygems/rubygems/commit/591466d512 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Don't warn default behaviourDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ed845d861c Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Keep file descriptors by defaultDavid Rodríguez
https://github.com/rubygems/rubygems/commit/88b7a3e7e2 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Exclude gemspec file itself from gemNobuyoshi Nakada
The processed YML data is included as metadata, the source gemspec file is unused and just confusing. https://github.com/rubygems/rubygems/commit/f444478eac Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] typos in UI messages: fix a couple missing spaces ↵Tim Sutton
between sentence breaks https://github.com/rubygems/rubygems/commit/5cdda53382 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove now unnecessary codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d74830d00b Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] The `--local` flag to `bundle install` shouldn't hit the ↵David Rodríguez
network If the cache was missing, `bundler` would try to re-fetch it. With the `--local` flag, it should just look at installed gems. https://github.com/rubygems/rubygems/commit/630d29c69e Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Requiring `bundler/setup` shouldn't try to hit the networkDavid Rodríguez
https://github.com/rubygems/rubygems/commit/06f5efce02 Notes: Merged: https://github.com/ruby/ruby/pull/4789