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

8194 Коммитов

Автор SHA1 Сообщение Дата
Yuki Nishijima e5f5446528 Sync did_you_mean 2020-06-06 13:02:08 -04:00
Kir Shatrov a16fcb4205 Update docs in net/http.rb
...to reflect that Net::HTTP.start accepts keep_alive_timeout as an option.
2020-06-05 08:46:06 +09:00
Yuki Nishijima 77ba8a1d61 [rubygems/rubygems] Use LoadError#path to figure out the argument passed to 'require'
https://github.com/rubygems/rubygems/commit/5995394ec4
2020-06-05 07:32:42 +09:00
David Rodríguez 8739bc449f [rubygems/rubygems] Only run optional validations in packaging contexts
https://github.com/rubygems/rubygems/commit/f4fe949dfa
2020-06-05 07:32:42 +09:00
David Rodríguez e9c8066bd9 [rubygems/rubygems] Split validations into required and optional
https://github.com/rubygems/rubygems/commit/55b09a7aa2
2020-06-05 07:32:42 +09:00
David Rodríguez 455330143a [rubygems/rubygems] Mention that some validations only warn
https://github.com/rubygems/rubygems/commit/32c7f7f484
2020-06-05 07:32:42 +09:00
David Rodríguez 257e6cda32 [rubygems/rubygems] Reword `validate` method header
It's not so basic anymore, and it does much more than validating
required fields.

https://github.com/rubygems/rubygems/commit/3c0be4cdeb
2020-06-05 07:32:42 +09:00
David Rodríguez fc10f35f3d [rubygems/rubygems] Reuse `error` helper
https://github.com/rubygems/rubygems/commit/3a44b6f846
2020-06-05 07:32:42 +09:00
David Rodríguez 3cfe190099 [rubygems/rubygems] Move docs to a better place
https://github.com/rubygems/rubygems/commit/c87ac90528
2020-06-05 07:32:42 +09:00
David Rodríguez 15018f20dd [rubygems/rubygems] Deprecate some methods that are only there for compatibility
https://github.com/rubygems/rubygems/commit/b4948bda74
2020-06-05 07:32:42 +09:00
Olle Jonsson 5eacf4e72c Enable rubocop-performance StartWith cop
- this would keep the could-be-a-string-method matches few
2020-06-05 07:32:42 +09:00
David Rodríguez f8f5e7fadf [rubygems/rubygems] Respect files loaded from default gems before rubygems
https://github.com/rubygems/rubygems/commit/f3da3c1190
2020-06-05 07:32:42 +09:00
David Rodríguez b9d431a7b1 [rubygems/rubygems] Remove direct reference to PR
The code is quite different now, so I think the link might be even
confusing. If you want to know more, use git history.

https://github.com/rubygems/rubygems/commit/db872c7a18
2020-06-05 07:32:42 +09:00
David Rodríguez f0f138aa5d [rubygems/rubygems] Fix `$LOADED_FEATURES` cache sometimes not respected
In the cases where the initial manually `-I` path resolution succeeded,
we were passing a full path to the original require effectively skipping
the `$LOADED_FEATURES` cache. With this change, we _only_ do the
resolution when a matching requirable path is found in a default gem. In
that case, we skip activation of the default gem if we detect that the
required file will be picked up for a `-I` path.

https://github.com/rubygems/rubygems/commit/22ad5717c3
2020-06-05 07:32:42 +09:00
David Rodríguez 07dca5c02c [rubygems/rubygems] Extract a local outside the loop
https://github.com/rubygems/rubygems/commit/da1492e9d7
2020-06-05 07:32:42 +09:00
David Rodríguez 5aa5aad48a [rubygems/rubygems] Refactor `Gem.load_path_insert_index`
https://github.com/rubygems/rubygems/commit/ae95885dff
2020-06-05 07:32:42 +09:00
David Rodríguez a18e81d797 [rubygems/rubygems] Fix performance regression in `require`
Our check for `-I` paths should not go through all activated gems.

https://github.com/rubygems/rubygems/commit/00d98eb8a3
2020-06-05 07:32:42 +09:00
David Rodríguez 8c8364c84e Fix `ruby setup.rb` warnings
Currently we get the following warnings on `ruby setup.rb`:

