| Age | Commit message (Collapse) | Author |
|
bundler
https://github.com/rubygems/rubygems/commit/72169288ff
|
|
https://github.com/rubygems/rubygems/pull/6444, I have no idea to
migrate this test to bundler example
yet
https://github.com/rubygems/rubygems/commit/0d869019bf
|
|
bundler from Gem::Specification.
Gem::Specification#missing_extension? is heavily called from RubyGems.
We should reduce extra method call from this place.
https://github.com/rubygems/rubygems/commit/e24e59d44d
|
|
https://github.com/rubygems/rubygems/commit/125f9fece9
|
|
Currently, the --no-install option to `bundle package` is totally
ignored for git sources. This can have very strange effects if you have:
- a git-sourced gem,
- with native extensions,
- whose extconf.rb script depends on another gem,
- which is installed from Rubygems in the gemfile.
In that circumstance, `bundle package --no-install --all` will download
the Rubygems dependencies to `vendor/cache` but NOT install them. It
will also check out the git gems to `vendor/cache` (good), and attempt
to build their native extensions (bad!).
The native extension build will fail because the extconf.rb script crashes,
since the dependency it needs is missing.
I implemented a fix for this in `source/git.rb`, since this is analogous
to what's happening in `source/rubygems.rb`. I do admit though the whole
thing is a little strange though - an "install" method that.... proceeds
to look at a global flag to not install anything.
Add test to confirm cache respects the --no-install flag
https://github.com/rubygems/rubygems/commit/5a77d1c397
Co-authored-by: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
|
|
Explicitly match directory separator to not match files in repo root
accidentally.
https://github.com/rubygems/rubygems/commit/b936805ea9
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
missing gems
If the original `BUNDLE_GEMFILE` is different from the default, then the
suggestion wouldn't work as is.
Before:
```
$ util/rubocop
Could not find rubocop-1.30.1 in locally installed gems
Run `bundle install` to install missing gems.
$ rubygems git:(better-cmd-suggestion) ✗ bundle install
Could not locate Gemfile
```
After:
```
$ util/rubocop
Could not find rubocop-1.30.1 in locally installed gems
Run `bundle install --gemfile /path/to/rubygems/bundler/tool/bundler/lint_gems.rb` to install missing gems.
$ bundle install --gemfile /path/to/rubygems/bundler/tool/bundler/lint_gems.rb
Fetching gem metadata from https://rubygems.org/.........
Using ast 2.4.2
Using bundler 2.4.7
Using parser 3.1.2.0
Using rainbow 3.1.1
Using parallel 1.22.1
Using regexp_parser 2.5.0
Using rubocop-ast 1.18.0
Using rexml 3.2.5
Using ruby-progressbar 1.11.0
Using unicode-display_width 2.1.0
Fetching rubocop 1.30.1
Installing rubocop 1.30.1
Using rubocop-performance 1.14.2
Bundle complete! 2 Gemfile dependencies, 12 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
$ util/rubocop
Inspecting 345 files
.........................................................................................................................................................................................................................................................................................................................................................
345 files inspected, no offenses detected
```
https://github.com/rubygems/rubygems/commit/bf1320d805
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7462
|
|
https://github.com/rubygems/rubygems/commit/8755ca959e
|
|
to #windows?. (This is done instead of logging a deprecation warning.)
https://github.com/rubygems/rubygems/commit/b9fcc7c0ab
|
|
The regular expression is difficult to understand at a glance.
Let's replace it with a much simpler string comparison.
https://github.com/rubygems/rubygems/commit/a3745aa03f
|
|
https://github.com/rubygems/rubygems/commit/203f3e3802
|
|
https://github.com/rubygems/rubygems/commit/d2c56315e2
|
|
Following up on https://github.com/rubygems/rubygems/pull/6355, which
turned a crash into a nicer error message, this commit auto-heals the
corrupt lockfile instead.
In this particular case (a corrupt Gemfile.lock with missing
dependencies) the LazySpecification will not have accurate dependency
information, we have to materialize the SpecSet to determine there are
missing dependencies. We've already got a way to handle this, via
`SpecSet#incomplete_specs`, but it wasn't quite working for this case
because we'd get to `@incomplete_specs += lookup[name]` and
`lookup[name]` would be empty for the dependency.
With this commit we catch it a bit earlier, marking the parent spec
containing the missing dependency as incomplete.
https://github.com/rubygems/rubygems/commit/486ecb8f20
|
|
https://github.com/rubygems/rubygems/commit/5c5d0c5350
|
|
https://github.com/rubygems/rubygems/commit/23880353c1
|
|
Pick from https://github.com/rubygems/rubygems/commit/e9304aed7e43308b99e70c2f7b92028315fee8a5
Notes:
Merged: https://github.com/ruby/ruby/pull/7345
|
|
https://github.com/rubygems/rubygems/commit/cb4fc41cbc
Notes:
Merged: https://github.com/ruby/ruby/pull/7345
|
|
* Replaces the wording of "is forbidden" with "cannot be used"
* Fixes the method signature of VersionRange::Empty#eql?
https://github.com/rubygems/rubygems/commit/8c6b3f130b
Co-authored-by: Daniel Colson <danieljamescolson@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/7345
|
|
We became a bit out of sync lately.
https://github.com/rubygems/rubygems/commit/6161a2610a
Notes:
Merged: https://github.com/ruby/ruby/pull/7345
|
|
https://github.com/rubygems/rubygems/commit/c8e024359f
Notes:
Merged: https://github.com/ruby/ruby/pull/7345
|
|
I did a bad thing (script that edits the Gemfile.lock directly) and
ended up with a Gemfile.lock that was completely missing some indirect
dependencies. While this is my fault and an error is reasonable, I
noticed that the error got progressively less friendly in recent
versions of bundler.
Something similar came up in https://github.com/rubygems/rubygems/issues/6210,
and this commit would have helped with that case as well
(although we've already handled this a different way with #6219).
Details:
---
Back on Bundler 2.2.23, a corrupt lockfile like this would cause a helpful error:
```
Unable to find a spec satisfying minitest (>= 5.1) in the set. Perhaps the lockfile is corrupted?
```
Bundler 2.3.26 gave a helpful warning:
```
Warning:
Your lockfile was created by an old Bundler that left some things out.
Because of the missing DEPENDENCIES, we can only install gems one at a time,
instead of installing 16 at a time.
You can fix this by adding the missing gems to your Gemfile, running bundle
install, and then removing the gems from your Gemfile.
The missing gems are:
* minitest depended upon by activesupport
```
But then continued on and crashed while trying to report the unmet
dependency:
```
--- ERROR REPORT TEMPLATE -------------------------------------------------------
NoMethodError: undefined method `full_name' for nil:NilClass
lib/bundler/installer/parallel_installer.rb:127:in `block (2 levels) in check_for_unmet_dependencies'
...
```
Bundler 2.4.0 and up crash as above when jobs=1, but crash
even harder when run in parallel:
```
--- ERROR REPORT TEMPLATE -------------------------------------------------------
fatal: No live threads left. Deadlock?
3 threads, 3 sleeps current:0x00007fa6b6704660 main thread:0x00007fa6b6704660
* #<Thread:0x000000010833b130 sleep_forever>
rb_thread_t:0x00007fa6b6704660 native:0x0000000108985600 int:0
* #<Thread:0x0000000108dea630@Parallel Installer Worker #0 tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:90 sleep_forever>
rb_thread_t:0x00007fa6b67f67c0 native:0x0000700009a62000 int:0
* #<Thread:0x0000000108dea4a0@Parallel Installer Worker #1 tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:90 sleep_forever>
rb_thread_t:0x00007fa6b67f63c0 native:0x0000700009c65000 int:0
<internal:thread_sync>:18:in `pop'
tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:42:in `deq'
...
```
Changes
---
This commit fixes the confusing thread deadlock crash by detecting if
dependencies are missing such that we'll never be able to enqueue. When
that happens we treat it as a failure so the install can finish.
That gets us back to the `NoMethodError`, which this commit fixes by
using a different warning in the case where no spec is found.
https://github.com/rubygems/rubygems/commit/d73001a21d
|
|
`trying to manually editing` doesn't seem quite grammatically
correct. We could change it to `trying to manually edit` (is that a
split infinitive?), but I don't think `trying to` adds much here so
I've removed it instead so `editing` is the verb.
For the list of dependencies, the wording before this commit seemed to
reverse the dependency. "B, depended on A" sounds like B depends on A
(or did in the past but doesn't anymore?), but that's not correct. I
think there's a missing word: "B, depended on by A", but I find "B,
dependency of A" a bit nicer.
https://github.com/rubygems/rubygems/commit/49a31257e3
|
|
Along the same lines as https://github.com/rubygems/rubygems/pull/5469,
this adds support for Ruby 3.2 and 3.3 platforms: `:ruby_32`, `mri_32`,
etc.
It also includes a spec that should help catch this earlier in the
future, failing if we don't support platforms for the version of Ruby
that is running the tests.
https://github.com/rubygems/rubygems/commit/7cd19d824d
|
|
by comparing the file names with full path.
Follows up https://github.com/rubygems/rubygems/commit/f444478eaccf
https://github.com/rubygems/rubygems/commit/9637a82d2e
|
|
Currently, the instructions and placeholder contradict each other.
The commit that introduced this placeholder (42bc4715d920e836c8499883d)
makes it clear that the placeholder should be replaced AFTER publishing
(i.e. once the author successfully claims the gem name on Rubygems), so
the placeholder should match.
https://github.com/rubygems/rubygems/commit/23e2dea828
|
|
Pick from https://github.com/rubygems/rubygems/commit/5ace20dbecfeaf09fba5f616193f3cfcff70ba00
Notes:
Merged: https://github.com/ruby/ruby/pull/7203
|
|
inline gemfile
https://github.com/rubygems/rubygems/commit/fa6e6ea95c
Notes:
Merged: https://github.com/ruby/ruby/pull/7203
|
|
Prior to this commit `bundle binstubs --standalone --all` would output a
warning about not being able to generate a standalone binstub for
bundler.
This warning predates the `--all` option, and I don't think it makes
sense in this context. The warning makes good sense when explicitly
trying to generate a bundler standalone binstub with `bundle binstubs
bundler --standalone`, since that command won't do what the user might
have expected. But `--all` is not specifically asking for bundler, and
having it report each time that the bundler binstubs could not be
generated does not seem particularly helpful. The only way to make that
warning go away would be to stop using `--standalone --all`.
This commit skips the warning when running with the `--all` option.
https://github.com/rubygems/rubygems/commit/e6a72e19eb
|
|
`with_clean_env` has been deprecated in `with_unbundled_env`. It already generates a deprecation warning when it uses, but this man page was still referring to it.
|
|
from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
Notes:
Merged: https://github.com/ruby/ruby/pull/7094
|
|
|
|
Let it deal with legacy gems with equivalent version and different
dependencies.
https://github.com/rubygems/rubygems/commit/b430babe97
|
|
without a value
https://github.com/rubygems/rubygems/commit/c242311158
|
|
https://github.com/rubygems/rubygems/commit/3bf8e59304
|
|
There was an extra word ("with") in this sentence.
https://github.com/rubygems/rubygems/commit/ad3de5126c
|
|
from https://github.com/rubygems/rubygems/commit/72fd3dd2096af16d797ad0cd8e0d2a8869e240b3
Notes:
Merged: https://github.com/ruby/ruby/pull/7025
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7020
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6987
|
|
Pick from https://github.com/rubygems/rubygems/commit/ba3adad4d80038ffd7bea015da2f11d3e8a2ff82
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
https://github.com/rubygems/rubygems/pull/6147 when --parseable and
--groups used
together
https://github.com/rubygems/rubygems/commit/3b0b95c509
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
explicit value.
- this is preparation for onboarding Rust based extension gem generator
https://github.com/rubygems/rubygems/commit/d32801bdbc
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
https://github.com/rubygems/rubygems/commit/17037fe32c
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
response. - adds Bundler#safe_load_marshal and Bundler::SAFE_MARSHAL_CLASSES listing safe classes to deserialize
https://github.com/rubygems/rubygems/commit/e947c608cc
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
If the conflict explanation includes empty ranges and version unions,
Pub Grub was crashing.
https://github.com/rubygems/rubygems/commit/eb360b77a2
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
requirements
https://github.com/rubygems/rubygems/commit/8f287479bc
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
Let Pub Grub decide how the constraint should be displayed.
https://github.com/rubygems/rubygems/commit/4f651b6429
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
Prerelease versions are already considered in a certain circumstance,
and the 'if updating' is redundant in the update case anyway.
https://github.com/rubygems/rubygems/commit/8d68635f8c
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
https://github.com/rubygems/rubygems/commit/390e3e1ebd
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|
|
Passing this flag allows bumping to the current version, even if that
version is prerelease. This works in concert with the current flags.
https://github.com/rubygems/rubygems/commit/a6409e3509
Notes:
Merged: https://github.com/ruby/ruby/pull/6966
|