Age | Commit message (Collapse) | Author |
|
|
|
https://github.com/rubygems/rubygems/commit/28b6a7cf5e
|
|
The "ignore" attribute is a RubyGems thing to mark when a installed gem
should be ignored for activation because its extensions are not properly
compiled.
In the case of gems from path sources, the warning is not accurate
because extensions are compiled into the local lib path, which is not
where RubyGems leaves its sentinel `gem.build_complete` file.
Also, there's a single version of each gem in the path source available
to Bundler, so we always certainly want to consider that for activation
and never makes sense to ignore it.
https://github.com/rubygems/rubygems/commit/ec5d33695e
|
|
https://github.com/rubygems/rubygems/commit/bb13f4e702
|
|
Rails
If you have
```
gem "rails", git: "https://github.com/rails/rails"
```
and then explicitly pin to an older ref, like
```
gem "rails", git: "https://github.com/rails/rails", ref: "https://github.com/rubygems/rubygems/commit/99bacb5aa8e5"
```
Then `bundle install` fails, because locked sources fail to be updated
to use the new source.
This commit fixes the problem by making sure get their source properly
replaced.
https://github.com/rubygems/rubygems/commit/5de8c2e0cf
|
|
x64-mingw-ucrt (platforms)
- the x64-mingw32 platform has been superseded by x64-mingw-ucrt
- the mingw-ucrt platform is present as of Windows 10, which was released 10 years ago in 2015 and all versions prior to 10 are end-of-life and 10 will be by mid October 2025
- newer rubies use the mingw-ucrt platform instead of the mingw32 platform, meaning using the deprecated platform can cause issues during gem installation
https://github.com/rubygems/rubygems/commit/b9d871022e
|
|
have changed
Since we will now add it back if the final resolution is compatible, we
can also get this kind of edge case (`bundle add`) working.
https://github.com/rubygems/rubygems/commit/cdc5ebec77
|
|
This reverts commit eb91c664dc0b4d69db09ae913f2d7a5ef3490d74.
Notes:
Merged: https://github.com/ruby/ruby/pull/12968
|
|
missing
https://github.com/rubygems/rubygems/commit/054a0cd76c
Notes:
Merged: https://github.com/ruby/ruby/pull/12968
|
|
https://github.com/rubygems/rubygems/commit/e891be9197
Notes:
Merged: https://github.com/ruby/ruby/pull/12968
|
|
* Increase timeout to fix flaky tests?
* Fix bundler test - wording changed.
expect "fatal: Remote branch deadbeef not found in upstream origin" to
include "Revision deadbeef does not exist in the repository"
Notes:
Merged-By: ioquatix <[email protected]>
|
|
Because it does not swallow errors if it fails to remove the given
folders, making issues easier to debug.
https://github.com/rubygems/rubygems/commit/0db12d7afc
|
|
This has the following benefits:
* Avoid duplicated work in some specs that first build a repo, and then
overwrite it with a completely different set of gems.
* Reduce RSpec nesting and improve readability.
* The change also made surfaces several specs that were incorrect since
they were unintentionally not testing the right thing.
https://github.com/rubygems/rubygems/commit/ed430883e0
|
|
https://github.com/rubygems/rubygems/commit/ffabab65f2
|
|
https://github.com/rubygems/rubygems/commit/aee52d2874
Co-authored-by: johnnyshields <[email protected]>
|
|
https://github.com/rubygems/rubygems/commit/96496e3f53
Co-authored-by: Johnny Shields <[email protected]>
|
|
I think they add unnecessary indirection and inconsistency to the specs.
https://github.com/rubygems/rubygems/commit/609924d985
|
|
https://github.com/rubygems/rubygems/commit/d24c0c20e3
|
|
https://github.com/rubygems/rubygems/commit/faaa594a4a
|
|
lockfile unless necessary
Even if they don't match the current Ruby version, they could still work
in other rubies. So it's better to keep them.
https://github.com/rubygems/rubygems/commit/9a3e583b0c
Notes:
Merged: https://github.com/ruby/ruby/pull/12568
|
|
https://github.com/rubygems/rubygems/commit/bc2537de71
|
|
https://github.com/rubygems/rubygems/commit/f68a2c30bb
|
|
platform
Using an old bundler version was necessary at the beginning because we
checked the version of Bundler being run in order to enable the new
behavior. But we removed that a long time ago and now we only look at
whether the lockfile only includes "ruby" as a platform or not.
https://github.com/rubygems/rubygems/commit/8fc3d38ff3
|
|
https://github.com/rubygems/rubygems/commit/99b4ac4548
|
|
"ruby" platform
https://github.com/rubygems/rubygems/commit/4168a7f488
|
|
Ruby's -w flag
When using the `bundler/setup` entrypoint, Bundler prints the following
warnings in JRuby in `-w` is passed to Ruby.
```
/path/to/bundler/shared_helpers.rb:10: warning: constant Bundler::WINDOWS is deprecated
/path/to/bundler/shared_helpers.rb:11: warning: constant Bundler::FREEBSD is deprecated
/path/to/bundler/lib/bundler/shared_helpers.rb:12: warning: constant Bundler::NULL is deprecated
```
This does not happen in CRuby.
This seems like a JRuby bug but we can skip it by autoloading the
constants.
https://github.com/rubygems/rubygems/commit/761ca29fa2
|
|
Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/06eec6d855
|
|
Turns out we were not running specs on JRuby, so we introduced a
failure. Seems fine to skip.
https://github.com/rubygems/rubygems/commit/4e2d6affb3
|
|
using local overrides
https://github.com/rubygems/rubygems/commit/0a6c1c53ce
|
|
git sources
`version` is actually an attribute of the dependency, not of the git
source. Sometimes it's passed to the git source to be able to fake a
gemspec in case there's no gemspec in the source, but it should not be
used for source comparison.
https://github.com/rubygems/rubygems/commit/d936fbd78e
|
|
update <specific_gem>` is run
https://github.com/rubygems/rubygems/commit/eec6830c04
|
|
https://github.com/rubygems/rubygems/commit/d8cf4aa0cd
|
|
truffleruby to cruby
https://github.com/rubygems/rubygems/commit/4f3d9fa3bf
|
|
https://github.com/rubygems/rubygems/commit/ecadd02746
|
|
And get specs passing.
https://github.com/rubygems/rubygems/commit/c23b5f5b84
|
|
Use the standard sources to avoid having to explictly pass ENV with the repo.
https://github.com/rubygems/rubygems/commit/95055dba57
|
|
https://github.com/rubygems/rubygems/commit/0658903e25
|
|
I failed to ignore (again) specs only considered for resolution under
some platforms that are not the current one.
https://github.com/rubygems/rubygems/commit/b72deec57e
|
|
All that we expect here is no changes.
https://github.com/rubygems/rubygems/commit/ff984b6133
|
|
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
|
|
While working on something else I noticed:
* Usage of uppercased "RUBY" and "JAVA" as platforms, when those don't
really exist.
* Usage of some test gems with "1.0" as gemspec version and "1.0.0" as
actual version.
This commit fixes both inconsistencies to make things more expectable.
https://github.com/rubygems/rubygems/commit/e3ec32e247
|
|
add_runtime_dependency
https://github.com/rubygems/rubygems/commit/9a08043858
|
|
|
|
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
|
|
local platform is locked
https://github.com/rubygems/rubygems/commit/36a02c6128
|
|
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
|
|
https://github.com/rubygems/rubygems/commit/f7c7bae940
|
|
internally
https://github.com/rubygems/rubygems/commit/6b3f555211
|
|
https://github.com/rubygems/rubygems/commit/57576e27a1
|
|
https://github.com/rubygems/rubygems/commit/2d9eeadb62
|