```
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/exceptions.rb:281: warning: already initialized constant Gem::UnsatisfiableDepedencyError
/home/deivid/Code/rubygems/lib/rubygems/exceptions.rb:281: warning: previous definition of UnsatisfiableDepedencyError was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/user_interaction.rb:557: warning: already initialized constant Gem::StreamUI::ThreadedDownloadReporter::MUTEX
/home/deivid/Code/rubygems/lib/rubygems/user_interaction.rb:557: warning: previous definition of MUTEX was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/builder.rb:20: warning: already initialized constant Gem::Ext::Builder::CHDIR_MUTEX
/home/deivid/Code/rubygems/lib/rubygems/ext/builder.rb:20: warning: previous definition of CHDIR_MUTEX was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:14: warning: already initialized constant Gem::Ext::ExtConfBuilder::FileEntry
/home/deivid/Code/rubygems/lib/rubygems/ext/ext_conf_builder.rb:14: warning: previous definition of FileEntry was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:158: warning: already initialized constant Gem::Version::VERSION_PATTERN
/home/deivid/Code/rubygems/lib/rubygems/version.rb:158: warning: previous definition of VERSION_PATTERN was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:159: warning: already initialized constant Gem::Version::ANCHORED_VERSION_PATTERN
/home/deivid/Code/rubygems/lib/rubygems/version.rb:159: warning: previous definition of ANCHORED_VERSION_PATTERN was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:14: warning: already initialized constant Gem::Requirement::OPS
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:14: warning: previous definition of OPS was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:24: warning: already initialized constant Gem::Requirement::SOURCE_SET_REQUIREMENT
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:24: warning: previous definition of SOURCE_SET_REQUIREMENT was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:27: warning: already initialized constant Gem::Requirement::PATTERN_RAW
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:27: warning: previous definition of PATTERN_RAW was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:32: warning: already initialized constant Gem::Requirement::PATTERN
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:32: warning: previous definition of PATTERN was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:37: warning: already initialized constant Gem::Requirement::DefaultRequirement
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:37: warning: previous definition of DefaultRequirement was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:42: warning: already initialized constant Gem::Requirement::DefaultPrereleaseRequirement
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:42: warning: previous definition of DefaultPrereleaseRequirement was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:311: warning: already initialized constant Gem::Version::Requirement
/home/deivid/Code/rubygems/lib/rubygems/requirement.rb:311: warning: previous definition of Requirement was here
/home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/command.rb:626: warning: already initialized constant Gem::Command::HELP
/home/deivid/Code/rubygems/lib/rubygems/command.rb:626: warning: previous definition of HELP was here
  Successfully built RubyGem
  Name: bundler
  Version: 2.2.0.dev
  File: bundler-2.2.0.dev.gem
Bundler 2.2.0.dev installed
RubyGems 3.2.0.pre1 installed
Regenerating binstubs
Regenerating plugins

------------------------------------------------------------------------------

RubyGems installed the following executables:
	/home/deivid/.rbenv/versions/2.7.1/bin/gem
	/home/deivid/.rbenv/versions/2.7.1/bin/bundle

```

This is because the `$LOAD_PATH` entry added by `setup.rb` is relatively
and when the offending require happens, we're installing `bundler` and
have switched folders to `bundler/`. So the require fallsback to the
system rubygems.

To avoid that, add an absolute path to the `$LOAD_PATH`.

On jruby, somehow the $LOAD_PATH is manipulated so that we end up
requiring stuff inside the built package even if we have specified the
`-I` flag, so we get redefinition warnings anyways.

I'm not sure about the root cause, but relative requiring fixes it, and
it's faster anyways.
2020-06-05 07:32:42 +09:00
Josef Šimánek 464e094fce [rubygems/rubygems] Require ext only in validate_extension, mention gemspec in warning.
https://github.com/rubygems/rubygems/commit/5e31e1a421
2020-06-05 07:32:42 +09:00
Josef Šimánek b7adb10e39 [rubygems/rubygems] Add build warning when rake based extension is present, but rake is not specified as dependency.
https://github.com/rubygems/rubygems/commit/75fe5475b6
2020-06-05 07:32:42 +09:00
Olle Jonsson f61ee674d8 [rubygems/rubygems] Prefer start_with? and end_with? over regex.
- In one of the cases, filenames were checked for ending with "gz" -
    this is changed to check for ending with ".gz"
  - The change was made to make it even easier to read the code, and to
    match only from the start of the input (as opposed to start of the
    line)

