Граф коммитов

119 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA fff9b45fa9
Reverts the accidental commits for rubygems/bundler.
We stay to the stable version for releasing Ruby 3.1.0.

  Revert commits:
    b86a7ba492
    ef973aa7aa
2021-12-22 07:52:59 +09:00
David Rodríguez b86a7ba492 [rubygems/rubygems] Fix error when gem specified twice in gemfile under different platforms
https://github.com/rubygems/rubygems/commit/83bc87ca98
2021-12-22 03:12:57 +09:00
Hiroshi SHIBATA 69dc2ea465 Merge RubyGems-3.3.0 and Bundler-2.3.0 2021-12-21 15:27:05 +09:00
David Rodríguez 0e60bc118b [rubygems/rubygems] Ignore dependencies not actually locked from frozen check
Only needed if there can be no explicit global source (bundler < 3).

https://github.com/rubygems/rubygems/commit/73923f4af5
2021-12-10 19:09:55 +09:00
David Rodríguez 0073f624f0 [rubygems/rubygems] Don't unnecessarily loop twice through dependencies
https://github.com/rubygems/rubygems/commit/06b4a7994d
2021-12-03 20:00:51 +09:00
David Rodríguez 4c5e862434 [rubygems/rubygems] Improve source gemfile/lockfile equivalence checks
Since we no longer have multiple global sources, each top level dependency is
always pinned to a single source, so it makes little sense to talk about
adding or removing a source. Instead, source changes always mean to
change the source one or more dependencies are pinned to. This logic can
now be much simpler.

https://github.com/rubygems/rubygems/commit/f1d33fa0df
2021-12-03 20:00:51 +09:00
David Rodríguez 7d974cc56f [rubygems/rubygems] Don't overwrite locked dependency sources too early
Otherwise we hide some useful message about dependency source changes.

https://github.com/rubygems/rubygems/commit/c926673c5b
2021-12-03 20:00:50 +09:00
David Rodríguez aa87780f8f [rubygems/rubygems] Fix incorrect order in changed sources message
https://github.com/rubygems/rubygems/commit/6f1b5f68de
2021-12-03 20:00:49 +09:00
David Rodríguez ca65f7bb8a [rubygems/rubygems] Remove unnecessary code
Somehow this is trying to relax frozen mode constraints for path
sources. It doesn't make sense to me and it's not covered by any spec so
I'm killing it.

https://github.com/rubygems/rubygems/commit/17c978e161
2021-12-03 20:00:49 +09:00
David Rodríguez d19c266b49 [rubygems/rubygems] Reuse `locked_dependencies` helper
It makes the code more consistent with the above line.

https://github.com/rubygems/rubygems/commit/f28d05a548
2021-12-03 20:00:48 +09:00
David Rodríguez 901a257533 [rubygems/rubygems] Reformat for consistency with the above line
https://github.com/rubygems/rubygems/commit/11193be3f1
2021-12-03 20:00:47 +09:00
David Rodríguez 906b95780f [rubygems/rubygems] Remove unnecessary nil checks
https://github.com/rubygems/rubygems/commit/d047b8935d
2021-12-03 20:00:47 +09:00
Hiroshi SHIBATA 0b53a8895f
Merge rubygems master fd676ac464491afaa0baf5435cb11b3f86229cbd 2021-12-01 11:00:10 +09:00
David Rodríguez 59439446d9 [rubygems/rubygems] Fix missing locked specs when depended on other platform
https://github.com/rubygems/rubygems/commit/0396e899db
2021-11-27 05:31:54 +09:00
David Rodríguez 39c4673e3c [rubygems/rubygems] Previous logic can mostly go now
https://github.com/rubygems/rubygems/commit/3241b34055
2021-11-19 10:12:11 +09:00
David Rodríguez 80f39d78df [rubygems/rubygems] Allow `bundle update` to downgrade gems by changing the Gemfile
https://github.com/rubygems/rubygems/commit/6a19cca7e5
2021-11-19 10:12:10 +09:00
David Rodríguez 55f574136c [rubygems/rubygems] Extract a converge_specs method for later reusing it
https://github.com/rubygems/rubygems/commit/e896e63ac3
2021-11-19 10:12:09 +09:00
David Rodríguez 2730e45f45 [rubygems/rubygems] Avoid unnecessary loop
https://github.com/rubygems/rubygems/commit/afaf868b68
2021-11-19 10:12:09 +09:00
Hiroshi SHIBATA f3bda8987e
Merge the master branch of rubygems repo
Picked from 4b498709a0
2021-11-16 20:19:13 +09:00
David Rodríguez 4e7e057692 [rubygems/rubygems] Memoize materialized specs when requiring `bundler/setup`
Calling `Bundler.definition.specs` will memoize materialized specs.
However, requiring `bundler/setup` will end up materializing the same
set of specs, but not memoize them.

