summaryrefslogtreecommitdiff
path: root/lib/bundler
AgeCommit message (Collapse)Author
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
2021-08-31[rubygems/rubygems] Improve "gem not found in source" errorsDavid Rodríguez
When printing sources inside these error messages, it's useful to only consider the current state of the source. For example, when requiring `bundler/setup`, the source shouldn't be configured to be able to hit the network, so the error message should only mention "locally installed gems" to make that more clear. https://github.com/rubygems/rubygems/commit/30eb14f853 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Only set local variable in the branch using itDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9fd39bd5a3 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Simplify error message building in resolverDavid Rodríguez
Since all requirements have an explicit source now (even if it's the default source). https://github.com/rubygems/rubygems/commit/2c341cfc22 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove redundant part of error messageDavid Rodríguez
It doesn't really add much, in my opinion. We want to be helpful, but also concise when possible. https://github.com/rubygems/rubygems/commit/9d56009cf7 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Fix standalone generated script to deal with path sourcesDavid Rodríguez
In the case of path sources, the path the source is pointing to should be added directly to the `$LOAD_PATH` without any modifications. https://github.com/rubygems/rubygems/commit/d3bba936f0 Co-authored-by: Daniel Niknam <mhmd.niknam@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unnecessary `ruby_version` local variableDavid Rodríguez
Under some case, this variable might not end up being used, in which case running the script would print unused variable warnings. https://github.com/rubygems/rubygems/commit/bf96030362 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Use same criteria for ruby engine as in the final scriptDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fcb8c3d188 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unnecessary `ruby_engine` local variableDavid Rodríguez
Under some case, this variable might not end up being used, in which case running the script would print unused variable warnings. https://github.com/rubygems/rubygems/commit/a2d6392ada Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unnecessary `path` local variableDavid Rodríguez
We can use `__dir__` directly. https://github.com/rubygems/rubygems/commit/0e6083ca94 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Fix unnecessary $LOAD_PATH modification in standalone scriptDavid Rodríguez
Due to the `bundler` gem itself being ignored from `$LOAD_PATHS`, a `nil` value is being introduced here, resulting in the current folder being added to the `$LOAD_PATH` by the standalone script. I'm pretty sure this is unintentional. https://github.com/rubygems/rubygems/commit/df54b07b5e Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Don't sort materialized specs when not necessaryDavid Rodríguez
This should fix a weird flaky spec failure, given that the code producing the error will be no longer run. https://github.com/rubygems/rubygems/commit/a171965409 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Respect `BUNDLE_USER_CONFIG` if setDavid Rodríguez
https://github.com/rubygems/rubygems/commit/f28ab141af Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] We can now avoid source materialization workDavid Rodríguez
No need to fill up missing names from sources anymore since they should now be properly set up correctly from the beginning. https://github.com/rubygems/rubygems/commit/706fd28681 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Completely avoid replacing sources when in multisource ↵David Rodríguez
compatibility mode Since this mode is only enabled in frozen mode, it's fine to use the lockfile and means we don't have to "prepare" the replacement for materialization. https://github.com/rubygems/rubygems/commit/dda01b288e Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Fix standalone install of default gemsDavid Rodríguez
Rubygems source replacement was broken. https://github.com/rubygems/rubygems/commit/3549c122f6 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Give a `bundle install` hint when `bundle list` failsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/98f5087e34 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unnecessary escape sequencesDavid Rodríguez
Bundler formatters already take care of this. https://github.com/rubygems/rubygems/commit/c24415fdd5 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unnecessary exceptionDavid Rodríguez
If we have succeeded to materialize the bundle, all specs should be loaded. https://github.com/rubygems/rubygems/commit/bd3712d824 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Show all missing gems when using a bundle before ↵David Rodríguez
installing it Not only the first one that's missing. This also allows us to simplify things. https://github.com/rubygems/rubygems/commit/69718a9509 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Small refactor by DRYing up some logicDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c7e3c092e1 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Move rescue block around the code that can raise itDavid Rodríguez
https://github.com/rubygems/rubygems/commit/310937a546 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Remove unnecessary checkDavid Rodríguez
This error can only be raised when loading the cache, and we only load the cache if this condition is met. https://github.com/rubygems/rubygems/commit/86d692edb8 Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-08-31[rubygems/rubygems] Let original exception be re-raisedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a669401a5a Notes: Merged: https://github.com/ruby/ruby/pull/4789
2021-07-27[rubygems/rubygems] Remove the warning for not defining a gem server sourceDaniel Niknam
Bundler has deprecated gemfiles without a global source and this feature is now obsolete. `Bundler::Definition#has_rubygems_remotes?` is removed because it's not used anymore. https://github.com/rubygems/rubygems/commit/d29dd2cb7b
2021-07-27[rubygems/rubygems] Refactor Bundler::Dsl#check_rubygems_source_safety to ↵Daniel Niknam
improve readability `check_rubygems_source_safety` is responsible for: 1. if there are multiple global sources - for bundle 3.x raise an error - for bundle 2.x print a warning 2. print a warning if there is no explicit global source The second responsibility was added recently and now the logic could be extracted to improve readability. Conditions are still live in the `check_rubygems_source_safety` method since we don't want to call both functions always and that would help us achieve that. https://github.com/rubygems/rubygems/commit/f3d7e946ee
2021-07-27[rubygems/rubygems] Deprecate Gemfile without an explicit global sourceDaniel Niknam
Raise a warning when parsing a Gemfile and it doesn't have a global source. Gemfiles like this, specially now that rubygems sources are are no longer merged into a single source for security, are very confusing because they generate a different lockfile depending on the gems you have locally installed. This is because bundler always use an implicit global source that defaults to locally installed gems. https://github.com/rubygems/rubygems/commit/b7523ad21c
2021-07-27[rubygems/rubygems] Implement Bundler::SourceList#implicit_global_source?Daniel Niknam
This method is created to tell whether any global source exist in the object or not and it will be used by `Bundler:Dsl` to print a warning if no global source has been defined in the Gemfile. https://github.com/rubygems/rubygems/commit/422fec4438
2021-07-27[rubygems/rubygems] Implement Bundler::Source::Rubygems#no_remotes?Daniel Niknam
This method is created to tell whether any remote exist in the object or not and it will be used by `Bundler:SourceList` to tell if a global source has been defined implicitly or not. https://github.com/rubygems/rubygems/commit/47e3ff0e47
2021-07-27[rubygems/rubygems] Lazily load shellwordsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ef6388656a
2021-07-27[rubygems/rubygems] The `--quiet` should still display warningsDavid Rodríguez
The is the previous intentional behaviour until https://github.com/rubygems/bundler/commit/ca0676cb1c638e0b9747ea8c18f28adf82cc01de. In my opinion, that previous behaviour was better and should be restored, because we want our users to always see warnings and fix them. And the original issue that motivated the change is fixable by other means, namely through `BUNDLE_SILENCE_ROOT_WARNING`, or through `BUNDLE_SILENCE_DEPRECATIONS` in general. Finally, the --quiet option is still documented as "only print errors and warnings". So this PR essentially reverts https://github.com/rubygems/bundler/commit/ca0676cb1c638e0b9747ea8c18f28adf82cc01de for the above reasons. https://github.com/rubygems/rubygems/commit/35f2254dfc
2021-07-27[rubygems/rubygems] Remove `gem install` hint when installing a gem failsDavid Rodríguez
A fresh `gem install` might not reproduce the exact `bundle install` environment that originally caused the error. It also makes it harder for the user to troubleshoot the error since she needs to run a separate command. Instead, show the original error and backtrace directly. https://github.com/rubygems/rubygems/commit/49c2abfec6
2021-07-27[rubygems/rubygems] Show a backtrace in case gem installation failsDavid Rodríguez
For example, due to extension compilation issues. https://github.com/rubygems/rubygems/commit/adbe55bb6a
2021-07-27[rubygems/rubygems] Fix bundler binstub version selectionDavid Rodríguez
To mimic built-in rubygems behaviour, only thing that should be approximated is the lockfile version. Other alternatives like `BUNDLER_VERSION` should be respected exactly. https://github.com/rubygems/rubygems/commit/dbd667d4bc
2021-07-27[rubygems/rubygems] Fix interrupt handling in Bundler workersAndrew Haines
The existing interrupt handling using `SharedHelpers.trap` fails when the previous handler for a signal is not callable (for example, when it is the string "DEFAULT"). Instead, we now handle interrupts by aborting the process when worker threads are running, and restore the previous handler after worker threads are finished. Fixes #4764. https://github.com/rubygems/rubygems/commit/b9f455d487
2021-07-16[rubygems/rubygems] Fix `bundle plugin install --help` showing `bundle ↵David Rodríguez
install`'s help https://github.com/rubygems/rubygems/commit/b7b7d16aa8
2021-07-16[rubygems/rubygems] fix dangling empty hooksAndre Arko
it turns out that running `bundle plugin uninstall some-plugin` would remove that plugin from the list of hooks, but if the list of hooks for an event was now empty, we would serialize the empty array into yaml as an empty single bullet item. which would then get unserialized as a plugin with the name empty string. which we would then try to load and explode. 😬 https://github.com/rubygems/rubygems/commit/545ebba9a5
2021-07-16[rubygems/rubygems] test loading bad plugins with nil/empty namesAndre Arko
https://github.com/rubygems/rubygems/commit/e64b1f3497
2021-07-16[rubygems/rubygems] Fix development gem unintentionally removed on an edge caseDavid Rodríguez
When a development dependency was duplicated inside the gemspec and Gemfile with the same requirements, we went from printing a warning to removing the gem altogether. This change makes it not print a warning, but don't remove the gem either. https://github.com/rubygems/rubygems/commit/8bb2488131
2021-07-14Merge RubyGems/Bundler master from 8459ebd6ad65ce3397233416dc64083ae7572bb9Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4648
2021-07-07Sync RubyGems and Bundler with upstreamHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4634