https://github.com/rubygems/rubygems/commit/aac4290271
2020-06-05 07:32:42 +09:00
David Rodríguez dd5b918cbe [rubygems/rubygems] Fix template cleanup as well
https://github.com/rubygems/rubygems/commit/10cc79ee21
2020-06-05 07:32:42 +09:00
David Rodríguez e4d0cca24a [rubygems/rubygems] Fix installing template files with dots
https://github.com/rubygems/rubygems/commit/a82a77251d
2020-06-05 07:32:42 +09:00
David Rodríguez 1f9e684c77 [rubygems/rubygems] Remove unnecessary parenthesis
https://github.com/rubygems/rubygems/commit/97772bb066
2020-06-05 07:32:42 +09:00
bronzdoc 4edfc50283 [rubygems/rubygems] Make sure rubygems/package can be directly required reliably
https://github.com/rubygems/rubygems/commit/73c199b087
2020-06-05 07:32:42 +09:00
David Rodríguez 8e5fe13c08 [rubygems/rubygems] Delay `fileutils` loading to fix some warnings
If the following conditions are met:

* You have a default version of fileutils and a higher version of
fileutils installed as a regular gem. This case is common on ruby 2.6.

* You use a bundler generated binstub on a gem setup with a `Gemfile`
using the `gemspec` DSL.

Then `fileutils` redefinition warnings happen because of the following:

The gist of a bundler generated binstub is:

```ruby
require "bundler/setup"
load Gem.bin_path("rake", "rake")
```

First configure bundler, then load the requested gem.

When `require "bundler/setup"` is called under the previously mentioned
setup, `ext_conf_builder.rb` ends up being required because of the new
validation that gemspecs with rake extensions depend on `rake`. And that
loads the latest version of `fileutils` because of using "rubygems
monkeypatched require" that auto-chooses the latest version of default
gems.

After that, when `Gem.bin_path` gets called, `ext_conf_builder.rb` gets
required again, but this time already using "bundler's unmonkeypatched
require" which means the default version is chosen and thus the
redefinition warning happens.

The solution as usual is to lazily load `fileutils`.

https://github.com/rubygems/rubygems/commit/08d64e5f06
2020-06-05 07:32:42 +09:00
David Rodríguez 3660d14de6 [rubygems/rubygems] Make `rake package` log messages to stdout by default
The logging to $stderr is only happening due to a bug in `FileUtils`.
Logging messages are not errors.

https://github.com/rubygems/rubygems/commit/4d1b6659e6
2020-06-05 07:32:42 +09:00
David Rodríguez 28be8e0480 [rubygems/rubygems] Remove explicit `psych` activation
We don't need to explictly activate `psych` since `require` will take
care of that automatically.

We don't need to care about a minimum version either since the oldest
ruby we support at the moment ships with a `psych` version higher than
2.0.0.

https://github.com/rubygems/rubygems/commit/1ccf0912a1
2020-06-05 07:32:42 +09:00
Carsten Wirth 0ae5cd55e5 [rubygems/rubygems] Remove multiline gem specifications correctly
https://github.com/rubygems/rubygems/commit/8dca0ad56e
2020-06-05 07:32:42 +09:00
David Rodríguez c91915c183 [rubygems/rubygems] Fix typo
Co-authored-by: Carsten Wirth <carsten.wirth@homeday.de>

https://github.com/rubygems/rubygems/commit/c7c5ca68db
2020-06-05 07:32:42 +09:00
Jakob Krigovsky 1feffe12d4 Link to pre-filtered issue list 2020-06-05 07:32:42 +09:00
Jakob Krigovsky f9872c50cc Update links from rubygems/bundler to rubygems/rubygems 2020-06-05 07:32:42 +09:00
DEVRAJ KUMAR 9139acca66 [rubygems/rubygems] Fix `bundle info` not indicating a gem which has been deleted, unlike `bundle show`
Co-Authored-By: David Rodríguez <deivid.rodriguez@riseup.net>

https://github.com/rubygems/rubygems/commit/2851b40ffb
2020-06-05 07:32:42 +09:00
Frank Lam f0ae5ac313 [rubygems/rubygems] Display test_framework_hint before prompting for user selection
* On ubuntu-bundler/ubuntu_bundler3, longer lines of text get cut off
after ~50 characters
* Example: https://github.com/rubygems/rubygems/pull/3544/checks?check_run_id=703658810

https://github.com/rubygems/rubygems/commit/6a17847fd8
2020-06-05 07:32:42 +09:00
Frank Lam 154c2717da [rubygems/rubygems] Add user hint specs for bundle gem --test
https://github.com/rubygems/rubygems/commit/1d2292a88f
2020-06-05 07:32:42 +09:00
Frank Lam 58267fa59e [rubygems/rubygems] Conditionally display test framework help text
https://github.com/rubygems/rubygems/commit/8b51a86265
2020-06-05 07:32:42 +09:00
Frank Lam f75bd9bb8b [rubygems/rubygems] Fix bundle gem ignoring global gem.test config
* bundle gem previously ignored gem.test when passed empty -t flag,
defaulting to RSpec
* bundle gem will now ask user for test framework when passed empty -t
flag and gem.test is set to false, but will not overwrite gem.test
* thor option parsing for String types falls back to human name for nil,
so setting lazy_default to nil won't work
* c5161501e0/lib/thor/parser/options.rb (L224)

