summaryrefslogtreecommitdiff
path: root/lib/bundler
AgeCommit message (Collapse)Author
2024-07-09[rubygems/rubygems] Fix generic platform gems getting incorrectly removed ↵David Rodríguez
when locked for a specific platform If they are already in the lockfile as the most specific variant for a platform, we shouldn't change that unless explicitly unlocking. https://github.com/rubygems/rubygems/commit/a901660498
2024-07-09[rubygems/rubygems] Refactor selecting specs from a SpecSetDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bcbbff5149
2024-07-09[rubygems/rubygems] Resolve all platforms directlyDavid Rodríguez
Instead of having to do a complete pass after resolve. To do this, we add to the ruby group all the platform specs with the same dependencies as the ruby specs. https://github.com/rubygems/rubygems/commit/e50415f2a6
2024-07-09[rubygems/rubygems] Don't memoize sorted_spec_namesDavid Rodríguez
It's just for debugging and a simple method, so no need. https://github.com/rubygems/rubygems/commit/3230425a9a
2024-07-09[rubygems/rubygems] Instantiate `Resolver::SpecGroup` with explicit priorityDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e2c1bc1b6c
2024-07-09[rubygems/rubygems] Let resolver consider unique specs from the beginningDavid Rodríguez
It results in more consistent error messages. https://github.com/rubygems/rubygems/commit/a4b34361cc
2024-07-08[rubygems/rubygems] Fix wrong version is commentDavid Rodríguez
This RubyGems feature is being released as 3.5.15, so we can stop monkeypatching RubyGems once support for the previous version is dropped. https://github.com/rubygems/rubygems/commit/36f146840d
2024-07-08[rubygems/rubygems] Backport binstub race condition fix to BundlerDavid Rodríguez
https://github.com/rubygems/rubygems/commit/b07e46820d
2024-07-05[rubygems/rubygems] Restrict generic `arm` to only match 32-bit armなつき
https://github.com/rubygems/rubygems/commit/14c4c16e96
2024-07-02[rubygems/rubygems] Only allow valid values for --test, --ci, and --linter ↵Jerome Dalbert
options https://github.com/rubygems/rubygems/commit/d4360c9032
2024-07-02[rubygems/rubygems] Only remove current platform when added right before ↵David Rodríguez
resolution If it has been explicitly added by `bundle lock --add-platform`, we don't want to remove it. https://github.com/rubygems/rubygems/commit/09cf921dd6
2024-07-02[rubygems/rubygems] Refactor previous fix a bitDavid Rodríguez
https://github.com/rubygems/rubygems/commit/1c80c6072f
2024-06-28Synchronize Bundler & RubyGems (#11071)David Rodríguez
2024-06-27[rubygems/rubygems] Print a proper error when bin dir does not have writable ↵David Rodríguez
permission bit https://github.com/rubygems/rubygems/commit/979cd898f9
2024-06-27[rubygems/rubygems] Only override `pre_install_checks` when necessaryDavid Rodríguez
RubyGems >= 3.5 no longer raises `Gem::FilePermissionError` explicitly. https://github.com/rubygems/rubygems/commit/df54b9fd90
2024-06-26[rubygems/rubygems] Add --no-test, --no-ci, and --no-linter optionsJerome Dalbert
https://github.com/rubygems/rubygems/commit/f58660ffcc
2024-06-25[rubygems/rubygems] Only validate resolution info in BundlerThomas Marshall
This commit switches out the full gemspec validation for a partial one which only performs resolution related checks. This will allow gem authors to run `bundle` commands immediately after creating a new gem with Bundler, rather than having to fix metadata validation issues in the default gemspec. https://github.com/rubygems/rubygems/commit/d5aa9cae9d
2024-06-25[rubygems/rubygems] Add Specification#validate_for_resolutionThomas Marshall
This method validates only what is required for resolution, skipping any irrelevant metadata validation. This will be used by Bundler instead of doing a full validation, allowing gem authors to use `bundle` commands immediately in newly created gems without first having to fix invalid metafata fields in the default gemspec. https://github.com/rubygems/rubygems/commit/da7704cfc0
2024-06-25[rubygems/rubygems] Regenerate bundler docs for June 2024.Josef Šimánek
https://github.com/rubygems/rubygems/commit/72103ca1e8
2024-06-20[rubygems/rubygems] Fix credentials being readded when re-resolving without ↵David Rodríguez
a full unlock https://github.com/rubygems/rubygems/commit/a8670e43f8
2024-06-20[rubygems/rubygems] Fix `bundle update <gem_name>` edge caseDavid Rodríguez
When locked only to RUBY, and some locked spec does not meet locked dependencies, Bundler would remove the only locked platform and end up creating a lockfile with empty sections. We can't rely on our criteria to remove invalid platforms if locked specs are not valid in the first place. https://github.com/rubygems/rubygems/commit/1dba05cf53
2024-06-20[rubygems/rubygems] Don't expire git specs unnecessarily when remote! or ↵David Rodríguez
cached! are used https://github.com/rubygems/rubygems/commit/04b26731cb
2024-06-20[rubygems/rubygems] Don't validate local gemspec twiceDavid Rodríguez
Calling `remote!` or `cached!` on the source was expiring local specs for now reason. It's unnecessary to override these methods for path sources since they only deal with local specifications. https://github.com/rubygems/rubygems/commit/aa93b196a2
2024-06-20[rubygems/rubygems] Make sure to not re-resolve when a not fully specific ↵David Rodríguez
local platform is locked https://github.com/rubygems/rubygems/commit/36a02c6128
2024-06-20[rubygems/rubygems] Always resolve against the local platformDavid Rodríguez
If RUBY is the only platform in the lockfile, we were skipping adding the local platform to the list of resolution platforms. This generally works anyways, because we had some code to still add it if the RUBY platform is not valid for the set of locked gems. However, sometimes it can happen that "RUBY" is valid for the current set of locked gems, but when adding a new dependency, it becomes invalid. For example, when adding sorbet to a Gemfile, that will introduce `sorbet-static` as an indirect dependency which does not have a generic "RUBY" variant. This will cause resolution to take a long time continuously backtracking trying to find solutions that don't introduce `sorbet-static` as a dependency and will eventually fail. Instead, we can always add the local platform to the set of resolution platforms before resolving, and remove it as necessary after resolution so that we lock the correct set of platforms. https://github.com/rubygems/rubygems/commit/6ed1fe6050
2024-06-20[rubygems/rubygems] Remove no longer needed conditionDavid Rodríguez
The `force-ruby-platform` settings is properly respected when materializing since https://github.com/rubygems/rubygems/commit/e17d7e9efb91. https://github.com/rubygems/rubygems/commit/c4ba54eb96
2024-06-20[rubygems/rubygems] Revert to splitting parser due to performance regressionMartin Emde
* The string search parser was more memory efficient but in some cases, much slower. Reverting until a better solution is found. * Handle the situation where the line might be blank (Artifactory bug) https://github.com/rubygems/rubygems/commit/222d38737d
2024-06-18[rubygems/rubygems] Fix `bundle fund` when the gemfile contains optional groupsEarlopain
`current_dependencies` doesn't return gems in optional groups, while `specs` would Closes https://github.com/rubygems/rubygems/pull/7757 https://github.com/rubygems/rubygems/commit/c797e95636
2024-06-18[rubygems/rubygems] Use symbol for option key in Bundler::CLI::InstallYuta Saito
https://github.com/rubygems/rubygems/commit/07a5faeb89
2024-06-18[rubygems/rubygems] Bundler integration for --target-rbconfig optionYuta Saito
https://github.com/rubygems/rubygems/commit/f9fb413a19
2024-06-14[rubygems/rubygems] Fix funding metadata not being printed in some situationsDavid Rodríguez
Namely, when a gem has not previously been installed, and Bundler is using the compact index API, fund metadata was not getting printed because the proper delegation was not implemented in the specification class used by the compact index. https://github.com/rubygems/rubygems/commit/9ef5139f60
2024-06-14[rubygems/rubygems] Don't print bug report template when bin dir is not writableDavid Rodríguez
https://github.com/rubygems/rubygems/commit/f4ce3aae71
2024-06-12[rubygems/rubygems] Fix typoDavid Rodríguez
https://github.com/rubygems/rubygems/commit/19a0e3730c
2024-06-11[rubygems/rubygems] Keep credentials in lockfile if they are already thereDavid Rodríguez
So that those lockfiles still work with older Bundler versions. https://github.com/rubygems/rubygems/commit/880275bb66
2024-06-11[rubygems/rubygems] Auto switch to locked bundler version even when using ↵David Rodríguez
binstubs https://github.com/rubygems/rubygems/commit/076aba8b1c
2024-06-06[rubygems/rubygems] Avoid appending a final "/" when `fallback_timeout` is ↵David Rodríguez
used in config https://github.com/rubygems/rubygems/commit/a0af1baa2b
2024-06-06[rubygems/rubygems] Remove per uri options constantDavid Rodríguez
I don't think we should add more of these. https://github.com/rubygems/rubygems/commit/9eee9948cc
2024-06-06[rubygems/rubygems] Move Bundler settings specific logic to BundlerDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7d1e8be2ce
2024-06-06[rubygems/rubygems] Avoid `is_a?` check before using `normalize_uri`David Rodríguez
https://github.com/rubygems/rubygems/commit/31cb15d03f
2024-06-06[rubygems/rubygems] Remove unnecessary `.to_s`David Rodríguez
The `normalize_uri` method always gives back a String. https://github.com/rubygems/rubygems/commit/246953010c
2024-06-06[rubygems/rubygems] Truly ignore commented out settingsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e31df2d6ef
2024-06-06[rubygems/rubygems] Autoload `pathname` at the top levelDavid Rodríguez
Otherwise Ruby >= 3.2 gives a warning which makes several specs fail, and truffleruby rejects it at all. https://github.com/rubygems/rubygems/commit/ae2878484f
2024-05-31[rubygems/rubygems] String search based parsing of compact index versionsMartin Emde
This significantly reduces memory usage. https://github.com/rubygems/rubygems/commit/8a76506c90
2024-05-31[rubygems/rubygems] Move compact index concurrency to fetcherMartin Emde
https://github.com/rubygems/rubygems/commit/ffd3711d00
2024-05-30[rubygems/rubygems] Don't let `bundle config` report a path without a ↵David Rodríguez
Gemfile as "local app" https://github.com/rubygems/rubygems/commit/6aa2ac337f
2024-05-29[rubygems/rubygems] Improve default gem handling by treating default gems as ↵David Rodríguez
any other gem For backwards compatibility, make sure default gems are still used as a last resort when materializing, in case no remote, cached, or installed specs are found. https://github.com/rubygems/rubygems/commit/93788f689f
2024-05-28[rubygems/rubygems] Clarify BUNDLE_USER_CONFIG is a fileDarren Kavanagh
https://github.com/rubygems/rubygems/commit/0b284fc88c
2024-05-28[rubygems/rubygems] Bump COCs to latest Contributor Covenant versionDavid Rodríguez
https://github.com/rubygems/rubygems/commit/73794a95b9
2024-05-26[rubygems/rubygems] Fix typo in description of build:checksum taskMarcus Stollsteimer
https://github.com/rubygems/rubygems/commit/351ff2512f
2024-05-25[rubygems/rubygems] Reorganize and refactor CompactIndexClientMartin Emde
https://github.com/rubygems/rubygems/commit/71bcf354f5