This change makes things consistent.

https://github.com/rubygems/rubygems/commit/e4c2b52824
2021-11-01 02:01:36 +09:00
David Rodríguez 853004e04d [rubygems/rubygems] Fix `bundle install` crash due to an incorrectly 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 21:16:40 +09:00
David Rodríguez d1e6f2226b [rubygems/rubygems] No need to use converged dependencies either
This is exclusively about the lockfile.

https://github.com/rubygems/rubygems/commit/d6c6d040cd
2021-10-13 21:16:40 +09:00
David Rodríguez ec5f732b7d [rubygems/rubygems] Extract `locked_dependencies` helper
https://github.com/rubygems/rubygems/commit/7326d47530
2021-10-13 21:16:39 +09:00
David Rodríguez 15f50d3bed [rubygems/rubygems] Simplify the incomplete locked specs for platform check
It doesn't really need converged specs, since it's only about the
lockfile.

https://github.com/rubygems/rubygems/commit/9cd6224b5e
2021-10-13 21:16:39 +09:00
David Rodríguez 3683781f53 [rubygems/rubygems] Restore working `bundle check` behaviour
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
(d74830d00b)
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
2021-08-31 19:06:14 +09:00
David Rodríguez 97de4c02ad [rubygems/rubygems] Remove now unnecessary code
https://github.com/rubygems/rubygems/commit/d74830d00b
2021-08-31 19:06:14 +09:00
David Rodríguez 7116ec6199 [rubygems/rubygems] Requiring `bundler/setup` shouldn't try to hit the network
https://github.com/rubygems/rubygems/commit/06f5efce02
2021-08-31 19:06:14 +09:00
David Rodríguez 1b9b41472f [rubygems/rubygems] Completely avoid replacing sources when in multisource 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
2021-08-31 19:06:14 +09:00
David Rodríguez 9a25a98c6b [rubygems/rubygems] Show all missing gems when using a bundle before installing it
Not only the first one that's missing.

This also allows us to simplify things.