Default to Bundler.settings["gem.test"] for empty --test

Add shared examples for test framework to newgem spec

Add examples for empty --test flag to newgem spec

Simplify conditional for prompting test framework

Follow naming conventions for bundler settings

Add more descriptive test framework help text for bundle gem

Update man pages for bundler

https://github.com/rubygems/rubygems/commit/ab0785a09f
2020-06-05 07:32:42 +09:00
David Rodríguez 603edfcaa0 [rubygems/rubygems] Fix parallel installer race condition
The main thread may detect that installation has finished and thus
abort, while the thread responsible for installing the spec that failed
has not yet set the error message.

In this case, the install process will abort with a misterious "empty"
exception. I can be force the issue to reproduce by applying the
following patch:

```diff
diff --git a/bundler/lib/bundler/installer/parallel_installer.rb b/bundler/lib/bundler/installer/parallel_installer.rb
index 3dee9f4664..7827a11d11 100644
--- a/bundler/lib/bundler/installer/parallel_installer.rb
+++ b/bundler/lib/bundler/installer/parallel_installer.rb
@@ -166,6 +166,7 @@ module Bundler
         spec_install.post_install_message = message unless message.nil?
       else
         spec_install.state = :failed
+        sleep 1
         spec_install.error = "#{message}\n\n#{require_tree_for_spec(spec_install.spec)}"
       end
       Plugin.hook(Plugin::Events::GEM_AFTER_INSTALL, spec_install)
@@ -183,6 +184,7 @@ module Bundler
     end

     def finished_installing?
+      sleep 0.5
       @specs.all? do |spec|
         return true if spec.failed?
         spec.installed?
diff --git a/bundler/lib/bundler/rubygems_gem_installer.rb b/bundler/lib/bundler/rubygems_gem_installer.rb
index 8ce33c3953..c585cd517b 100644
--- a/bundler/lib/bundler/rubygems_gem_installer.rb
+++ b/bundler/lib/bundler/rubygems_gem_installer.rb
@@ -42,6 +42,7 @@ module Bundler
       return true unless source = @package.instance_variable_get(:@gem)
       return true unless source.respond_to?(:with_read_io)
       digest = source.with_read_io do |io|
+        raise BundlerError, "asdafss"
         digest = SharedHelpers.digest(:SHA256).new
         digest << io.read(16_384) until io.eof?
         io.rewind
```

and running `bin/rspec spec/install/gems/compact_index_spec.rb:892` will
result in

```
Run options:
  include {:locations=>{"./spec/install/gems/compact_index_spec.rb"=>[892]}}
  exclude {:jruby=>true, :readline=>false, :permissions=>false, :no_color_tty=>false, :ruby_repo=>false, :bundler=>"!= 2", :git=>"!= 2.26.2", :rubygems=>"!= 3.2.0.pre1", :realworld=>true, :sudo=>true}

Randomized with seed 59277
F

Retried examples: 0

Failures:

  1) compact index api checksum validation raises when the checksum is the wrong length
     Failure/Error: expect(err).to include("The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest")

       expected "" to include "The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest"

       Commands:
       $ /home/deivid/.rbenv/versions/2.7.1/bin/ruby -I/home/deivid/Code/rubygems/rubygems/bundler/spec -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/artifice/compact_index_wrong_gem_checksum.rb -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/hax.rb /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle install --verbose --retry 0
       Running `bundle install --retry 0 --verbose` with bundler 2.2.0.dev
       Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed, you added a new platform to your gemfile
       HTTP GET http://localgemserver.test/versions
       HTTP 200 OK http://localgemserver.test/versions
       Fetching gem metadata from http://localgemserver.test/
       Looking up gems ["rack"]
       HTTP GET http://localgemserver.test/info/rack
       HTTP 200 OK http://localgemserver.test/info/rack
       Resolving dependencies...
       Using bundler 2.2.0.dev
       0:  bundler (2.2.0.dev) from /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/specifications/bundler-2.2.0.dev.gemspec
       Fetching rack 1.0.0
       Installing rack 1.0.0
       Bundler::InstallError:
       /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:199:in `handle_error'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:102:in `call'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:78:in `call'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:271:in `install_in_parallel'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:197:in `install'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:92:in `block in run'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:12:in `block in lock'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `open'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `lock'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:73:in `run'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:25:in `install'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli/install.rb:66:in `run'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:261:in `block in install'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/settings.rb:121:in `temporary'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:260:in `install'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:30:in `dispatch'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:24:in `start'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:49:in `block in <top (required)>'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:37:in `<top (required)>'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `load'
         /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `<main>'
       # $? => 5
     # ./spec/install/gems/compact_index_spec.rb:892:in `block (3 levels) in <top (required)>'
     # ./spec/spec_helper.rb:104:in `block (4 levels) in <top (required)>'
     # ./spec/spec_helper.rb:104:in `block (3 levels) in <top (required)>'
     # ./spec/support/helpers.rb:352:in `block in with_gem_path_as'
     # ./spec/support/helpers.rb:366:in `without_env_side_effects'
     # ./spec/support/helpers.rb:348:in `with_gem_path_as'
     # ./spec/spec_helper.rb:101:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:73:in `block (2 levels) in <top (required)>'
     # ./spec/support/rubygems_ext.rb:90:in `load'
     # ./spec/support/rubygems_ext.rb:90:in `gem_load_and_activate'
     # ./spec/support/rubygems_ext.rb:18:in `gem_load'

