aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* [rubygems/rubygems] Remove direct reference to PRDavid Rodríguez2020-06-051-1/+0
| | | | | | | 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
* [rubygems/rubygems] Fix `$LOADED_FEATURES` cache sometimes not respectedDavid Rodríguez2020-06-051-29/+24
| | | | | | | | | | | 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
* [rubygems/rubygems] Extract a local outside the loopDavid Rodríguez2020-06-051-1/+2
| | | | https://github.com/rubygems/rubygems/commit/da1492e9d7
* [rubygems/rubygems] Refactor `Gem.load_path_insert_index`David Rodríguez2020-06-052-14/+4
| | | | https://github.com/rubygems/rubygems/commit/ae95885dff
* [rubygems/rubygems] Fix performance regression in `require`David Rodríguez2020-06-053-1/+12
| | | | | | Our check for `-I` paths should not go through all activated gems. https://github.com/rubygems/rubygems/commit/00d98eb8a3
* Fix `ruby setup.rb` warningsDavid Rodríguez2020-06-056-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [rubygems/rubygems] Require ext only in validate_extension, mention gemspec ↵Josef Šimánek2020-06-051-2/+2
| | | | | | in warning. https://github.com/rubygems/rubygems/commit/5e31e1a421
* [rubygems/rubygems] Add build warning when rake based extension is present, ↵Josef Šimánek2020-06-052-0/+16
| | | | | | but rake is not specified as dependency. https://github.com/rubygems/rubygems/commit/75fe5475b6
* [rubygems/rubygems] Prefer start_with? and end_with? over regex.Olle Jonsson2020-06-054-5/+7
| | | | | | | | | | - 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
* [rubygems/rubygems] Fix template cleanup as wellDavid Rodríguez2020-06-051-1/+1
| | | | https://github.com/rubygems/rubygems/commit/10cc79ee21
* [rubygems/rubygems] Fix installing template files with dotsDavid Rodríguez2020-06-051-1/+1
| | | | https://github.com/rubygems/rubygems/commit/a82a77251d
* [rubygems/rubygems] Remove unnecessary parenthesisDavid Rodríguez2020-06-051-2/+2
| | | | https://github.com/rubygems/rubygems/commit/97772bb066
* [rubygems/rubygems] Make sure rubygems/package can be directly required reliablybronzdoc2020-06-051-0/+1
| | | | https://github.com/rubygems/rubygems/commit/73c199b087
* [rubygems/rubygems] Delay `fileutils` loading to fix some warningsDavid Rodríguez2020-06-051-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [rubygems/rubygems] Make `rake package` log messages to stdout by defaultDavid Rodríguez2020-06-051-0/+1
| | | | | | | 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
* [rubygems/rubygems] Remove explicit `psych` activationDavid Rodríguez2020-06-051-7/+0
| | | | | | | | | | | 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
* [rubygems/rubygems] Remove multiline gem specifications correctlyCarsten Wirth2020-06-051-2/+13
| | | | https://github.com/rubygems/rubygems/commit/8dca0ad56e
* [rubygems/rubygems] Fix typoDavid Rodríguez2020-06-051-1/+1
| | | | | | Co-authored-by: Carsten Wirth <carsten.wirth@homeday.de> https://github.com/rubygems/rubygems/commit/c7c5ca68db
* Link to pre-filtered issue listJakob Krigovsky2020-06-051-1/+1
|
* Update links from rubygems/bundler to rubygems/rubygemsJakob Krigovsky2020-06-054-8/+8
|
* [rubygems/rubygems] Fix `bundle info` not indicating a gem which has been ↵DEVRAJ KUMAR2020-06-051-3/+6
| | | | | | | | deleted, unlike `bundle show` Co-Authored-By: David Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/2851b40ffb
* [rubygems/rubygems] Display test_framework_hint before prompting for user ↵Frank Lam2020-06-051-2/+3
| | | | | | | | | | 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
* [rubygems/rubygems] Add user hint specs for bundle gem --testFrank Lam2020-06-051-5/+5
| | | | https://github.com/rubygems/rubygems/commit/1d2292a88f
* [rubygems/rubygems] Conditionally display test framework help textFrank Lam2020-06-051-3/+16
| | | | https://github.com/rubygems/rubygems/commit/8b51a86265
* [rubygems/rubygems] Fix bundle gem ignoring global gem.test configFrank Lam2020-06-052-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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 * https://github.com/erikhuda/thor/blob/c5161501e0cfac7a8c5b838a9c6084c275f03c0d/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
* [rubygems/rubygems] Fix parallel installer race conditionDavid Rodríguez2020-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [rubygems/rubygems] Centralize `with` and `without` settingDavid Rodríguez2020-06-051-6/+2
| | | | https://github.com/rubygems/rubygems/commit/5e854722e2
* [rubygems/rubygems] Remove redundant substractionDavid Rodríguez2020-06-051-1/+1
| | | | https://github.com/rubygems/rubygems/commit/365b46329b
* [rubygems/rubygems] Remove unnecessary option mutationDavid Rodríguez2020-06-051-5/+2
| | | | https://github.com/rubygems/rubygems/commit/744c03d144
* [rubygems/rubygems] Fix `bundle install` unintentionally saving configurationDavid Rodríguez2020-06-051-8/+6
| | | | | | Even if no explicit flags were passed to it. https://github.com/rubygems/rubygems/commit/0598cbb68c
* [rubygems/rubygems] Move all `without` and `with` option handling togetherDavid Rodríguez2020-06-051-9/+9
| | | | https://github.com/rubygems/rubygems/commit/5e47879330
* [rubygems/rubygems] Revert multi ruby{,gems} version requirement fixDavid Rodríguez2020-06-052-71/+13
| | | | | | | This reverts commit 20f06d9e178211a3016133852b72d21ac7bb93ad, reversing changes made to f2b30cb70df8a518bef0e8a64bbceb86234d922d. https://github.com/rubygems/rubygems/commit/40802bdb18
* [rubygems/rubygems] Deprecate the `--no-deployment` flagDavid Rodríguez2020-06-051-0/+14
| | | | | | | | | | | | 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
* [rubygems/rubygems] Don't recommend the `--no-deployment` flagDavid Rodríguez2020-06-052-6/+2
| | | | https://github.com/rubygems/rubygems/commit/b368c7e0c4
* Fix error raised by Net::HTTPResponse#inflater if the block raisesBenoit Daloze2020-05-311-2/+3
| | | | * See https://bugs.ruby-lang.org/issues/13882#note-6
* Convert ip addresses to canonical form in ↵Jeremy Evans2020-05-291-0/+1
| | | | | | | | | 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]
* Correctly remove temporary directory if path yielded is mutatedJeremy Evans2020-05-291-1/+1
| | | | | | | Another approach would be to freeze the string, but that could cause backwards compatibility issues. Fixes [Bug #16918]
* Improve documentation for Net::HTTPHeader#set_form [ci skip]Jeremy Evans2020-05-271-16/+36
| | | | Fixes [Misc #16916]
* lib/open3.rb: make sure that pipes are closedYusuke Endoh2020-05-271-0/+5
| | | | | | | | | | | | Attempting to invoke a non-existent command led to the leak of fds. http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T140004Z.log.html.gz ``` [ 9101/20195] TestGemExtCmakeBuilder#test_self_build = 0.01 sLeaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 7 : #<IO:fd 7> Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 10 : #<IO:fd 10> Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 11 : #<IO:fd 11> Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 12 : #<IO:fd 12> ```
* [ruby/rdoc] Add frozen string literal supportDavid Rodríguez2020-05-241-1/+1
| | | | https://github.com/ruby/rdoc/commit/daac9d0471
* [ruby/rdoc] Add instance_methods because instance_method_list should be obsoleteaycabta2020-05-241-2/+10
| | | | https://github.com/ruby/rdoc/commit/9b1da32254
* [ruby/rdoc] Fixed inverted CSS for note-list and label-listNobuyoshi Nakada2020-05-241-1/+1
| | | | https://github.com/ruby/rdoc/commit/a13d6439da
* [ruby/rdoc] Delegate ERB args correctlyaycabta2020-05-242-4/+4
| | | | https://github.com/ruby/rdoc/commit/82ff37a822
* [ruby/rdoc] Treat multiple Ruby methods calling the same C method as aliasesJeremy Evans2020-05-243-65/+76
| | | | | | | | | | | | | | | | | | | | Previously, only calls to rb_define_alias were treated as aliases. This treats calls to rb_define_method with the same C function as aliases, with the first function defined being the primary method. This move the dedup code from the C parser to AnyMethod, and has AnyMethod look in its aliases to find the call_seq. Switch the deduplication code to remove lines matching one of the other aliases, instead of only keeping lines matching the current alias. The previous approach could eliminate all call_seq lines in cases where no line matched. This was necessary to pass tests when call_seq does deduplication by default. The only change to the darkfish template is to not perform unnecessary work by deduplicating twice. https://github.com/ruby/rdoc/commit/0ead78616b
* [ruby/rdoc] Process crossref before tidylinkaycabta2020-05-242-8/+29
| | | | | | | The crossref must be linked before tidylink because Klass.method[:sym] will be processed as a tidylink first and will be broken. https://github.com/ruby/rdoc/commit/0f47baf6d2
* [ruby/rdoc] Escape method names in HTMLNate Matykiewicz2020-05-241-1/+1
| | | | | | | | | | | | | | | The following is invalid HTML: <a href="Array.html#method-i-3C-3C"><code><<</code></a></p> Incorrect: <code><<</code> Correct: <code>&lt;&lt;</code> Fixes #761 https://github.com/ruby/rdoc/commit/b120d087f6
* Time.xmlschema: Clarify error and docsHenrik Nyh and Tomas Skogberg2020-05-231-6/+6
| | | | It parses a (date)time, not a date.
* Remove a bunch of files that were deleted upstreamDavid Rodríguez2020-05-238-253/+0
|
* Revert a commit miss in "Fixed potential memory leak"Nobuyoshi Nakada2020-05-221-1/+0
| | | | | This reverts an unintentional change in commit 79d9528ddca1dfe2dd99287dc88fd7c2b30f7137.
* Sync Bundler PR #3624 with HEAD commitsHiroshi SHIBATA2020-05-228-52/+37
|