https://github.com/rubygems/rubygems/commit/69718a9509
2021-08-31 19:06:14 +09:00
David Rodríguez d298ef40f2 [rubygems/rubygems] Small refactor by DRYing up some logic
https://github.com/rubygems/rubygems/commit/c7e3c092e1
2021-08-31 19:06:14 +09:00
Daniel Niknam bd8daa8523
[rubygems/rubygems] Remove the warning for not defining a gem server source
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 09:25:57 +09:00
Hiroshi SHIBATA 896bbb9fad Merge RubyGems/Bundler master from 8459ebd6ad65ce3397233416dc64083ae7572bb9 2021-07-14 10:48:07 +09:00
Hiroshi SHIBATA c082c6eb7c Sync RubyGems and Bundler with upstream 2021-07-07 15:31:52 +09:00
David Rodríguez 6e2240a2f9 Sync latest bundler & rubygems development version 2021-07-07 13:30:20 +09:00
David Rodríguez 5b0abba931 Sync bundler & rubygems 2021-05-11 11:29:41 +09:00
Hiroshi SHIBATA ed149dbf46 Merge the master branch of Bundler 2021-04-15 15:36:15 +09:00
David Rodríguez 53468cc111 Sync latest development version of bundler & rubygems 2021-03-08 13:47:35 +09:00
Hiroshi SHIBATA 69ed64949b Track Bundler master(2.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20 2021-01-04 13:14:43 +09:00
Hiroshi SHIBATA 339227363c Merge RubyGems 3.2.3 and Bundler 2.2.3 2020-12-23 10:17:41 +09:00
Hiroshi SHIBATA 2fa9f3c032 Prepare to release rubygems-3.2.1 and bundler-2.2.1 2020-12-15 10:54:09 +09:00
Hiroshi SHIBATA 473f9d2df0 Merge prepare version of Bundler 2.2.0 2020-12-08 17:30:02 +09:00
Hiroshi SHIBATA d386a58f6f Merge bundler-2.2.0.rc.2 2020-10-15 17:19:02 +09:00
David Rodríguez f8f3f11ed5 [rubygems/rubygems] Fix `only_update_to_newer_versions` regression
The `only_update_to_newer_versions` feature flag will enable some new
behaviour in bundler 3 (or maybe earlier if we decide to consider it a
bug fix) that prevents `bundle update` from unexpectedly downgrading
direct dependencies.

This seems reasonable, but the current implementation is adding
additional requirements for all locked dependencies, not only from the
ones in the `Gemfile`. That causes some situations where the `Gemfile`
is edited and will resolve to older versions to start failing.

This commit fixes the problem by making sure extra requirements are
added exclusively for direct dependencies in the `Gemfile`, not for all
direct dependencies in the lock file.

https://github.com/rubygems/rubygems/commit/128b4596e1
2020-06-18 19:14:15 +09:00
David Rodríguez 97267227bb [rubygems/rubygems] Don't recommend the `--no-deployment` flag
https://github.com/rubygems/rubygems/commit/b368c7e0c4
2020-06-05 07:32:42 +09:00
Hiroshi SHIBATA 0e60b59d58 Update the bundler version with master branch 2020-05-13 07:54:37 +09:00
Bundlerbot 434af7303c
[bundler/bundler] Merge #7340
7340: Fix bundle clean issue r=deivid-rodriguez a=deivid-rodriguez

### What was the end-user problem that led to this PR?

The problem was that `bundle clean` is crashing under some conditions.

### What was your diagnosis of the problem?

My diagnosis was that sometimes (when the bundle includes git sourced gems with extensions), it assumes that some paths exist, but they don't.

### What is your fix for the problem, implemented in this PR?

My fix is to ignore those paths.

### Why did you choose this fix out of the possible options?

I chose this fix because it fixes the issue.

Fixes #7338.

Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
(cherry picked from commit b007fde67c77c1f15f13b97eda186644c2a2be04)

https://github.com/bundler/bundler/commit/3766053507
2019-09-18 18:26:33 +09:00
David Rodríguez 0c6529bac2
[bundler/bundler] Revert "Add all platforms to lockfile by default"
This reverts commit 3dc509e645abb497e4dc92a7c42be471ff87db0b.

https://github.com/bundler/bundler/commit/b5766564fb
2019-09-18 18:26:32 +09:00
David Rodríguez 6f16ededdd
[bundler/bundler] Revert "Remove now meaningless warning"
This reverts commit 00b095b98fe4bd44950beaf3bc9f1d91eac7b69e.

https://github.com/bundler/bundler/commit/e93bce3b20
2019-09-18 18:26:32 +09:00
David Rodríguez 399501cdfe
[bundler/bundler] Revert "Remove now unused method"
This reverts commit 3a2d2f025081755bdb38af660897e7b2f749a33a.

https://github.com/bundler/bundler/commit/13cef81582
2019-09-18 18:26:32 +09:00
David Rodríguez d0c19d1f87
[bundler/bundler] Use `tap` for `current_platforms`
https://github.com/bundler/bundler/commit/78608acf83
2019-08-03 09:29:57 +09:00
David Rodríguez 6e0dc5594c
[bundler/bundler] Remove now unused method
https://github.com/bundler/bundler/commit/3a2d2f0250
2019-08-03 09:29:57 +09:00
David Rodríguez dae6d303d5
[bundler/bundler] Remove now meaningless warning
https://github.com/bundler/bundler/commit/00b095b98f
2019-08-03 09:29:57 +09:00
David Rodríguez c1ca77281d
[bundler/bundler] Add all platforms to lockfile by default
https://github.com/bundler/bundler/commit/3dc509e645
2019-08-03 09:29:57 +09:00
David Rodríguez ff908983be
[bundler/bundler] Extract `expanded_platforms`
https://github.com/bundler/bundler/commit/60d720eb06
2019-08-03 09:29:57 +09:00
David Rodríguez 3af9d8bb67
[bundler/bundler] Extract `current_platforms`
https://github.com/bundler/bundler/commit/9f07207d64
2019-08-03 09:29:57 +09:00
Samuel Giddins 82bf064375
[bundler/bundler] [Package] Ensure uninstallable gems are _never_ installed
https://github.com/bundler/bundler/commit/899aeeebb0
2019-08-03 09:29:57 +09:00
David Rodríguez ed37de1c82
[bundler/bundler] Inline `expanded_deps`
It's now only used once, and doing it like this is consistent with the
previous line.

https://github.com/bundler/bundler/commit/7d27330fc7
2019-08-03 09:29:56 +09:00
David Rodríguez 2771789302
[bundler/bundler] Don't re-resolve locked platform specific gems
https://github.com/bundler/bundler/commit/7da2bf75f5
2019-08-03 09:29:56 +09:00
David Rodríguez 4089f8df1e
[bundler/bundler] Use real paths for `bundle clean`
https://github.com/bundler/bundler/commit/0646f9e286
2019-08-03 09:29:56 +09:00
Hiroshi SHIBATA 8f37629519 Merge bundler master from upstream.
Pick from 8dd59e3ba97eb80a599f8149f31bf40773b69dc0
2019-06-09 12:44:10 +09:00
hsbt 68ddd4d300 Merge Bundler 2.1.0.pre.1 as developed version from upstream.
a53709556b

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-14 06:01:35 +00:00
hsbt e97741e12a Merge Bundler 2.0.1 from upstream.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-04 13:10:58 +00:00
hsbt 91533d9ab1 Downgrade Bundler 1.17.x from 2.0.0.
We have the platform issue on heroku:
    * https://gist.github.com/schneems/26452540f6e2bbbcf2ea144f45f6b305
    * https://github.com/heroku/heroku-buildpack-ruby/issues/833

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-11 03:07:37 +00:00
hsbt 8f4aa4fd2a Merge Bundler-2.0.0.pre1 from upstream.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-12 00:53:15 +00:00
hsbt 59c8d50653 Added bundler as default gems. Revisit [Feature #12733]
* bin/*, lib/bundler/*, lib/bundler.rb, spec/bundler, man/*:
    Merge from latest stable branch of bundler/bundler repository and
    added workaround patches. I will backport them into upstream.
  * common.mk, defs/gmake.mk: Added `test-bundler` task for test suite
    of bundler.
  * tool/sync_default_gems.rb: Added sync task for bundler.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-02 23:07:56 +00:00
hsbt 7825e8363d Postponing the Bundler merge.
I faced a big issue about Bundler with ruby core.
  I have no time to resolve it issue before 2.5 final release.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-22 23:08:05 +00:00
hsbt a1a20cfaa2 Merge 1-16-stable branch of bundler.
It's rc version for bundler-1.16.1. I'm going to update it version
  after official release from bundler team.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 06:15:44 +00:00
hsbt be7b592912 Update bundled bundler to 1.16.0.
* lib/bundler, spec/bundler: Merge bundler-1.16.0.
  * common.mk: rspec examples of bundler-1.16.0 needs require option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-01 23:29:38 +00:00
hsbt 8598f8c2dc Merge bundler to standard libraries.
rubygems 2.7.x depends bundler-1.15.x. This is preparation for
  rubygems and bundler migration.

  * lib/bundler.rb, lib/bundler/*: files of bundler-1.15.4
  * spec/bundler/*: rspec examples of bundler-1.15.4. I applied patches.
    * https://github.com/bundler/bundler/pull/6007
    * Exclude not working examples on ruby repository.
    * Fake ruby interpriter instead of installed ruby.
  * Makefile.in: Added test task named `test-bundler`. This task is only
    working macOS/linux yet. I'm going to support Windows environment later.
  * tool/sync_default_gems.rb: Added sync task for bundler.

  [Feature #12733][ruby-core:77172]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-08 08:45:41 +00:00