Finished in 3.01 seconds (files took 0.14209 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/install/gems/compact_index_spec.rb:886 # compact index api checksum validation raises when the checksum is the wrong length

Randomized with seed 59277
```

Without any mention to `BundlerError` and the original "asdafss" message.

Fix the issue by making sure the error message is set before the ":failed"
status.

https://github.com/rubygems/rubygems/commit/83c8feb2c4
2020-06-05 07:32:42 +09:00
David Rodríguez b2a460ea3e [rubygems/rubygems] Centralize `with` and `without` setting
https://github.com/rubygems/rubygems/commit/5e854722e2
2020-06-05 07:32:42 +09:00
David Rodríguez 9422162f71 [rubygems/rubygems] Remove redundant substraction
https://github.com/rubygems/rubygems/commit/365b46329b
2020-06-05 07:32:42 +09:00
David Rodríguez 97d05c9db3 [rubygems/rubygems] Remove unnecessary option mutation
https://github.com/rubygems/rubygems/commit/744c03d144
2020-06-05 07:32:42 +09:00
David Rodríguez 332ecb0ad1 [rubygems/rubygems] Fix `bundle install` unintentionally saving configuration
Even if no explicit flags were passed to it.

https://github.com/rubygems/rubygems/commit/0598cbb68c
2020-06-05 07:32:42 +09:00
David Rodríguez 6b7a0c0ca7 [rubygems/rubygems] Move all `without` and `with` option handling together
https://github.com/rubygems/rubygems/commit/5e47879330
2020-06-05 07:32:42 +09:00
David Rodríguez 09602f4301 [rubygems/rubygems] Revert multi ruby{,gems} version requirement fix
This reverts commit 20f06d9e178211a3016133852b72d21ac7bb93ad, reversing
changes made to f2b30cb70df8a518bef0e8a64bbceb86234d922d.

https://github.com/rubygems/rubygems/commit/40802bdb18
2020-06-05 07:32:42 +09:00
David Rodríguez d52b1b0705 [rubygems/rubygems] Deprecate the `--no-deployment` flag
And never recommend it inside CLI messages.

This flag represents the default behaviour of `bundle install`, and the
only reason it exists is to "override" previous `--deployment` flag
usages which were silently remembered. So it should be deprecated just
like all the other flags the rely on remembering their values across
invocations.

https://github.com/rubygems/rubygems/commit/40e50b7190
2020-06-05 07:32:42 +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
Benoit Daloze 5a79d8e050 Fix error raised by Net::HTTPResponse#inflater if the block raises
* See https://bugs.ruby-lang.org/issues/13882#note-6
2020-05-31 12:48:14 +02:00
Jeremy Evans 04b5203a03 Convert ip addresses to canonical form in Resolv::DNS::Requester::UnconnectedUDP#sender
Otherwise, if the IP address given is not in canonical form, it
won't match, and Resolv will ignore it.

Fixes [Bug #16439]
2020-05-29 15:59:27 -07:00
Jeremy Evans 2ecfb88ee5 Correctly remove temporary directory if path yielded is mutated
Another approach would be to freeze the string, but that could
cause backwards compatibility issues.

Fixes [Bug #16918]
2020-05-29 07:06:46 -07:00
Jeremy Evans fa380208fe Improve documentation for Net::HTTPHeader#set_form [ci skip]
Fixes [Misc #16916]
2020-05-27 13:13:46 -07:00