diff --git a/.github/workflows/daily-bundler.yml b/.github/workflows/daily-bundler.yml index 7699d5f2206f..a017eb3f92f4 100644 --- a/.github/workflows/daily-bundler.yml +++ b/.github/workflows/daily-bundler.yml @@ -7,9 +7,7 @@ on: jobs: daily_bundler: runs-on: ubuntu-18.04 - strategy: - matrix: - ruby: [ ruby-head ] + if: github.repository == 'rubygems/rubygems' env: RGV: .. steps: @@ -18,7 +16,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: ${{ matrix.ruby }} + ruby-version: ruby-head bundler: none - name: Show Ruby version @@ -37,7 +35,7 @@ jobs: - name: Get previous status if: always() - run: echo "::set-env name=OLD_STATUS::$(curl -sS 'https://api.github.com/repos/rubygems/rubygems/actions/runs?event=schedule&branch=master' | jq '.workflow_runs | map(select(.workflow_id == 982279)) | .[0].conclusion')" + run: echo "OLD_STATUS=$(curl -sS 'https://api.github.com/repos/rubygems/rubygems/actions/workflows/daily-bundler.yml/runs?event=schedule&branch=master' | jq '.workflow_runs | .[1].conclusion')" >> $GITHUB_ENV - uses: 8398a7/action-slack@v3 with: diff --git a/.github/workflows/daily.yml b/.github/workflows/daily-rubygems.yml similarity index 73% rename from .github/workflows/daily.yml rename to .github/workflows/daily-rubygems.yml index d280fdafa83b..2b65ce327848 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily-rubygems.yml @@ -1,13 +1,15 @@ -name: daily +name: daily-rubygems on: schedule: - cron: '0 0 * * *' jobs: - daily: + daily_rubygems: runs-on: ubuntu-18.04 + if: github.repository == 'rubygems/rubygems' strategy: + fail-fast: false matrix: ruby: [ ruby-head, truffleruby-head ] env: @@ -31,7 +33,7 @@ jobs: - name: Get previous status if: always() - run: echo "::set-env name=OLD_STATUS::$(curl -sS 'https://api.github.com/repos/rubygems/rubygems/actions/runs?event=schedule&branch=master' | jq '.workflow_runs | map(select(.workflow_id == 716807)) | .[0].conclusion')" + run: echo "OLD_STATUS=$(curl -sS 'https://api.github.com/repos/rubygems/rubygems/actions/workflows/daily-rubygems.yml/runs?event=schedule&branch=master' | jq '.workflow_runs | .[1].conclusion')" >> $GITHUB_ENV - uses: 8398a7/action-slack@v3 with: diff --git a/.github/workflows/install-rubygems.yml b/.github/workflows/install-rubygems.yml new file mode 100644 index 000000000000..124fafa38300 --- /dev/null +++ b/.github/workflows/install-rubygems.yml @@ -0,0 +1,73 @@ +name: install-rubygems + +on: + pull_request: + + push: + branches: + - master + - 3.2 + +jobs: + install_rubygems_ubuntu: + runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.2, jruby-9.2.11.1 ] + openssl: [true, false] + steps: + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler: none + - name: Install rubygems + run: ruby -Ilib -S rake install 2> errors.txt + - name: Check rubygems install produced no warnings + run: test ! -s errors.txt || (cat errors.txt && exit 1) + - name: Run a local rubygems command + run: gem list bundler + env: + RUBYOPT: -Itest/rubygems/fake_certlib + if: matrix.openssl == false + - name: Run a local rubygems command + run: gem list bundler + if: matrix.openssl == true + - name: Run a remote rubygems command + run: gem outdated + if: matrix.openssl == true + - name: Run bundler installed as a default gem + run: bundle --version + - name: Check bundler man pages were installed and are properly picked up + run: bundle install --help | grep -q BUNDLE-INSTALL + - name: Check bundler fallback man pages are properly picked up + run: sudo rm $(which man) && bundle install --help + - name: Build bundler + run: gem build bundler.gemspec + working-directory: ./bundler + - name: Install built bundler + run: gem install bundler-*.gem --verbose > output.txt + working-directory: ./bundler + - name: Check bundler install didn't hit the network + run: if grep -q 'GET http' output.txt; then false; else true; fi + working-directory: ./bundler + timeout-minutes: 10 + + install_rubygems_windows: + runs-on: windows-2019 + steps: + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7.2 + bundler: none + - name: Install rubygems + run: ruby setup.rb + shell: bash + - name: Check installation didn't modify gemspec line feeds + run: ruby -Ilib -e'exit 1 if File.readlines("bundler/bundler.gemspec").first.end_with?("\r\n")' + shell: bash + timeout-minutes: 10 diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml deleted file mode 100644 index 3ab105c768f0..000000000000 --- a/.github/workflows/install.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: install - -on: - pull_request: - - push: - branches: - - master - - 3.2 - -jobs: - install: - runs-on: ubuntu-18.04 - strategy: - matrix: - ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.1, jruby-9.2.11.1 ] - openssl: [true, false] - steps: - - uses: actions/checkout@v2 - - name: Setup ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - bundler: none - - name: Install rubygems - run: ruby -Ilib -S rake install 2> errors.txt - - name: Check rubygems install produced no warnings - run: test ! -s errors.txt || (cat errors.txt && exit 1) - - name: Simulate no openssl - run: ruby util/remove_openssl.rb - if: matrix.openssl == false - - name: Run a local rubygems command - run: gem list bundler - - name: Run a remote rubygems command - run: gem outdated - if: matrix.openssl == true - - name: Run bundler installed as a default gem - run: bundle --version - - name: Check bundler man pages were installed and are properly picked up - run: bundle install --help | grep -q BUNDLE-INSTALL - timeout-minutes: 10 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos-rubygems.yml similarity index 80% rename from .github/workflows/macos.yml rename to .github/workflows/macos-rubygems.yml index 6b4af2892b4a..aa5a814cdc30 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos-rubygems.yml @@ -1,4 +1,4 @@ -name: macos +name: macos_rubygems on: pull_request: @@ -9,11 +9,12 @@ on: - 3.2 jobs: - macos: + macos_rubygems: runs-on: macos-10.15 strategy: + fail-fast: false matrix: - ruby: [ 2.4.10, 2.5.8, 2.6.6, 2.7.1 ] + ruby: [ 2.4.10, 2.5.8, 2.6.6, 2.7.2 ] steps: - uses: actions/checkout@v2 - name: Setup ruby diff --git a/.github/workflows/monthly.yml b/.github/workflows/monthly.yml deleted file mode 100644 index f478cc7f53b2..000000000000 --- a/.github/workflows/monthly.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: monthly - -on: - schedule: - - cron: '0 0 1 * *' - -jobs: - run: - name: Refresh month of man pages - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: 2.7.1 - bundler: none - - - name: Install ronn - run: gem install ronn:'~> 0.7.3' - - - name: Update month - run: bin/rake man:build - working-directory: ./bundler - - - name: Set up git config - run: | - git config user.name "The Bundler Bot" - git config user.email "bot@bundler.io" - - - name: Commit and push the changes - run: | - git add bundler/man/* - git commit -m "Bump man pages month" - git push origin master - - timeout-minutes: 15 diff --git a/.github/workflows/older-rubygems-bundler.yml b/.github/workflows/older-rubygems-bundler.yml new file mode 100644 index 000000000000..38c5954b893e --- /dev/null +++ b/.github/workflows/older-rubygems-bundler.yml @@ -0,0 +1,67 @@ +name: older-rubygems-bundler + +on: + pull_request: + paths: + - bundler/** + - .github/workflows/older-rubygems-bundler.yml + - .rubocop_bundler.yml + + push: + branches: + - master + - 3.2 + +jobs: + older_rubygems_bundler: + runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.2 ] + rgv: [ v2.5.2, v2.6.14, v2.7.10, v3.0.8, v3.1.4 ] + bundler: [ '' ] + exclude: + - { bundler: '', ruby: 2.4.10, rgv: v2.5.2 } + - { bundler: '', ruby: 2.5.8, rgv: v2.5.2 } + - { bundler: '', ruby: 2.5.8, rgv: v2.6.14 } + - { bundler: '', ruby: 2.6.6, rgv: v2.5.2 } + - { bundler: '', ruby: 2.6.6, rgv: v2.6.14 } + - { bundler: '', ruby: 2.6.6, rgv: v2.7.10 } + - { bundler: '', ruby: 2.7.2, rgv: v2.5.2 } + - { bundler: '', ruby: 2.7.2, rgv: v2.6.14 } + - { bundler: '', ruby: 2.7.2, rgv: v2.7.10 } + - { bundler: '', ruby: 2.7.2, rgv: v3.0.8 } + include: + - { bundler: 3.0.0, ruby: 2.4.10, rgv: v3.1.4 } + - { bundler: 3.0.0, ruby: 2.5.8, rgv: v3.1.4 } + - { bundler: 3.0.0, ruby: 2.6.6, rgv: v3.1.4 } + - { bundler: 3.0.0, ruby: 2.7.2, rgv: v3.1.4 } + env: + RGV: ${{ matrix.rgv }} + RUBYOPT: --disable-gems + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler: none + - name: Install graphviz + run: sudo apt-get install graphviz -y + if: matrix.bundler == '' + - name: Replace version + run: BUNDLER_SPEC_SUB_VERSION=${{ matrix.bundler }} bin/rake override_version + if: matrix.bundler != '' + working-directory: ./bundler + - name: Prepare dependencies + run: | + bin/rake spec:parallel_deps + working-directory: ./bundler + - name: Run Test + run: | + bin/rake spec:all + working-directory: ./bundler + timeout-minutes: 60 diff --git a/.github/workflows/ruby-core.yml b/.github/workflows/ruby-core.yml index 450a095d28d2..d6fb35fa87a3 100644 --- a/.github/workflows/ruby-core.yml +++ b/.github/workflows/ruby-core.yml @@ -12,6 +12,7 @@ jobs: ruby_core: runs-on: ubuntu-18.04 strategy: + fail-fast: false matrix: target: [rubygems, bundler] steps: @@ -21,7 +22,7 @@ jobs: ruby-version: head bundler: none - name: Save latest buildable revision to environment - run: echo "::set-env name=REF::$(ruby -v | cut -d')' -f1 | cut -d' ' -f5)" + run: echo "REF=$(ruby -v | cut -d')' -f1 | cut -d' ' -f5)" >> $GITHUB_ENV - uses: actions/checkout@v2 with: repository: ruby/ruby diff --git a/.github/workflows/ubuntu-bundler.yml b/.github/workflows/ubuntu-bundler.yml index 181d016e8b98..80c5c3466b4c 100644 --- a/.github/workflows/ubuntu-bundler.yml +++ b/.github/workflows/ubuntu-bundler.yml @@ -12,42 +12,17 @@ jobs: ubuntu_bundler: runs-on: ubuntu-18.04 strategy: + fail-fast: false matrix: - ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.1 ] - rgv: [ v2.5.2, v2.6.14, v2.7.10, v3.0.8, v3.1.4, .. ] - bundler: [ '' ] + ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.2 ] + bundler: [ '', 3.0.0 ] exclude: - - { bundler: '', ruby: 2.4.10, rgv: v2.5.2 } - - { bundler: '', ruby: 2.5.8, rgv: v2.5.2 } - - { bundler: '', ruby: 2.5.8, rgv: v2.6.14 } - - { bundler: '', ruby: 2.6.6, rgv: v2.5.2 } - - { bundler: '', ruby: 2.6.6, rgv: v2.6.14 } - - { bundler: '', ruby: 2.6.6, rgv: v2.7.10 } - - { bundler: '', ruby: 2.7.1, rgv: v2.5.2 } - - { bundler: '', ruby: 2.7.1, rgv: v2.6.14 } - - { bundler: '', ruby: 2.7.1, rgv: v2.7.10 } - - { bundler: '', ruby: 2.7.1, rgv: v3.0.8 } - include: - - { bundler: 3.0.0, ruby: 2.4.10, rgv: v3.1.4 } - - { bundler: 3.0.0, ruby: 2.4.10, rgv: .. } - - { bundler: 3.0.0, ruby: 2.5.8, rgv: v3.1.4 } - - { bundler: 3.0.0, ruby: 2.5.8, rgv: .. } - - { bundler: 3.0.0, ruby: 2.6.6, rgv: v3.1.4 } - - { bundler: 3.0.0, ruby: 2.6.6, rgv: .. } - - { bundler: 3.0.0, ruby: 2.7.1, rgv: v3.1.4 } - - { bundler: 3.0.0, ruby: 2.7.1, rgv: .. } + - { bundler: 3.0.0, ruby: 2.3.8 } env: - RGV: ${{ matrix.rgv }} + RGV: .. RUBYOPT: --disable-gems steps: - uses: actions/checkout@v2 - with: - fetch-depth: 0 - if: matrix.rgv != '..' - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - if: matrix.rgv == '..' - name: Setup ruby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/ubuntu-lint.yml b/.github/workflows/ubuntu-lint.yml index c769861b57b1..bbadc38baf93 100644 --- a/.github/workflows/ubuntu-lint.yml +++ b/.github/workflows/ubuntu-lint.yml @@ -16,7 +16,7 @@ jobs: - name: Setup ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 2.7.1 + ruby-version: 2.7.2 bundler: none - name: Install Dependencies run: rake setup diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu-rubygems.yml similarity index 66% rename from .github/workflows/ubuntu.yml rename to .github/workflows/ubuntu-rubygems.yml index 504bff661f81..738412161d6e 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu-rubygems.yml @@ -1,4 +1,4 @@ -name: ubuntu +name: ubuntu-rubygems on: pull_request: @@ -9,11 +9,14 @@ on: - 3.2 jobs: - ubuntu: + ubuntu_rubygems: runs-on: ubuntu-18.04 strategy: + fail-fast: false matrix: - ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.1, jruby-9.2.11.1 ] + ruby: [ 2.3.8, 2.4.10, 2.5.8, 2.6.6, 2.7.2, jruby-9.2.11.1, truffleruby-20.2.0 ] + env: + TRUFFLERUBYOPT: "--experimental-options --testing-rubygems" steps: - uses: actions/checkout@v2 - name: Setup ruby diff --git a/.github/workflows/windows-bundler.yml b/.github/workflows/windows-bundler.yml index 53b52038994b..6deb5a9a1985 100644 --- a/.github/workflows/windows-bundler.yml +++ b/.github/workflows/windows-bundler.yml @@ -16,6 +16,7 @@ jobs: RGV: .. strategy: + fail-fast: false matrix: ruby: [ '2.4', '2.5', '2.6', '2.7' ] diff --git a/.github/workflows/windows.yml b/.github/workflows/windows-rubygems.yml similarity index 81% rename from .github/workflows/windows.yml rename to .github/workflows/windows-rubygems.yml index c6cae290b508..a748bc5e3337 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows-rubygems.yml @@ -1,4 +1,4 @@ -name: windows +name: windows_rubygems on: pull_request: @@ -9,11 +9,12 @@ on: - 3.2 jobs: - windows: + windows_rubygems: runs-on: windows-2019 strategy: + fail-fast: false matrix: - ruby: [ 2.4.10, 2.5.8, 2.6.6, 2.7.1 ] + ruby: [ 2.4.10, 2.5.8, 2.6.6, 2.7.2 ] steps: - uses: actions/checkout@v2 - name: Setup ruby diff --git a/.rubocop.yml b/.rubocop.yml index af900130ad53..f46afbc75d29 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -125,3 +125,13 @@ Style/BlockDelimiters: Style/PercentLiteralDelimiters: Enabled: true + +# Having these make it easier to *not* forget to add one when adding a new +# value and you can simply copy the previous line. +Style/TrailingCommaInArrayLiteral: + Enabled: true + EnforcedStyleForMultiline: comma + +Style/TrailingCommaInHashLiteral: + Enabled: true + EnforcedStyleForMultiline: comma diff --git a/History.txt b/History.txt index ae6a566b9b96..6ecb6dbfa72d 100644 --- a/History.txt +++ b/History.txt @@ -1,11 +1,63 @@ -=== 3.2.0.rc.2 / 2020-10-8 +=== 3.2.0 / 2020-12-7 -Minor enhancements: +Enhancements: +* Do not override Kernel#warn when there is no need. Pull request #4075 by + eregon +* Update endpoint of gem signin command. Pull request #3840 by sonalkr132 +* Omit deprecated commands from command help output. Pull request #4023 by + landongrindheim +* Suggest alternatives in `gem query` deprecation. Pull request #4021 by + landongrindheim +* Lazily load `time`, `cgi`, and `zlib`. Pull request #4010 by + deivid-rodriguez * Don't hit the network when installing dependencyless local gemspec. Pull request #3968 by deivid-rodriguez * Add `--force` option to `gem sources` command. Pull request #3956 by andy-smith-msm +* Lazily load `openssl`. Pull request #3850 by deivid-rodriguez +* Pass more information when comparing platforms. Pull request #3817 by + eregon + +Bug fixes: + +* Use better owner & group for files in rubygems package. Pull request + #4065 by deivid-rodriguez +* Improve gem build -C flag. Pull request #3983 by bronzdoc +* Handle unexpected behavior with URI#merge and subpaths missing trailing + slashes. Pull request #3123 by drcapulet +* Add missing `fileutils` require in rubygems installer. Pull request + #4036 by deivid-rodriguez +* Fix `--platform` option to `gem specification` being ignored. Pull + request #4043 by deivid-rodriguez +* Expose `--no-minimal-deps` flag to install the latest version of + dependencies. Pull request #4030 by deivid-rodriguez +* Fix "stack level too deep" error when overriding `Warning.warn`. Pull + request #3987 by eregon +* Append '.gemspec' extension only when it is not present. Pull request + #3988 by voxik +* Install to correct plugins dir when using `--build-root`. Pull request + #3972 by deivid-rodriguez +* Fix `--build-root` flag under Windows. Pull request #3975 by + deivid-rodriguez +* Fix `typo_squatting?` false positive for `rubygems.org` itself. Pull + request #3951 by andy-smith-msm +* Make `--default` and `--install-dir` options to `gem install` play nice + together. Pull request #3906 by deivid-rodriguez + +Deprecations: + +* Deprecate server command. Pull request #3868 by bronzdoc + +Performance: + +* Don't change ruby process CWD when building extensions. Pull request + #3498 by deivid-rodriguez + +=== 3.2.0.rc.2 / 2020-10-8 + +Minor enhancements: + * Make --dry-run flag consistent across rubygems commands. Pull request #3867 by bronzdoc * Disallow downgrades to too old versions. Pull request #3566 by @@ -23,16 +75,6 @@ Minor enhancements: Bug fixes: -* Append '.gemspec' extension only when it is not present.. Pull request - #3988 by voxik -* Install to correct plugins dir when using `--build-root`. Pull request - #3972 by deivid-rodriguez -* Fix `--build-root` flag under Windows. Pull request #3975 by - deivid-rodriguez -* Fix `typo_squatting?` false positive for `rubygems.org` itself. Pull - request #3951 by andy-smith-msm -* Make `--default` and `--install-dir` options to `gem install` play nice - together. Pull request #3906 by deivid-rodriguez * Add missing fileutils require. Pull request #3911 by deivid-rodriguez * Fix false positive warning on Windows when PATH has `File::ALT_SEPARATOR`. Pull request #3829 by deivid-rodriguez @@ -45,8 +87,6 @@ Bug fixes: Performance: -* Don't change ruby process CWD when building extensions. Pull request - #3498 by deivid-rodriguez * Avoid duplicated generation of APISpecification objects. Pull request #3940 by mame * Eval defaults with frozen_string_literal: true. Pull request #3847 by @@ -494,20 +534,6 @@ Breaking changes: #2685 by SHIBATA Hiroshi. * Removing yaml require. Pull request #2538 by Luciano Sousa. -Style changes: - -* Enable `Layout/SpaceInsideParens` rubocop cop. Pull request #2630 by - David Rodríguez. -* Remove some extra empty lines from the repo. Pull request #2669 by David - Rodríguez. -* Enable Style/EmptyLinesAroundClassBody rubocop cop. Pull request #2636 - by David Rodríguez. -* Enable Style/BlockDelimiters rubocop cop. Pull request #2640 by David - Rodríguez. -* Enable Layout/SpaceAroundOperators rubocop cop. Pull request #2642 by - David Rodríguez. -* Rubocop 0.71. Pull request #2785 by David Rodríguez. - === 3.0.8 / 2020-02-19 Bug fixes: @@ -956,29 +982,6 @@ Breaking changes: * [BudlerVersionFinder] set .filter! and .compatible? to match only on major versions. Pull request #2515 by Colby Swandale. -Style changes: - -* Add Rubocop. Pull request #2250 by Colby Swandale. -* Removed explicitly declaration of thread library. Pull request #2324 by - SHIBATA Hiroshi. -* Remove Trailing whitespace with rubocop. Pull request #2394 by SHIBATA - Hiroshi. -* Update rubocop and also use correct pessimistic version. Pull request - #2404 by Colby Swandale. -* Enable more rubocop rules. Pull request #2435 by Ellen Marie Dash. -* Fix and lock rubocop. Pull request #2465 by David Rodríguez. -* Add a rubocop binstub. Pull request #2468 by David Rodríguez. -* Restore the `rubocop` task. Pull request #2470 by David Rodríguez. -* Remove trailing blank lines. Pull request #2471 by David Rodríguez. -* Remove empty lines around method bodies. Pull request #2473 by David - Rodríguez. -* Enable Style/MethodDefParentheses in Rubocop. Pull request #2478 by - Colby Swandale. -* Enable Style/MultilineIfThen in Rubocop. Pull request #2479 by Luis - Sagastume. -* Remove trailing 'then' from generated code. Pull request #2480 by Luis - Sagastume. - === 2.7.10 / 2019-06-14 Minor enhancements: diff --git a/Manifest.txt b/Manifest.txt index 87f64191aadf..e2b4b39294f8 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -89,6 +89,32 @@ bundler/lib/bundler/installer/standalone.rb bundler/lib/bundler/lazy_specification.rb bundler/lib/bundler/lockfile_generator.rb bundler/lib/bundler/lockfile_parser.rb +bundler/lib/bundler/man/.document +bundler/lib/bundler/man/bundle-add.1.ronn +bundler/lib/bundler/man/bundle-binstubs.1.ronn +bundler/lib/bundler/man/bundle-cache.1.ronn +bundler/lib/bundler/man/bundle-check.1.ronn +bundler/lib/bundler/man/bundle-clean.1.ronn +bundler/lib/bundler/man/bundle-config.1.ronn +bundler/lib/bundler/man/bundle-doctor.1.ronn +bundler/lib/bundler/man/bundle-exec.1.ronn +bundler/lib/bundler/man/bundle-gem.1.ronn +bundler/lib/bundler/man/bundle-info.1.ronn +bundler/lib/bundler/man/bundle-init.1.ronn +bundler/lib/bundler/man/bundle-inject.1.ronn +bundler/lib/bundler/man/bundle-install.1.ronn +bundler/lib/bundler/man/bundle-list.1.ronn +bundler/lib/bundler/man/bundle-lock.1.ronn +bundler/lib/bundler/man/bundle-open.1.ronn +bundler/lib/bundler/man/bundle-outdated.1.ronn +bundler/lib/bundler/man/bundle-platform.1.ronn +bundler/lib/bundler/man/bundle-pristine.1.ronn +bundler/lib/bundler/man/bundle-remove.1.ronn +bundler/lib/bundler/man/bundle-show.1.ronn +bundler/lib/bundler/man/bundle-update.1.ronn +bundler/lib/bundler/man/bundle-viz.1.ronn +bundler/lib/bundler/man/bundle.1.ronn +bundler/lib/bundler/man/gemfile.5.ronn bundler/lib/bundler/match_platform.rb bundler/lib/bundler/mirror.rb bundler/lib/bundler/plugin.rb @@ -174,7 +200,6 @@ bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb -bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb @@ -229,6 +254,7 @@ bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb bundler/lib/bundler/vendor/thor/lib/thor/util.rb bundler/lib/bundler/vendor/thor/lib/thor/version.rb +bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb bundler/lib/bundler/vendor/uri/lib/uri.rb bundler/lib/bundler/vendor/uri/lib/uri/common.rb bundler/lib/bundler/vendor/uri/lib/uri/file.rb @@ -246,6 +272,7 @@ bundler/lib/bundler/vendored_fileutils.rb bundler/lib/bundler/vendored_molinillo.rb bundler/lib/bundler/vendored_persistent.rb bundler/lib/bundler/vendored_thor.rb +bundler/lib/bundler/vendored_tmpdir.rb bundler/lib/bundler/vendored_uri.rb bundler/lib/bundler/version.rb bundler/lib/bundler/version_ranges.rb @@ -253,55 +280,31 @@ bundler/lib/bundler/vlad.rb bundler/lib/bundler/worker.rb bundler/lib/bundler/yaml_serializer.rb bundler/man/bundle-add.1 -bundler/man/bundle-add.1.ronn bundler/man/bundle-binstubs.1 -bundler/man/bundle-binstubs.1.ronn bundler/man/bundle-cache.1 -bundler/man/bundle-cache.1.ronn bundler/man/bundle-check.1 -bundler/man/bundle-check.1.ronn bundler/man/bundle-clean.1 -bundler/man/bundle-clean.1.ronn bundler/man/bundle-config.1 -bundler/man/bundle-config.1.ronn bundler/man/bundle-doctor.1 -bundler/man/bundle-doctor.1.ronn bundler/man/bundle-exec.1 -bundler/man/bundle-exec.1.ronn bundler/man/bundle-gem.1 -bundler/man/bundle-gem.1.ronn bundler/man/bundle-info.1 -bundler/man/bundle-info.1.ronn bundler/man/bundle-init.1 -bundler/man/bundle-init.1.ronn bundler/man/bundle-inject.1 -bundler/man/bundle-inject.1.ronn bundler/man/bundle-install.1 -bundler/man/bundle-install.1.ronn bundler/man/bundle-list.1 -bundler/man/bundle-list.1.ronn bundler/man/bundle-lock.1 -bundler/man/bundle-lock.1.ronn bundler/man/bundle-open.1 -bundler/man/bundle-open.1.ronn bundler/man/bundle-outdated.1 -bundler/man/bundle-outdated.1.ronn bundler/man/bundle-platform.1 -bundler/man/bundle-platform.1.ronn bundler/man/bundle-pristine.1 -bundler/man/bundle-pristine.1.ronn bundler/man/bundle-remove.1 -bundler/man/bundle-remove.1.ronn bundler/man/bundle-show.1 -bundler/man/bundle-show.1.ronn bundler/man/bundle-update.1 -bundler/man/bundle-update.1.ronn bundler/man/bundle-viz.1 -bundler/man/bundle-viz.1.ronn bundler/man/bundle.1 -bundler/man/bundle.1.ronn bundler/man/gemfile.5 -bundler/man/gemfile.5.ronn +bundler/man/index.txt hide_lib_for_update/note.txt lib/rubygems.rb lib/rubygems/available_set.rb @@ -474,9 +477,8 @@ lib/rubygems/spec_fetcher.rb lib/rubygems/specification.rb lib/rubygems/specification_policy.rb lib/rubygems/ssl_certs/.document -lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem -lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem -lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem lib/rubygems/stub_specification.rb lib/rubygems/syck_hack.rb lib/rubygems/test_case.rb @@ -660,6 +662,7 @@ test/rubygems/test_gem_source_list.rb test/rubygems/test_gem_source_local.rb test/rubygems/test_gem_source_lock.rb test/rubygems/test_gem_source_specific_file.rb +test/rubygems/test_gem_source_subpath_problem.rb test/rubygems/test_gem_source_vendor.rb test/rubygems/test_gem_spec_fetcher.rb test/rubygems/test_gem_specification.rb diff --git a/Rakefile b/Rakefile index bbe83e78daf2..afb2541993b4 100644 --- a/Rakefile +++ b/Rakefile @@ -53,6 +53,7 @@ begin require "automatiek" Automatiek::RakeTask.new("molinillo") do |lib| + lib.version = "0.7.0" lib.download = { :github => "https://github.com/CocoaPods/Molinillo" } lib.namespace = "Molinillo" lib.prefix = "Gem::Resolver" @@ -161,7 +162,7 @@ file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do sh "7z a -ttar rubygems-#{v}.tar rubygems-#{v}" sh "7z a -tgzip rubygems-#{v}.tgz rubygems-#{v}.tar" else - sh "tar -czf rubygems-#{v}.tgz rubygems-#{v}" + sh "tar -czf rubygems-#{v}.tgz --owner=rubygems:0 --group=rubygems:0 rubygems-#{v}" end end end @@ -278,6 +279,7 @@ namespace 'blog' do name = `git config --get user.name`.strip email = `git config --get user.email`.strip + require_relative "util/changelog" history = Changelog.for_rubygems(v.to_s) require 'tempfile' diff --git a/bundler/CHANGELOG.md b/bundler/CHANGELOG.md index 46511c67603c..50f415d10b49 100644 --- a/bundler/CHANGELOG.md +++ b/bundler/CHANGELOG.md @@ -1,3 +1,37 @@ +# 2.2.0 (December 7, 2020) + +## Enhancements: + + - New gem template: prefer `require_relative` to `require` [#4066](https://github.com/rubygems/rubygems/pull/4066) + - Always show underlying error when fetching specs fails [#4061](https://github.com/rubygems/rubygems/pull/4061) + - Add `--all-platforms` flag to `bundle binstubs` to generate binstubs for all platforms [#3886](https://github.com/rubygems/rubygems/pull/3886) + - Improve gem not found in source error messages [#4019](https://github.com/rubygems/rubygems/pull/4019) + - Revert resolving all Gemfile platforms automatically [#4052](https://github.com/rubygems/rubygems/pull/4052) + - Remove extra empty line from README template [#4041](https://github.com/rubygems/rubygems/pull/4041) + - Lazily load `erb` [#4011](https://github.com/rubygems/rubygems/pull/4011) + +## Bug fixes: + + - Fix `Bundler::Plugin::API::Source#to_s` having empty source type [#4084](https://github.com/rubygems/rubygems/pull/4084) + - Raise consistent errors with or without `bundle exec` [#4063](https://github.com/rubygems/rubygems/pull/4063) + - Fix edge case resulting in a crash when using `zeitwerk` inside a nested `bundle exec` invocation [#4062](https://github.com/rubygems/rubygems/pull/4062) + - Enable `specific_platform` by default [#4015](https://github.com/rubygems/rubygems/pull/4015) + - Prevent remove command from deleting gemfile lines that are comments [#4045](https://github.com/rubygems/rubygems/pull/4045) + - Fix issue with `cache_all_platforms` and `specific_platform` configured [#4042](https://github.com/rubygems/rubygems/pull/4042) + - Fix incorrect error message on Windows [#4039](https://github.com/rubygems/rubygems/pull/4039) + - Make printed drive letters consistent on Windows [#4038](https://github.com/rubygems/rubygems/pull/4038) + - Load rubygems plugins from RUBYLIB during `bundle install` and `bundle update` [#3534](https://github.com/rubygems/rubygems/pull/3534) + - Fix `specific_platform` and `cache_all` with `bundle cache --all-platforms` [#4022](https://github.com/rubygems/rubygems/pull/4022) + - Bring back the possibility to install a plugin from path [#4020](https://github.com/rubygems/rubygems/pull/4020) + - Move ronn pages to lib [#3997](https://github.com/rubygems/rubygems/pull/3997) + - Fix fileutils double load when using `bundler/inline` [#3991](https://github.com/rubygems/rubygems/pull/3991) + - Accept responses with no etag header [#3865](https://github.com/rubygems/rubygems/pull/3865) + +## Documentation: + + - Fix typo of `bundle-install.1` (v2.1) [#4079](https://github.com/rubygems/rubygems/pull/4079) + - Add commented out example and more information link to generated gemspec [#4034](https://github.com/rubygems/rubygems/pull/4034) + # 2.2.0.rc.2 (October 6, 2020) ## Minor enhancements: @@ -108,7 +142,7 @@ - Fix `bundle install` unintentionally copying `with` and `without` global config to local configuration [#3666](https://github.com/rubygems/rubygems/pull/3666). This PR also address the `BUNDLE_WITH` environment variable unintentionally being persisted to configuration in a similar way ([#3708](https://github.com/rubygems/rubygems/issues/3708)) - Fix race condition in `bundle install` that could "empty" exceptions to be raised [#3669](https://github.com/rubygems/rubygems/pull/3669) - Fix `--no-cache` to `bundle install` being unintentionally deprecated [#3688](https://github.com/rubygems/rubygems/pull/3688) - - Avoid calling `LoadError#message` to fix performance regression in future ruby 2.8 [#3762](https://github.com/rubygems/rubygems/pull/3762) + - Avoid calling `LoadError#message` to fix performance regression in future ruby 3.0 [#3762](https://github.com/rubygems/rubygems/pull/3762) # 2.1.4 (January 5, 2020) diff --git a/bundler/Rakefile b/bundler/Rakefile index db98527d62ee..5b4ef43f1fdc 100644 --- a/bundler/Rakefile +++ b/bundler/Rakefile @@ -77,72 +77,80 @@ namespace :man do if RUBY_ENGINE == "jruby" task(:build) {} else - begin - Spec::Rubygems.gem_require("ronn") - rescue Gem::LoadError => e - desc "Build the man pages" - task(:build) { abort "We couldn't activate ronn (#{e.requirement}). Try `gem install ronn:'#{e.requirement}'` to be able to build the help pages" } - - desc "Verify man pages are in sync" - task(:check) { abort "We couldn't activate ronn (#{e.requirement}). Try `gem install ronn:'#{e.requirement}'` to be able to build the help pages" } - else - directory "man" - - index = Dir["man/*.ronn"].map do |source| - ronn = "man/#{File.basename(source)}" - roff = "man/#{File.basename(source, ".ronn")}" - - file roff => ["man", ronn] do - sh "bin/ronn --warnings --roff --pipe --date #{Time.now.strftime("%Y-%m-%d")} #{ronn} > #{roff}" - end + directory "man" - task :build_all_pages => roff + index = Dir["lib/bundler/man/*.ronn"].map do |source| + ronn = "lib/bundler/man/#{File.basename(source)}" + roff = "man/#{File.basename(source, ".ronn")}" - [ronn, File.basename(roff)] + file roff => ["man", ronn] do + date = ENV["MAN_PAGES_DATE"] || Time.now.strftime("%Y-%m-%d") + sh "bin/ronn --warnings --roff --pipe --date #{date} #{ronn} > #{roff}" end - file "index.txt" do - index.map! do |(ronn, roff)| - [File.read(ronn).split(" ").first, roff] - end - index = index.sort_by(&:first) - justification = index.map {|(n, _f)| n.length }.max + 4 - File.open("man/index.txt", "w") do |f| - index.each do |name, filename| - f << name.ljust(justification) << filename << "\n" - end + task :build_all_pages => roff + + [ronn, File.basename(roff)] + end + + file "index.txt" do + index.map! do |(ronn, roff)| + [File.read(ronn).split(" ").first, roff] + end + index = index.sort_by(&:first) + justification = index.map {|(n, _f)| n.length }.max + 4 + File.open("man/index.txt", "w") do |f| + index.each do |name, filename| + f << name.ljust(justification) << filename << "\n" end end - task :build_all_pages => "index.txt" + end + task :build_all_pages => "index.txt" + + desc "Make sure ronn is installed" + task :check_ronn do + begin + Spec::Rubygems.gem_require("ronn") + rescue Gem::LoadError => e + abort("We couldn't activate ronn (#{e.requirement}). Try `gem install ronn:'#{e.requirement}'` to be able to build the help pages") + end + end - desc "Remove all built man pages" - task :clean do - leftovers = Dir["man/*"].reject do |f| - File.extname(f) == ".ronn" - end - rm leftovers if leftovers.any? + desc "Remove all built man pages" + task :clean do + leftovers = Dir["man/*"].reject do |f| + File.extname(f) == ".ronn" end + rm leftovers if leftovers.any? + end - desc "Build the man pages" - task :build => ["man:clean", "man:build_all_pages"] - - desc "Verify man pages are in sync" - task :check => :build do - sh("git diff --quiet --ignore-all-space man") do |outcome, _| - if outcome - puts - puts "Manpages are in sync!" - puts - else - sh("GIT_PAGER=cat git diff --ignore-all-space man") - - puts - puts "Man pages are out of sync. Above you can see the diff that got generated from rebuilding them. Please review and commit the results." - puts - - exit(1) - end - end + desc "Build the man pages" + task :build => [:check_ronn, :clean, :build_all_pages] + + desc "Sets target date for building man pages to the one currently present" + task :set_current_date do + require "date" + ENV["MAN_PAGES_DATE"] = Date.parse(File.readlines("man/bundle-add.1")[3].split('"')[5]).strftime("%Y-%m-%d") + end + + desc "Verify man pages are in sync" + task :check => [:check_ronn, :set_current_date, :build] do + require "open3" + + output, status = Open3.capture2e("git status --porcelain") + + if status.success? && output.empty? + puts + puts "Man pages are in sync" + puts + else + sh("git status --porcelain") + + puts + puts "Man pages are out of sync. Above you can see the list of files that got modified or generated from rebuilding them. Please review and commit the results." + puts + + exit(1) end end end @@ -152,6 +160,7 @@ load "task/automatiek.rake" desc "Vendor a specific version of molinillo" Automatiek::RakeTask.new("molinillo") do |lib| + lib.version = "0.7.0" lib.download = { :github => "https://github.com/CocoaPods/Molinillo" } lib.namespace = "Molinillo" lib.prefix = "Bundler" @@ -167,19 +176,35 @@ Automatiek::RakeTask.new("thor") do |lib| lib.vendor_lib = "lib/bundler/vendor/thor" end -desc "Vendor a specific version of fileutils" -Automatiek::RakeTask.new("fileutils") do |lib| - lib.version = "v1.4.1" - lib.download = { :github => "https://github.com/ruby/fileutils" } - lib.namespace = "FileUtils" +# We currently include the official version as of +# https://github.com/ruby/tmpdir/tree/a3e06bd49829dc49c346aa10f8b91116fd7e17ad, +# with the following changes on top: +# * require fileutils relatively to use our vendored version. +# * Inherit from `Dir` so that code assuming we're inside the +# `Dir` class still works. Also change the `systmpdir` class variable to an +# instance variable since otherwise inheriting from dir doesn't work. +# * Remove a "block variable shadowing outer variable" warning on older rubies +# that was breaking some specs. +desc "Vendor a specific version of tmpdir" +Automatiek::RakeTask.new("tmpdir") do |lib| + lib.version = "master" + lib.download = { :github => "https://github.com/ruby/tmpdir" } + lib.namespace = "Dir" lib.prefix = "Bundler" - lib.vendor_lib = "lib/bundler/vendor/fileutils" + lib.vendor_lib = "lib/bundler/vendor/tmpdir" + + lib.dependency("fileutils") do |sublib| + sublib.version = "v1.4.1" + sublib.download = { :github => "https://github.com/ruby/fileutils" } + sublib.namespace = "FileUtils" + sublib.prefix = "Bundler" + sublib.vendor_lib = "lib/bundler/vendor/fileutils" + end end # We currently include the following changes over the official version: # * Avoid requiring the optional `net-http-pipeline` dependency, so that its version can be selected by end users. # * We also include changes to require the vendored dependencies `uri` and `connection_pool` relatively. -# * Avoid autoloading `OpenSSL` since it causes problems on jruby. desc "Vendor a specific version of net-http-persistent" Automatiek::RakeTask.new("net-http-persistent") do |lib| lib.version = "v4.0.0" diff --git a/bundler/UPGRADING.md b/bundler/UPGRADING.md index efee3704ad23..e9edf130c592 100644 --- a/bundler/UPGRADING.md +++ b/bundler/UPGRADING.md @@ -72,7 +72,7 @@ in the upcoming 3 version. reference to develop their own plugins. The plugin will contain the same code as the old core command, the only difference being that the command is now implemented as `bundle graph` which is much easier to understand. However, the - details of the plugin are under discussion. See [#7041](https://github.com/rubygems/bundler/issues/7041). + details of the plugin are under discussion. See [#3333](https://github.com/rubygems/rubygems/issues/3333). * The `bundle console` will be removed and replaced with `bin/console`. diff --git a/bundler/doc/documentation/WRITING.md b/bundler/doc/documentation/WRITING.md index f0653ac87c3e..8680d89359d6 100644 --- a/bundler/doc/documentation/WRITING.md +++ b/bundler/doc/documentation/WRITING.md @@ -20,9 +20,9 @@ Don't see a man page for a command? Make a new page and send us a PR! We also we ## Creating a new man page -To create a new man page, simply create a new `.ronn` file in the `man/` directory. +To create a new man page, simply create a new `.ronn` file in the `lib/bundler/man/` directory. -For example: to create a man page for the command `bundle cookies` (not a real command, sadly), I would create a file `man/bundle-cookies.1.ronn` and add my documentation there. +For example: to create a man page for the command `bundle cookies` (not a real command, sadly), I would create a file `lib/bundler/man/bundle-cookies.1.ronn` and add my documentation there. ## Formatting diff --git a/bundler/lib/bundler.rb b/bundler/lib/bundler.rb index f6ad7ccaef84..0ddd2c7f8804 100644 --- a/bundler/lib/bundler.rb +++ b/bundler/lib/bundler.rb @@ -602,6 +602,10 @@ def reset! reset_rubygems! end + def reset_settings! + @settings = nil + end + def reset_paths! @bin_path = nil @bundler_major_version = nil diff --git a/bundler/lib/bundler/cli.rb b/bundler/lib/bundler/cli.rb index b4196621e5f7..e2dceb98d5fa 100644 --- a/bundler/lib/bundler/cli.rb +++ b/bundler/lib/bundler/cli.rb @@ -57,7 +57,7 @@ def initialize(*args) custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile] if custom_gemfile && !custom_gemfile.empty? Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", File.expand_path(custom_gemfile) - Bundler.reset_paths! + Bundler.reset_settings! end Bundler.settings.set_command_option_if_given :retry, options[:retry] @@ -134,7 +134,8 @@ def help(cli = nil) if Bundler.which("man") && man_path !~ %r{^file:/.+!/META-INF/jruby.home/.+} Kernel.exec "man #{man_page}" else - puts File.read("#{File.dirname(man_page)}/#{File.basename(man_page)}.ronn") + fallback_man_path = File.expand_path("../man", __FILE__) + puts File.read("#{fallback_man_path}/#{File.basename(man_page)}.ronn") end elsif command_path = Bundler.which("bundler-#{cli}") Kernel.exec(command_path, "--help") @@ -380,6 +381,8 @@ def info(gem_name) "Make binstubs that can work without the Bundler runtime" method_option "all", :type => :boolean, :banner => "Install binstubs for all gems" + method_option "all-platforms", :type => :boolean, :default => false, :banner => + "Install binstubs for all platforms" def binstubs(*gems) require_relative "cli/binstubs" Binstubs.new(options, gems).run diff --git a/bundler/lib/bundler/cli/binstubs.rb b/bundler/lib/bundler/cli/binstubs.rb index 266396eedc67..639c01ff394b 100644 --- a/bundler/lib/bundler/cli/binstubs.rb +++ b/bundler/lib/bundler/cli/binstubs.rb @@ -16,7 +16,11 @@ def run Bundler.settings.set_command_option_if_given :shebang, options["shebang"] installer = Installer.new(Bundler.root, Bundler.definition) - installer_opts = { :force => options[:force], :binstubs_cmd => true } + installer_opts = { + :force => options[:force], + :binstubs_cmd => true, + :all_platforms => options["all-platforms"], + } if options[:all] raise InvalidOption, "Cannot specify --all with specific gems" unless gems.empty? @@ -38,7 +42,7 @@ def run if options[:standalone] next Bundler.ui.warn("Sorry, Bundler can only be run via RubyGems.") if gem_name == "bundler" Bundler.settings.temporary(:path => (Bundler.settings[:path] || Bundler.root)) do - installer.generate_standalone_bundler_executable_stubs(spec) + installer.generate_standalone_bundler_executable_stubs(spec, installer_opts) end else installer.generate_bundler_executable_stubs(spec, installer_opts) diff --git a/bundler/lib/bundler/cli/exec.rb b/bundler/lib/bundler/cli/exec.rb index 0412d3adb0b1..318d57fb0694 100644 --- a/bundler/lib/bundler/cli/exec.rb +++ b/bundler/lib/bundler/cli/exec.rb @@ -63,10 +63,10 @@ def kernel_load(file, *args) Kernel.load(file) rescue SystemExit, SignalException raise - rescue Exception => e # rubocop:disable Lint/RescueException + rescue Exception # rubocop:disable Lint/RescueException Bundler.ui.error "bundler: failed to load command: #{cmd} (#{file})" - backtrace = e.backtrace ? e.backtrace.take_while {|bt| !bt.start_with?(__FILE__) } : [] - abort "#{e.class}: #{e.message}\n #{backtrace.join("\n ")}" + Bundler::FriendlyErrors.disable! + raise end def process_title(file, args) diff --git a/bundler/lib/bundler/cli/outdated.rb b/bundler/lib/bundler/cli/outdated.rb index 109c5f417ffd..b8d9be20b6a6 100644 --- a/bundler/lib/bundler/cli/outdated.rb +++ b/bundler/lib/bundler/cli/outdated.rb @@ -76,8 +76,6 @@ def run next unless gems.empty? || gems.include?(current_spec.name) active_spec = retrieve_active_spec(definition, current_spec) - next unless active_spec - next unless filter_options_patch.empty? || update_present_via_semver_portions(current_spec, active_spec, options) gem_outdated = Gem::Version.new(active_spec.version) > Gem::Version.new(current_spec.version) @@ -146,8 +144,6 @@ def nothing_outdated_message end def retrieve_active_spec(definition, current_spec) - return unless current_spec.match_platform(Bundler.local_platform) - if strict active_spec = definition.find_resolved_spec(current_spec) else @@ -233,6 +229,8 @@ def check_for_deployment_mode! end def update_present_via_semver_portions(current_spec, active_spec, options) + return false if active_spec.nil? + current_major = current_spec.version.segments.first active_major = active_spec.version.segments.first diff --git a/bundler/lib/bundler/compact_index_client/updater.rb b/bundler/lib/bundler/compact_index_client/updater.rb index 40232019bca6..66d1735583b0 100644 --- a/bundler/lib/bundler/compact_index_client/updater.rb +++ b/bundler/lib/bundler/compact_index_client/updater.rb @@ -22,13 +22,13 @@ def message def initialize(fetcher) @fetcher = fetcher - require "tmpdir" + require_relative "../vendored_tmpdir" end def update(local_path, remote_path, retrying = nil) headers = {} - Dir.mktmpdir("bundler-compact-index-") do |local_temp_dir| + Bundler::Dir.mktmpdir("bundler-compact-index-") do |local_temp_dir| local_temp_path = Pathname.new(local_temp_dir).join(local_path.basename) # first try to fetch any new bytes on the existing file @@ -66,8 +66,8 @@ def update(local_path, remote_path, retrying = nil) end end - response_etag = (response["ETag"] || "").gsub(%r{\AW/}, "") - if etag_for(local_temp_path) == response_etag + etag = (response["ETag"] || "").gsub(%r{\AW/}, "") + if etag.length.zero? || etag_for(local_temp_path) == etag SharedHelpers.filesystem_access(local_path) do FileUtils.mv(local_temp_path, local_path) end @@ -75,7 +75,7 @@ def update(local_path, remote_path, retrying = nil) end if retrying - raise MisMatchedChecksumError.new(remote_path, response_etag, etag_for(local_temp_path)) + raise MisMatchedChecksumError.new(remote_path, etag, etag_for(local_temp_path)) end update(local_path, remote_path, :retrying) diff --git a/bundler/lib/bundler/definition.rb b/bundler/lib/bundler/definition.rb index 1a4b703aa55d..4cf4f7608486 100644 --- a/bundler/lib/bundler/definition.rb +++ b/bundler/lib/bundler/definition.rb @@ -118,7 +118,7 @@ def initialize(lockfile, dependencies, sources, unlock, ruby_version = nil, opti end @unlocking ||= @unlock[:ruby] ||= (!@locked_ruby_version ^ !@ruby_version) - add_platforms unless Bundler.frozen_bundle? + add_current_platform unless Bundler.frozen_bundle? converge_path_sources_to_gemspec_sources @path_changes = converge_paths @@ -547,17 +547,12 @@ def unlocking? private - def add_platforms - (@dependencies.flat_map(&:expanded_platforms) + current_platforms).uniq.each do |platform| - add_platform(platform) - end + def add_current_platform + current_platforms.each {|platform| add_platform(platform) } end def current_platforms - [].tap do |platforms| - platforms << local_platform if Bundler.feature_flag.specific_platform? - platforms << generic_local_platform - end + [local_platform, generic_local_platform].uniq end def change_reason diff --git a/bundler/lib/bundler/env.rb b/bundler/lib/bundler/env.rb index 17624b4fe9b5..00d4ef219647 100644 --- a/bundler/lib/bundler/env.rb +++ b/bundler/lib/bundler/env.rb @@ -105,7 +105,7 @@ def self.environment out << [" User Home", Gem.user_home] out << [" User Path", Gem.user_dir] out << [" Bin Dir", Gem.bindir] - if defined?(OpenSSL) + if defined?(OpenSSL::SSL) out << ["OpenSSL"] out << [" Compiled", OpenSSL::OPENSSL_VERSION] if defined?(OpenSSL::OPENSSL_VERSION) out << [" Loaded", OpenSSL::OPENSSL_LIBRARY_VERSION] if defined?(OpenSSL::OPENSSL_LIBRARY_VERSION) diff --git a/bundler/lib/bundler/feature_flag.rb b/bundler/lib/bundler/feature_flag.rb index fd76d9e5ba91..a92ec8756d9e 100644 --- a/bundler/lib/bundler/feature_flag.rb +++ b/bundler/lib/bundler/feature_flag.rb @@ -41,7 +41,6 @@ def self.settings_method(name, key, &default) settings_flag(:plugins) { @bundler_version >= Gem::Version.new("1.14") } settings_flag(:print_only_version_number) { bundler_3_mode? } settings_flag(:setup_makes_kernel_gem_public) { !bundler_3_mode? } - settings_flag(:specific_platform) { bundler_3_mode? } settings_flag(:suppress_install_using_messages) { bundler_3_mode? } settings_flag(:unlock_source_unlocks_spec) { !bundler_3_mode? } settings_flag(:update_requires_all_flag) { bundler_4_mode? } diff --git a/bundler/lib/bundler/fetcher/index.rb b/bundler/lib/bundler/fetcher/index.rb index 7e07eaea7b95..08b041897eb3 100644 --- a/bundler/lib/bundler/fetcher/index.rb +++ b/bundler/lib/bundler/fetcher/index.rb @@ -8,7 +8,7 @@ class Fetcher class Index < Base def specs(_gem_names) Bundler.rubygems.fetch_all_remote_specs(remote) - rescue Gem::RemoteFetcher::FetchError, OpenSSL::SSL::SSLError, Net::HTTPFatalError => e + rescue Gem::RemoteFetcher::FetchError => e case e.message when /certificate verify failed/ raise CertificateFailureError.new(display_uri) @@ -19,8 +19,7 @@ def specs(_gem_names) raise BadAuthenticationError, remote_uri if remote_uri.userinfo raise AuthenticationRequiredError, remote_uri else - Bundler.ui.trace e - raise HTTPError, "Could not fetch specs from #{display_uri}" + raise HTTPError, "Could not fetch specs from #{display_uri} due to underlying error <#{e.message}>" end end diff --git a/bundler/lib/bundler/friendly_errors.rb b/bundler/lib/bundler/friendly_errors.rb index 827306469988..5d0bb905bca3 100644 --- a/bundler/lib/bundler/friendly_errors.rb +++ b/bundler/lib/bundler/friendly_errors.rb @@ -6,6 +6,18 @@ module Bundler module FriendlyErrors module_function + def enable! + @disabled = false + end + + def disabled? + @disabled + end + + def disable! + @disabled = true + end + def log_error(error) case error when YamlSyntaxError @@ -114,10 +126,13 @@ def issues_url(exception) end def self.with_friendly_errors + FriendlyErrors.enable! yield rescue SignalException raise rescue Exception => e # rubocop:disable Lint/RescueException + raise if FriendlyErrors.disabled? + FriendlyErrors.log_error(e) exit FriendlyErrors.exit_status(e) end diff --git a/bundler/lib/bundler/index.rb b/bundler/lib/bundler/index.rb index fa48df738c5c..f26f542fdef9 100644 --- a/bundler/lib/bundler/index.rb +++ b/bundler/lib/bundler/index.rb @@ -195,7 +195,11 @@ def search_by_dependency(dependency, base = nil) if base # allow all platforms when searching from a lockfile dependency.matches_spec?(spec) else - dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) + if Gem::Platform.respond_to? :match_spec? + dependency.matches_spec?(spec) && Gem::Platform.match_spec?(spec) + else + dependency.matches_spec?(spec) && Gem::Platform.match(spec.platform) + end end end diff --git a/bundler/lib/bundler/injector.rb b/bundler/lib/bundler/injector.rb index 02c3e6189f65..e9aa13a357de 100644 --- a/bundler/lib/bundler/injector.rb +++ b/bundler/lib/bundler/injector.rb @@ -179,11 +179,11 @@ def remove_gems_from_dependencies(builder, gems, gemfile_path) # @param [Pathname] gemfile_path The Gemfile from which to remove dependencies. def remove_gems_from_gemfile(gems, gemfile_path) patterns = /gem\s+(['"])#{Regexp.union(gems)}\1|gem\s*\((['"])#{Regexp.union(gems)}\2\)/ - new_gemfile = [] multiline_removal = false IO.readlines(gemfile_path).each do |line| - if line.match(patterns) + match_data = line.match(patterns) + if match_data && is_not_within_comment?(line, match_data) multiline_removal = line.rstrip.end_with?(",") # skip lines which match the regex next @@ -207,6 +207,13 @@ def remove_gems_from_gemfile(gems, gemfile_path) new_gemfile.join.chomp end + # @param [String] line Individual line of gemfile content. + # @param [MatchData] match_data Data about Regex match. + def is_not_within_comment?(line, match_data) + match_start_index = match_data.offset(0).first + !line[0..match_start_index].include?("#") + end + # @param [Array] gemfile Array of gemfile contents. # @param [String] block_name Name of block name to look for. def remove_nested_blocks(gemfile, block_name) diff --git a/bundler/lib/bundler/installer.rb b/bundler/lib/bundler/installer.rb index e08cc9722bca..048b0786a7ff 100644 --- a/bundler/lib/bundler/installer.rb +++ b/bundler/lib/bundler/installer.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require "erb" require "rubygems/dependency_installer" require_relative "worker" require_relative "installer/parallel_installer" @@ -136,6 +135,7 @@ def generate_bundler_executable_stubs(spec, options = {}) end mode = Bundler::WINDOWS ? "wb:UTF-8" : "w" + require "erb" content = if RUBY_VERSION >= "2.6" ERB.new(template, :trim_mode => "-").result(binding) else @@ -143,7 +143,7 @@ def generate_bundler_executable_stubs(spec, options = {}) end File.write(binstub_path, content, :mode => mode, :perm => 0o777 & ~File.umask) - if Bundler::WINDOWS + if Bundler::WINDOWS || options[:all_platforms] prefix = "@ruby -x \"%~f0\" %*\n@exit /b %ERRORLEVEL%\n\n" File.write("#{binstub_path}.cmd", prefix + content, :mode => mode) end @@ -164,7 +164,7 @@ def generate_bundler_executable_stubs(spec, options = {}) end end - def generate_standalone_bundler_executable_stubs(spec) + def generate_standalone_bundler_executable_stubs(spec, options = {}) # double-assignment to avoid warnings about variables that will be used by ERB bin_path = Bundler.bin_path unless path = Bundler.settings[:path] @@ -182,6 +182,7 @@ def generate_standalone_bundler_executable_stubs(spec) executable_path = executable_path mode = Bundler::WINDOWS ? "wb:UTF-8" : "w" + require "erb" content = if RUBY_VERSION >= "2.6" ERB.new(template, :trim_mode => "-").result(binding) else @@ -189,7 +190,7 @@ def generate_standalone_bundler_executable_stubs(spec) end File.write("#{bin_path}/#{executable}", content, :mode => mode, :perm => 0o755) - if Bundler::WINDOWS + if Bundler::WINDOWS || options[:all_platforms] prefix = "@ruby -x \"%~f0\" %*\n@exit /b %ERRORLEVEL%\n\n" File.write("#{bin_path}/#{executable}.cmd", prefix + content, :mode => mode) end @@ -243,6 +244,7 @@ def load_plugins end end.flatten Bundler.rubygems.load_plugin_files(path_plugin_files) + Bundler.rubygems.load_env_plugins end def ensure_specs_are_compatible! @@ -297,7 +299,7 @@ def create_bundle_path # returns whether or not a re-resolve was needed def resolve_if_needed(options) - if !@definition.unlocking? && !options["force"] && !options["all-platforms"] && !Bundler.settings[:inline] && Bundler.default_lockfile.file? + if !@definition.unlocking? && !options["force"] && !Bundler.settings[:inline] && Bundler.default_lockfile.file? return false if @definition.nothing_changed? && !@definition.missing_specs? end diff --git a/bundler/lib/bundler/lazy_specification.rb b/bundler/lib/bundler/lazy_specification.rb index 546b8d9b098f..22bf0f3f6f0b 100644 --- a/bundler/lib/bundler/lazy_specification.rb +++ b/bundler/lib/bundler/lazy_specification.rb @@ -79,19 +79,17 @@ def __materialize__ @specification = if source.is_a?(Source::Gemspec) && source.gemspec.name == name source.gemspec.tap {|s| s.source = source } else - search_object = Bundler.feature_flag.specific_platform? || Bundler.settings[:force_ruby_platform] ? self : Dependency.new(name, version) + search_object = if source.is_a?(Source::Path) + Dependency.new(name, version) + else + self + end platform_object = Gem::Platform.new(platform) candidates = source.specs.search(search_object) same_platform_candidates = candidates.select do |spec| MatchPlatform.platforms_match?(spec.platform, platform_object) end search = same_platform_candidates.last || candidates.last - if search && Gem::Platform.new(search.platform) != platform_object && !search.runtime_dependencies.-(dependencies.reject {|d| d.type == :development }).empty? - Bundler.ui.warn "Unable to use the platform-specific (#{search.platform}) version of #{name} (#{version}) " \ - "because it has different dependencies from the #{platform} version. " \ - "To use the platform-specific version of the gem, run `bundle config set --local specific_platform true` and install again." - search = source.specs.search(self).last - end search.dependencies = dependencies if search && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification)) search end diff --git a/bundler/lib/bundler/man/.document b/bundler/lib/bundler/man/.document new file mode 100644 index 000000000000..fb66f13c330f --- /dev/null +++ b/bundler/lib/bundler/man/.document @@ -0,0 +1 @@ +# Ignore all files in this directory diff --git a/bundler/man/bundle-add.1.ronn b/bundler/lib/bundler/man/bundle-add.1.ronn similarity index 100% rename from bundler/man/bundle-add.1.ronn rename to bundler/lib/bundler/man/bundle-add.1.ronn diff --git a/bundler/man/bundle-binstubs.1.ronn b/bundler/lib/bundler/man/bundle-binstubs.1.ronn similarity index 100% rename from bundler/man/bundle-binstubs.1.ronn rename to bundler/lib/bundler/man/bundle-binstubs.1.ronn diff --git a/bundler/man/bundle-cache.1.ronn b/bundler/lib/bundler/man/bundle-cache.1.ronn similarity index 100% rename from bundler/man/bundle-cache.1.ronn rename to bundler/lib/bundler/man/bundle-cache.1.ronn diff --git a/bundler/man/bundle-check.1.ronn b/bundler/lib/bundler/man/bundle-check.1.ronn similarity index 100% rename from bundler/man/bundle-check.1.ronn rename to bundler/lib/bundler/man/bundle-check.1.ronn diff --git a/bundler/man/bundle-clean.1.ronn b/bundler/lib/bundler/man/bundle-clean.1.ronn similarity index 100% rename from bundler/man/bundle-clean.1.ronn rename to bundler/lib/bundler/man/bundle-clean.1.ronn diff --git a/bundler/man/bundle-config.1.ronn b/bundler/lib/bundler/man/bundle-config.1.ronn similarity index 96% rename from bundler/man/bundle-config.1.ronn rename to bundler/lib/bundler/man/bundle-config.1.ronn index a0ff30cb1559..462edf784449 100644 --- a/bundler/man/bundle-config.1.ronn +++ b/bundler/lib/bundler/man/bundle-config.1.ronn @@ -250,14 +250,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html). be changed in the next major version. * `silence_root_warning` (`BUNDLE_SILENCE_ROOT_WARNING`): Silence the warning Bundler prints when installing gems as root. -* `specific_platform` (`BUNDLE_SPECIFIC_PLATFORM`): - Allow bundler to resolve for the specific running platform and store it in - the lockfile, instead of only using a generic platform. - A specific platform is the exact platform triple reported by - `Gem::Platform.local`, such as `x86_64-darwin-16` or `universal-java-1.8`. - On the other hand, generic platforms are those such as `ruby`, `mswin`, or - `java`. In this example, `x86_64-darwin-16` would map to `ruby` and - `universal-java-1.8` to `java`. * `ssl_ca_cert` (`BUNDLE_SSL_CA_CERT`): Path to a designated CA certificate file or folder containing multiple certificates for trusted CAs in PEM format. @@ -371,7 +363,7 @@ Or you can set the credentials as an environment variable like this: For gems with a git source with HTTP(S) URL you can specify credentials like so: - bundle config set --global https://github.com/bundler/bundler.git username:password + bundle config set --global https://github.com/rubygems/rubygems.git username:password Or you can set the credentials as an environment variable like so: diff --git a/bundler/man/bundle-doctor.1.ronn b/bundler/lib/bundler/man/bundle-doctor.1.ronn similarity index 100% rename from bundler/man/bundle-doctor.1.ronn rename to bundler/lib/bundler/man/bundle-doctor.1.ronn diff --git a/bundler/man/bundle-exec.1.ronn b/bundler/lib/bundler/man/bundle-exec.1.ronn similarity index 100% rename from bundler/man/bundle-exec.1.ronn rename to bundler/lib/bundler/man/bundle-exec.1.ronn diff --git a/bundler/man/bundle-gem.1.ronn b/bundler/lib/bundler/man/bundle-gem.1.ronn similarity index 100% rename from bundler/man/bundle-gem.1.ronn rename to bundler/lib/bundler/man/bundle-gem.1.ronn diff --git a/bundler/man/bundle-info.1.ronn b/bundler/lib/bundler/man/bundle-info.1.ronn similarity index 100% rename from bundler/man/bundle-info.1.ronn rename to bundler/lib/bundler/man/bundle-info.1.ronn diff --git a/bundler/man/bundle-init.1.ronn b/bundler/lib/bundler/man/bundle-init.1.ronn similarity index 100% rename from bundler/man/bundle-init.1.ronn rename to bundler/lib/bundler/man/bundle-init.1.ronn diff --git a/bundler/man/bundle-inject.1.ronn b/bundler/lib/bundler/man/bundle-inject.1.ronn similarity index 100% rename from bundler/man/bundle-inject.1.ronn rename to bundler/lib/bundler/man/bundle-inject.1.ronn diff --git a/bundler/man/bundle-install.1.ronn b/bundler/lib/bundler/man/bundle-install.1.ronn similarity index 99% rename from bundler/man/bundle-install.1.ronn rename to bundler/lib/bundler/man/bundle-install.1.ronn index 07aeb1da90df..5ea777f1d4b8 100644 --- a/bundler/man/bundle-install.1.ronn +++ b/bundler/lib/bundler/man/bundle-install.1.ronn @@ -105,7 +105,7 @@ automatically and that requires `bundler` to silently remember them. Since * `--local`: Do not attempt to connect to `rubygems.org`. Instead, Bundler will use the - gems already present in Rubygems' cache or in `vendor/cache`. Note that if a + gems already present in Rubygems' cache or in `vendor/cache`. Note that if an appropriate platform-specific gem exists on `rubygems.org` it will not be found. diff --git a/bundler/man/bundle-list.1.ronn b/bundler/lib/bundler/man/bundle-list.1.ronn similarity index 100% rename from bundler/man/bundle-list.1.ronn rename to bundler/lib/bundler/man/bundle-list.1.ronn diff --git a/bundler/man/bundle-lock.1.ronn b/bundler/lib/bundler/man/bundle-lock.1.ronn similarity index 100% rename from bundler/man/bundle-lock.1.ronn rename to bundler/lib/bundler/man/bundle-lock.1.ronn diff --git a/bundler/man/bundle-open.1.ronn b/bundler/lib/bundler/man/bundle-open.1.ronn similarity index 100% rename from bundler/man/bundle-open.1.ronn rename to bundler/lib/bundler/man/bundle-open.1.ronn diff --git a/bundler/man/bundle-outdated.1.ronn b/bundler/lib/bundler/man/bundle-outdated.1.ronn similarity index 100% rename from bundler/man/bundle-outdated.1.ronn rename to bundler/lib/bundler/man/bundle-outdated.1.ronn diff --git a/bundler/man/bundle-platform.1.ronn b/bundler/lib/bundler/man/bundle-platform.1.ronn similarity index 100% rename from bundler/man/bundle-platform.1.ronn rename to bundler/lib/bundler/man/bundle-platform.1.ronn diff --git a/bundler/man/bundle-pristine.1.ronn b/bundler/lib/bundler/man/bundle-pristine.1.ronn similarity index 100% rename from bundler/man/bundle-pristine.1.ronn rename to bundler/lib/bundler/man/bundle-pristine.1.ronn diff --git a/bundler/man/bundle-remove.1.ronn b/bundler/lib/bundler/man/bundle-remove.1.ronn similarity index 100% rename from bundler/man/bundle-remove.1.ronn rename to bundler/lib/bundler/man/bundle-remove.1.ronn diff --git a/bundler/man/bundle-show.1.ronn b/bundler/lib/bundler/man/bundle-show.1.ronn similarity index 100% rename from bundler/man/bundle-show.1.ronn rename to bundler/lib/bundler/man/bundle-show.1.ronn diff --git a/bundler/man/bundle-update.1.ronn b/bundler/lib/bundler/man/bundle-update.1.ronn similarity index 100% rename from bundler/man/bundle-update.1.ronn rename to bundler/lib/bundler/man/bundle-update.1.ronn diff --git a/bundler/man/bundle-viz.1.ronn b/bundler/lib/bundler/man/bundle-viz.1.ronn similarity index 100% rename from bundler/man/bundle-viz.1.ronn rename to bundler/lib/bundler/man/bundle-viz.1.ronn diff --git a/bundler/man/bundle.1.ronn b/bundler/lib/bundler/man/bundle.1.ronn similarity index 100% rename from bundler/man/bundle.1.ronn rename to bundler/lib/bundler/man/bundle.1.ronn diff --git a/bundler/man/gemfile.5.ronn b/bundler/lib/bundler/man/gemfile.5.ronn similarity index 100% rename from bundler/man/gemfile.5.ronn rename to bundler/lib/bundler/man/gemfile.5.ronn diff --git a/bundler/lib/bundler/plugin/api/source.rb b/bundler/lib/bundler/plugin/api/source.rb index 56e97f4aa415..e1f0826874d0 100644 --- a/bundler/lib/bundler/plugin/api/source.rb +++ b/bundler/lib/bundler/plugin/api/source.rb @@ -260,7 +260,7 @@ def to_lock end def to_s - "plugin source for #{options[:type]} with uri #{uri}" + "plugin source for #{@type} with uri #{@uri}" end # Note: Do not override if you don't know what you are doing. diff --git a/bundler/lib/bundler/plugin/dsl.rb b/bundler/lib/bundler/plugin/dsl.rb index 4bfc8437e0e6..da751d1774ec 100644 --- a/bundler/lib/bundler/plugin/dsl.rb +++ b/bundler/lib/bundler/plugin/dsl.rb @@ -10,7 +10,7 @@ class PluginGemfileError < PluginError; end # So that we don't have to override all there methods to dummy ones # explicitly. # They will be handled by method_missing - [:gemspec, :gem, :path, :install_if, :platforms, :env].each {|m| undef_method m } + [:gemspec, :gem, :install_if, :platforms, :env].each {|m| undef_method m } # This lists the plugins that was added automatically and not specified by # the user. diff --git a/bundler/lib/bundler/resolver.rb b/bundler/lib/bundler/resolver.rb index 926c08c4c966..327c170fbe3d 100644 --- a/bundler/lib/bundler/resolver.rb +++ b/bundler/lib/bundler/resolver.rb @@ -158,9 +158,8 @@ def search_for(dependency) # spec group. sg_ruby = sg.copy_for(Gem::Platform::RUBY) selected_sgs << sg_ruby if sg_ruby - all_platforms = @platforms + [platform] - next if all_platforms.to_a == [Gem::Platform::RUBY] sg_all_platforms = nil + all_platforms = @platforms + [platform] self.class.sort_platforms(all_platforms).reverse_each do |other_platform| if sg_all_platforms.nil? sg_all_platforms = sg.copy_for(other_platform) @@ -302,7 +301,7 @@ def verify_gemfile_dependencies_are_found!(requirements) versions_with_platforms = specs.map {|s| [s.version, s.platform] } message = String.new("Could not find gem '#{SharedHelpers.pretty_dependency(requirement)}' in #{source}#{cache_message}.\n") message << if versions_with_platforms.any? - "The source contains '#{name}' at: #{formatted_versions_with_platforms(versions_with_platforms)}" + "The source contains the following versions of '#{name}': #{formatted_versions_with_platforms(versions_with_platforms)}" else "The source does not contain any versions of '#{name}'" end diff --git a/bundler/lib/bundler/rubygems_integration.rb b/bundler/lib/bundler/rubygems_integration.rb index 17402f16f203..9125a24172a8 100644 --- a/bundler/lib/bundler/rubygems_integration.rb +++ b/bundler/lib/bundler/rubygems_integration.rb @@ -227,6 +227,10 @@ def load_plugin_files(files) Gem.load_plugin_files(files) if Gem.respond_to?(:load_plugin_files) end + def load_env_plugins + Gem.load_env_plugins if Gem.respond_to?(:load_env_plugins) + end + def ui=(obj) Gem::DefaultUserInteraction.ui = obj end diff --git a/bundler/lib/bundler/settings.rb b/bundler/lib/bundler/settings.rb index 6ce81b5006ec..1c669491f64f 100644 --- a/bundler/lib/bundler/settings.rb +++ b/bundler/lib/bundler/settings.rb @@ -42,7 +42,6 @@ class Settings setup_makes_kernel_gem_public silence_deprecations silence_root_warning - specific_platform suppress_install_using_messages unlock_source_unlocks_spec update_requires_all_flag diff --git a/bundler/lib/bundler/source/git/git_proxy.rb b/bundler/lib/bundler/source/git/git_proxy.rb index 5dc1c8de32d7..7ac47044b30c 100644 --- a/bundler/lib/bundler/source/git/git_proxy.rb +++ b/bundler/lib/bundler/source/git/git_proxy.rb @@ -118,7 +118,7 @@ def copy_to(destination, submodules = false) git_retry %(clone --no-checkout --quiet "#{path}" "#{destination}") File.chmod(((File.stat(destination).mode | 0o777) & ~File.umask), destination) rescue Errno::EEXIST => e - file_path = e.message[%r{.*?(/.*)}, 1] + file_path = e.message[%r{.*?((?:[a-zA-Z]:)?/.*)}, 1] raise GitError, "Bundler could not install a gem because it needs to " \ "create a directory, but a file exists - #{file_path}. Please delete " \ "this file and try again." diff --git a/bundler/lib/bundler/spec_set.rb b/bundler/lib/bundler/spec_set.rb index 46e023de8754..aef854ce0c24 100644 --- a/bundler/lib/bundler/spec_set.rb +++ b/bundler/lib/bundler/spec_set.rb @@ -100,6 +100,7 @@ def materialized_for_all_platforms @specs.map do |s| next s unless s.is_a?(LazySpecification) s.source.dependency_names = names if s.source.respond_to?(:dependency_names=) + s.source.remote! spec = s.__materialize__ raise GemNotFound, "Could not find #{s.full_name} in any of the sources" unless spec spec diff --git a/bundler/lib/bundler/templates/newgem/README.md.tt b/bundler/lib/bundler/templates/newgem/README.md.tt index f81b85ca97a3..315bc745a35b 100644 --- a/bundler/lib/bundler/templates/newgem/README.md.tt +++ b/bundler/lib/bundler/templates/newgem/README.md.tt @@ -33,7 +33,6 @@ To install this gem onto your local machine, run `bundle exec rake install`. To ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/<%= config[:github_username] %>/<%= config[:name] %>.<% if config[:coc] %> This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/<%= config[:github_username] %>/<%= config[:name] %>/blob/master/CODE_OF_CONDUCT.md).<% end %> - <% if config[:mit] -%> ## License diff --git a/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt b/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt index a182b964beb6..caf6e32f4abf 100644 --- a/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +++ b/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt @@ -1,8 +1,8 @@ # frozen_string_literal: true -require "<%= config[:namespaced_path] %>/version" +require_relative "<%= File.basename(config[:namespaced_path]) %>/version" <%- if config[:ext] -%> -require "<%= config[:namespaced_path] %>/<%= config[:underscored_name] %>" +require_relative "<%= File.basename(config[:namespaced_path]) %>/<%= config[:underscored_name] %>" <%- end -%> <%- config[:constant_array].each_with_index do |c, i| -%> diff --git a/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt b/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt index 5b34f64346c7..97c3b6c5ab49 100644 --- a/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +++ b/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt @@ -33,4 +33,10 @@ Gem::Specification.new do |spec| <%- if config[:ext] -%> spec.extensions = ["ext/<%= config[:underscored_name] %>/extconf.rb"] <%- end -%> + + # Uncomment to register a new dependency of your gem + # spec.add_dependency "example-gem", "~> 1.0" + + # For more information and examples about making a new gem, checkout our + # guide at: https://bundler.io/guides/creating_gem.html end diff --git a/bundler/lib/bundler/uri_credentials_filter.rb b/bundler/lib/bundler/uri_credentials_filter.rb index 3f49254e716a..ccfaf0bc5de0 100644 --- a/bundler/lib/bundler/uri_credentials_filter.rb +++ b/bundler/lib/bundler/uri_credentials_filter.rb @@ -8,6 +8,8 @@ def credential_filtered_uri(uri_to_anonymize) return uri_to_anonymize if uri_to_anonymize.nil? uri = uri_to_anonymize.dup if uri.is_a?(String) + return uri if File.exist?(uri) + require_relative "vendored_uri" uri = Bundler::URI(uri) end diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb index baedefe98b5b..a52b96deafdc 100644 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +++ b/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require_relative 'molinillo/compatibility' require_relative 'molinillo/gem_metadata' require_relative 'molinillo/errors' require_relative 'molinillo/resolver' diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb deleted file mode 100644 index 3eba8e4083fe..000000000000 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -module Bundler::Molinillo - # Hacks needed for old Ruby versions. - module Compatibility - module_function - - if [].respond_to?(:flat_map) - # Flat map - # @param [Enumerable] enum an enumerable object - # @block the block to flat-map with - # @return The enum, flat-mapped - def flat_map(enum, &blk) - enum.flat_map(&blk) - end - else - # Flat map - # @param [Enumerable] enum an enumerable object - # @block the block to flat-map with - # @return The enum, flat-mapped - def flat_map(enum, &blk) - enum.map(&blk).flatten(1) - end - end - end -end diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb index 31578bb5bf95..d1d7045daf12 100644 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +++ b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb @@ -124,6 +124,7 @@ def to_dot(options = {}) dot.join("\n") end + # @param [DependencyGraph] other # @return [Boolean] whether the two dependency graphs are equal, determined # by a recursive traversal of each {#root_vertices} and its # {Vertex#successors} @@ -190,7 +191,7 @@ def root_vertex_named(name) # @return [Edge] the added edge def add_edge(origin, destination, requirement) if destination.path_to?(origin) - raise CircularDependencyError.new([origin, destination]) + raise CircularDependencyError.new(path(destination, origin)) end add_edge_no_circular(origin, destination, requirement) end @@ -219,5 +220,37 @@ def set_payload(name, payload) def add_edge_no_circular(origin, destination, requirement) log.add_edge_no_circular(self, origin.name, destination.name, requirement) end + + # Returns the path between two vertices + # @raise [ArgumentError] if there is no path between the vertices + # @param [Vertex] from + # @param [Vertex] to + # @return [Array] the shortest path from `from` to `to` + def path(from, to) + distances = Hash.new(vertices.size + 1) + distances[from.name] = 0 + predecessors = {} + each do |vertex| + vertex.successors.each do |successor| + if distances[successor.name] > distances[vertex.name] + 1 + distances[successor.name] = distances[vertex.name] + 1 + predecessors[successor] = vertex + end + end + end + + path = [to] + while before = predecessors[to] + path << before + to = before + break if to == from + end + + unless path.last.equal?(from) + raise ArgumentError, "There is no path from #{from.name} to #{to.name}" + end + + path.reverse + end end end diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb index fccfc78cc714..5b5da3e4f9ca 100644 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +++ b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb @@ -14,11 +14,11 @@ def self.action_name end # (see Action#up) - def up(_graph) + def up(graph) end # (see Action#down) - def down(_graph) + def down(graph) end # @!group Tag diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb index 89c7c324d5a6..4d64d2107211 100644 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +++ b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb @@ -65,7 +65,7 @@ class VersionConflict < ResolverError # @param [SpecificationProvider] specification_provider see {#specification_provider} def initialize(conflicts, specification_provider) pairs = [] - Compatibility.flat_map(conflicts.values.flatten, &:requirements).each do |conflicting| + conflicts.values.flat_map(&:requirements).each do |conflicting| conflicting.each do |source, conflict_requirements| conflict_requirements.each do |c| pairs << [c, source] diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb index 73f8fbf2ac95..e13a781a5050 100644 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +++ b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb @@ -2,5 +2,5 @@ module Bundler::Molinillo # The version of Bundler::Molinillo. - VERSION = '0.6.6'.freeze + VERSION = '0.7.0'.freeze end diff --git a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb index acf7777414a1..26b8bc745c40 100644 --- a/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +++ b/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb @@ -207,7 +207,7 @@ def resolve def start_resolution @started_at = Time.now - handle_missing_or_push_dependency_state(initial_state) + push_initial_state debug { "Starting resolution (#{@started_at})\nUser-requested dependencies: #{original_requested}" } resolver_ui.before_resolution @@ -273,10 +273,10 @@ def state states.last end - # Creates the initial state for the resolution, based upon the + # Creates and pushes the initial state for the resolution, based upon the # {#requested} dependencies - # @return [DependencyState] the initial state for the resolution - def initial_state + # @return [void] + def push_initial_state graph = DependencyGraph.new.tap do |dg| original_requested.each do |requested| vertex = dg.add_vertex(name_for(requested), nil, true) @@ -285,18 +285,7 @@ def initial_state dg.tag(:initial_state) end - requirements = sort_dependencies(original_requested, graph, {}) - initial_requirement = requirements.shift - DependencyState.new( - initial_requirement && name_for(initial_requirement), - requirements, - graph, - initial_requirement, - possibilities_for_requirement(initial_requirement, graph), - 0, - {}, - [] - ) + push_state_for_requirements(original_requested, true, graph) end # Unwinds the states stack because a conflict has been encountered @@ -361,7 +350,7 @@ def build_details_for_unwind current_detail end - # @param [Array] array of requirements that combine to create a conflict + # @param [Array] binding_requirements array of requirements that combine to create a conflict # @return [Array] array of UnwindDetails that have a chance # of resolving the passed requirements def unwind_options_for_requirements(binding_requirements) @@ -429,7 +418,7 @@ def unwind_options_for_requirements(binding_requirements) end # @param [DependencyState] state - # @param [Array] array of requirements + # @param [Array] binding_requirements array of requirements # @return [Boolean] whether or not the given state has any possibilities # that could satisfy the given requirements def conflict_fixing_possibilities?(state, binding_requirements) @@ -444,7 +433,8 @@ def conflict_fixing_possibilities?(state, binding_requirements) # Filter's a state's possibilities to remove any that would not fix the # conflict we've just rewound from - # @param [UnwindDetails] details of the conflict just unwound from + # @param [UnwindDetails] unwind_details details of the conflict just + # unwound from # @return [void] def filter_possibilities_after_unwind(unwind_details) return unless state && !state.possibilities.empty? @@ -458,7 +448,7 @@ def filter_possibilities_after_unwind(unwind_details) # Filter's a state's possibilities to remove any that would not satisfy # the requirements in the conflict we've just rewound from - # @param [UnwindDetails] details of the conflict just unwound from + # @param [UnwindDetails] unwind_details details of the conflict just unwound from # @return [void] def filter_possibilities_for_primary_unwind(unwind_details) unwinds_to_state = unused_unwind_options.select { |uw| uw.state_index == unwind_details.state_index } @@ -491,7 +481,7 @@ def possibility_satisfies_requirements?(possibility, requirements) # Filter's a state's possibilities to remove any that would (eventually) # create a requirement in the conflict we've just rewound from - # @param [UnwindDetails] details of the conflict just unwound from + # @param [UnwindDetails] unwind_details details of the conflict just unwound from # @return [void] def filter_possibilities_for_parent_unwind(unwind_details) unwinds_to_state = unused_unwind_options.select { |uw| uw.state_index == unwind_details.state_index } @@ -500,7 +490,7 @@ def filter_possibilities_for_parent_unwind(unwind_details) primary_unwinds = unwinds_to_state.select(&:unwinding_to_primary_requirement?).uniq parent_unwinds = unwinds_to_state.uniq - primary_unwinds - allowed_possibility_sets = Compatibility.flat_map(primary_unwinds) do |unwind| + allowed_possibility_sets = primary_unwinds.flat_map do |unwind| states[unwind.state_index].possibilities.select do |possibility_set| possibility_set.possibilities.any? do |poss| possibility_satisfies_requirements?(poss, unwind.conflicting_requirements) @@ -508,7 +498,7 @@ def filter_possibilities_for_parent_unwind(unwind_details) end end - requirements_to_avoid = Compatibility.flat_map(parent_unwinds, &:sub_dependencies_to_avoid) + requirements_to_avoid = parent_unwinds.flat_map(&:sub_dependencies_to_avoid) state.possibilities.reject! do |possibility_set| !allowed_possibility_sets.include?(possibility_set) && @@ -524,12 +514,12 @@ def binding_requirements_for_conflict(conflict) possible_binding_requirements = conflict.requirements.values.flatten(1).uniq - # When there’s a `CircularDependency` error the conflicting requirement - # (the one causing the circular) won’t be `conflict.requirement` - # (which won’t be for the right state, because we won’t have created it, - # because it’s circular). - # We need to make sure we have that requirement in the conflict’s list, - # otherwise we won’t be able to unwind properly, so we just return all + # When there's a `CircularDependency` error the conflicting requirement + # (the one causing the circular) won't be `conflict.requirement` + # (which won't be for the right state, because we won't have created it, + # because it's circular). + # We need to make sure we have that requirement in the conflict's list, + # otherwise we won't be able to unwind properly, so we just return all # the requirements for the conflict. return possible_binding_requirements if conflict.underlying_error @@ -558,8 +548,8 @@ def binding_requirements_for_conflict(conflict) end # @param [Object] requirement we wish to check - # @param [Array] array of requirements - # @param [Array] array of possibilities the requirements will be used to filter + # @param [Array] possible_binding_requirements array of requirements + # @param [Array] possibilities array of possibilities the requirements will be used to filter # @return [Boolean] whether or not the given requirement is required to filter # out all elements of the array of possibilities. def binding_requirement_in_set?(requirement, possible_binding_requirements, possibilities) @@ -568,6 +558,7 @@ def binding_requirement_in_set?(requirement, possible_binding_requirements, poss end end + # @param [Object] requirement # @return [Object] the requirement that led to `requirement` being added # to the list of requirements. def parent_of(requirement) @@ -577,6 +568,7 @@ def parent_of(requirement) parent_state.requirement end + # @param [String] name # @return [Object] the requirement that led to a version of a possibility # with the given name being activated. def requirement_for_existing_name(name) @@ -585,6 +577,7 @@ def requirement_for_existing_name(name) states.find { |s| s.name == name }.requirement end + # @param [Object] requirement # @return [ResolutionState] the state whose `requirement` is the given # `requirement`. def find_state_for(requirement) @@ -592,6 +585,7 @@ def find_state_for(requirement) states.find { |i| requirement == i.requirement } end + # @param [Object] underlying_error # @return [Conflict] a {Conflict} that reflects the failure to activate # the {#possibility} in conjunction with the current {#state} def create_conflict(underlying_error = nil) @@ -628,6 +622,7 @@ def requirement_trees vertex.requirements.map { |r| requirement_tree_for(r) } end + # @param [Object] requirement # @return [Array] the list of requirements that led to # `requirement` being required. def requirement_tree_for(requirement) @@ -673,9 +668,8 @@ def attempt_to_activate attempt_to_filter_existing_spec(existing_vertex) else latest = possibility.latest_version - # use reject!(!satisfied) for 1.8.7 compatibility - possibility.possibilities.reject! do |possibility| - !requirement_satisfied_by?(requirement, activated, possibility) + possibility.possibilities.select! do |possibility| + requirement_satisfied_by?(requirement, activated, possibility) end if possibility.latest_version.nil? # ensure there's a possibility for better error messages @@ -705,7 +699,7 @@ def attempt_to_filter_existing_spec(vertex) # Generates a filtered version of the existing vertex's `PossibilitySet` using the # current state's `requirement` - # @param [Object] existing vertex + # @param [Object] vertex existing vertex # @return [PossibilitySet] filtered possibility set def filtered_possibility_set(vertex) PossibilitySet.new(vertex.payload.dependencies, vertex.payload.possibilities & possibility.possibilities) @@ -730,7 +724,7 @@ def activate_new_spec end # Requires the dependencies that the recently activated spec has - # @param [Object] activated_possibility the PossibilitySet that has just been + # @param [Object] possibility_set the PossibilitySet that has just been # activated # @return [void] def require_nested_dependencies_for(possibility_set) @@ -749,6 +743,8 @@ def require_nested_dependencies_for(possibility_set) # Pushes a new {DependencyState} that encapsulates both existing and new # requirements # @param [Array] new_requirements + # @param [Boolean] requires_sort + # @param [Object] new_activated # @return [void] def push_state_for_requirements(new_requirements, requires_sort = true, new_activated = activated) new_requirements = sort_dependencies(new_requirements.uniq, new_activated, conflicts) if requires_sort @@ -767,7 +763,8 @@ def push_state_for_requirements(new_requirements, requires_sort = true, new_acti # Checks a proposed requirement with any existing locked requirement # before generating an array of possibilities for it. - # @param [Object] the proposed requirement + # @param [Object] requirement the proposed requirement + # @param [Object] activated # @return [Array] possibilities def possibilities_for_requirement(requirement, activated = self.activated) return [] unless requirement @@ -778,7 +775,8 @@ def possibilities_for_requirement(requirement, activated = self.activated) group_possibilities(search_for(requirement)) end - # @param [Object] the proposed requirement + # @param [Object] requirement the proposed requirement + # @param [Object] activated # @return [Array] possibility set containing only the locked requirement, if any def locked_requirement_possibility_set(requirement, activated = self.activated) all_possibilities = search_for(requirement) @@ -797,8 +795,8 @@ def locked_requirement_possibility_set(requirement, activated = self.activated) # Build an array of PossibilitySets, with each element representing a group of # dependency versions that all have the same sub-dependency version constraints # and are contiguous. - # @param [Array] an array of possibilities - # @return [Array] an array of possibility sets + # @param [Array] possibilities an array of possibilities + # @return [Array] an array of possibility sets def group_possibilities(possibilities) possibility_sets = [] current_possibility_set = nil diff --git a/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb b/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb index 847479a0af05..d0ab956faf24 100644 --- a/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +++ b/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb @@ -3,6 +3,8 @@ require 'cgi' # for escaping require_relative '../../../../connection_pool/lib/connection_pool' +autoload :OpenSSL, 'openssl' + ## # Persistent connections for Net::HTTP # @@ -147,14 +149,9 @@ class Bundler::Persistent::Net::HTTP::Persistent EPOCH = Time.at 0 # :nodoc: ## - # Is OpenSSL available? + # Is OpenSSL available? This test works with autoload - HAVE_OPENSSL = begin # :nodoc: - require 'openssl' - true - rescue LoadError - false - end + HAVE_OPENSSL = defined? OpenSSL::SSL # :nodoc: ## # The default connection pool size is 1/4 the allowed open files diff --git a/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb b/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb new file mode 100644 index 000000000000..a00496687cc1 --- /dev/null +++ b/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb @@ -0,0 +1,154 @@ +# frozen_string_literal: true +# +# tmpdir - retrieve temporary directory path +# +# $Id$ +# + +require_relative '../../fileutils/lib/fileutils' +begin + require 'etc.so' +rescue LoadError # rescue LoadError for miniruby +end + +class Bundler::Dir < Dir + + @systmpdir ||= defined?(Etc.systmpdir) ? Etc.systmpdir : '/tmp' + + ## + # Returns the operating system's temporary file path. + + def self.tmpdir + tmp = nil + ['TMPDIR', 'TMP', 'TEMP', ['system temporary path', @systmpdir], ['/tmp']*2, ['.']*2].each do |name, dir = ENV[name]| + next if !dir + dir = File.expand_path(dir) + stat = File.stat(dir) rescue next + case + when !stat.directory? + warn "#{name} is not a directory: #{dir}" + when !stat.writable? + warn "#{name} is not writable: #{dir}" + when stat.world_writable? && !stat.sticky? + warn "#{name} is world-writable: #{dir}" + else + tmp = dir + break + end + end + raise ArgumentError, "could not find a temporary directory" unless tmp + tmp + end + + # Bundler::Dir.mktmpdir creates a temporary directory. + # + # The directory is created with 0700 permission. + # Application should not change the permission to make the temporary directory accessible from other users. + # + # The prefix and suffix of the name of the directory is specified by + # the optional first argument, prefix_suffix. + # - If it is not specified or nil, "d" is used as the prefix and no suffix is used. + # - If it is a string, it is used as the prefix and no suffix is used. + # - If it is an array, first element is used as the prefix and second element is used as a suffix. + # + # Bundler::Dir.mktmpdir {|dir| dir is ".../d..." } + # Bundler::Dir.mktmpdir("foo") {|dir| dir is ".../foo..." } + # Bundler::Dir.mktmpdir(["foo", "bar"]) {|dir| dir is ".../foo...bar" } + # + # The directory is created under Bundler::Dir.tmpdir or + # the optional second argument tmpdir if non-nil value is given. + # + # Bundler::Dir.mktmpdir {|dir| dir is "#{Bundler::Dir.tmpdir}/d..." } + # Bundler::Dir.mktmpdir(nil, "/var/tmp") {|dir| dir is "/var/tmp/d..." } + # + # If a block is given, + # it is yielded with the path of the directory. + # The directory and its contents are removed + # using Bundler::FileUtils.remove_entry before Bundler::Dir.mktmpdir returns. + # The value of the block is returned. + # + # Bundler::Dir.mktmpdir {|dir| + # # use the directory... + # open("#{dir}/foo", "w") { ... } + # } + # + # If a block is not given, + # The path of the directory is returned. + # In this case, Bundler::Dir.mktmpdir doesn't remove the directory. + # + # dir = Bundler::Dir.mktmpdir + # begin + # # use the directory... + # open("#{dir}/foo", "w") { ... } + # ensure + # # remove the directory. + # Bundler::FileUtils.remove_entry dir + # end + # + def self.mktmpdir(prefix_suffix=nil, *rest, **options) + base = nil + path = Tmpname.create(prefix_suffix || "d", *rest, **options) {|p, _, _, d| + base = d + mkdir(p, 0700) + } + if block_given? + begin + yield path.dup + ensure + unless base + stat = File.stat(File.dirname(path)) + if stat.world_writable? and !stat.sticky? + raise ArgumentError, "parent directory is world writable but not sticky" + end + end + Bundler::FileUtils.remove_entry path + end + else + path + end + end + + module Tmpname # :nodoc: + module_function + + def tmpdir + Bundler::Dir.tmpdir + end + + UNUSABLE_CHARS = [File::SEPARATOR, File::ALT_SEPARATOR, File::PATH_SEPARATOR, ":"].uniq.join("").freeze + + class << (RANDOM = Random.new) + MAX = 36**6 # < 0x100000000 + def next + rand(MAX).to_s(36) + end + end + private_constant :RANDOM + + def create(basename, tmpdir=nil, max_try: nil, **opts) + origdir = tmpdir + tmpdir ||= tmpdir() + n = nil + prefix, suffix = basename + prefix = (String.try_convert(prefix) or + raise ArgumentError, "unexpected prefix: #{prefix.inspect}") + prefix = prefix.delete(UNUSABLE_CHARS) + suffix &&= (String.try_convert(suffix) or + raise ArgumentError, "unexpected suffix: #{suffix.inspect}") + suffix &&= suffix.delete(UNUSABLE_CHARS) + begin + t = Time.now.strftime("%Y%m%d") + path = "#{prefix}#{t}-#{$$}-#{RANDOM.next}"\ + "#{n ? %[-#{n}] : ''}#{suffix||''}" + path = File.join(tmpdir, path) + yield(path, n, opts, origdir) + rescue Errno::EEXIST + n ||= 0 + n += 1 + retry if !max_try or n < max_try + raise "cannot generate temporary name using `#{basename}' under `#{tmpdir}'" + end + path + end + end +end diff --git a/bundler/lib/bundler/vendored_tmpdir.rb b/bundler/lib/bundler/vendored_tmpdir.rb new file mode 100644 index 000000000000..43b4fa75fe07 --- /dev/null +++ b/bundler/lib/bundler/vendored_tmpdir.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +module Bundler; end +require_relative "vendor/tmpdir/lib/tmpdir" diff --git a/bundler/lib/bundler/version.rb b/bundler/lib/bundler/version.rb index 4b2b0ec3c169..c865621acba0 100644 --- a/bundler/lib/bundler/version.rb +++ b/bundler/lib/bundler/version.rb @@ -1,7 +1,7 @@ # frozen_string_literal: false module Bundler - VERSION = "2.2.0.rc.2".freeze + VERSION = "2.2.0".freeze def self.bundler_major_version @bundler_major_version ||= VERSION.split(".").first.to_i diff --git a/bundler/man/bundle-add.1 b/bundler/man/bundle-add.1 index 486c24971905..985d3be8b13b 100644 --- a/bundler/man/bundle-add.1 +++ b/bundler/man/bundle-add.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-ADD" "1" "October 2020" "" "" +.TH "BUNDLE\-ADD" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install diff --git a/bundler/man/bundle-binstubs.1 b/bundler/man/bundle-binstubs.1 index 782a464c1618..75d6b98c9627 100644 --- a/bundler/man/bundle-binstubs.1 +++ b/bundler/man/bundle-binstubs.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-BINSTUBS" "1" "October 2020" "" "" +.TH "BUNDLE\-BINSTUBS" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems diff --git a/bundler/man/bundle-cache.1 b/bundler/man/bundle-cache.1 index f840893f964b..313359d78f87 100644 --- a/bundler/man/bundle-cache.1 +++ b/bundler/man/bundle-cache.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-CACHE" "1" "October 2020" "" "" +.TH "BUNDLE\-CACHE" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application diff --git a/bundler/man/bundle-check.1 b/bundler/man/bundle-check.1 index 4c7bc3f32974..3f1a4bc329fe 100644 --- a/bundler/man/bundle-check.1 +++ b/bundler/man/bundle-check.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-CHECK" "1" "October 2020" "" "" +.TH "BUNDLE\-CHECK" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems diff --git a/bundler/man/bundle-clean.1 b/bundler/man/bundle-clean.1 index dd1682a48b93..1c111ae90690 100644 --- a/bundler/man/bundle-clean.1 +++ b/bundler/man/bundle-clean.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-CLEAN" "1" "October 2020" "" "" +.TH "BUNDLE\-CLEAN" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory diff --git a/bundler/man/bundle-config.1 b/bundler/man/bundle-config.1 index d989aaeb865d..39b32e749670 100644 --- a/bundler/man/bundle-config.1 +++ b/bundler/man/bundle-config.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-CONFIG" "1" "October 2020" "" "" +.TH "BUNDLE\-CONFIG" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-config\fR \- Set bundler configuration options @@ -262,9 +262,6 @@ The following is a list of all configuration keys and their purpose\. You can le \fBsilence_root_warning\fR (\fBBUNDLE_SILENCE_ROOT_WARNING\fR): Silence the warning Bundler prints when installing gems as root\. . .IP "\(bu" 4 -\fBspecific_platform\fR (\fBBUNDLE_SPECIFIC_PLATFORM\fR): Allow bundler to resolve for the specific running platform and store it in the lockfile, instead of only using a generic platform\. A specific platform is the exact platform triple reported by \fBGem::Platform\.local\fR, such as \fBx86_64\-darwin\-16\fR or \fBuniversal\-java\-1\.8\fR\. On the other hand, generic platforms are those such as \fBruby\fR, \fBmswin\fR, or \fBjava\fR\. In this example, \fBx86_64\-darwin\-16\fR would map to \fBruby\fR and \fBuniversal\-java\-1\.8\fR to \fBjava\fR\. -. -.IP "\(bu" 4 \fBssl_ca_cert\fR (\fBBUNDLE_SSL_CA_CERT\fR): Path to a designated CA certificate file or folder containing multiple certificates for trusted CAs in PEM format\. . .IP "\(bu" 4 @@ -441,7 +438,7 @@ For gems with a git source with HTTP(S) URL you can specify credentials like so: . .nf -bundle config set \-\-global https://github\.com/bundler/bundler\.git username:password +bundle config set \-\-global https://github\.com/rubygems/rubygems\.git username:password . .fi . diff --git a/bundler/man/bundle-doctor.1 b/bundler/man/bundle-doctor.1 index 82f0fc6fba37..39841c8032a1 100644 --- a/bundler/man/bundle-doctor.1 +++ b/bundler/man/bundle-doctor.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-DOCTOR" "1" "October 2020" "" "" +.TH "BUNDLE\-DOCTOR" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-doctor\fR \- Checks the bundle for common problems diff --git a/bundler/man/bundle-exec.1 b/bundler/man/bundle-exec.1 index 4dc42bed288f..b8c1b308c345 100644 --- a/bundler/man/bundle-exec.1 +++ b/bundler/man/bundle-exec.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-EXEC" "1" "October 2020" "" "" +.TH "BUNDLE\-EXEC" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-exec\fR \- Execute a command in the context of the bundle diff --git a/bundler/man/bundle-gem.1 b/bundler/man/bundle-gem.1 index 124df739cc22..65c35615c5e7 100644 --- a/bundler/man/bundle-gem.1 +++ b/bundler/man/bundle-gem.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-GEM" "1" "October 2020" "" "" +.TH "BUNDLE\-GEM" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem diff --git a/bundler/man/bundle-info.1 b/bundler/man/bundle-info.1 index 2d860d51abbd..b20396d273e9 100644 --- a/bundler/man/bundle-info.1 +++ b/bundler/man/bundle-info.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-INFO" "1" "October 2020" "" "" +.TH "BUNDLE\-INFO" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-info\fR \- Show information for the given gem in your bundle diff --git a/bundler/man/bundle-init.1 b/bundler/man/bundle-init.1 index c21e2690715b..b6714730c4af 100644 --- a/bundler/man/bundle-init.1 +++ b/bundler/man/bundle-init.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-INIT" "1" "October 2020" "" "" +.TH "BUNDLE\-INIT" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-init\fR \- Generates a Gemfile into the current working directory diff --git a/bundler/man/bundle-inject.1 b/bundler/man/bundle-inject.1 index 20bcbba735f5..9704eba89bac 100644 --- a/bundler/man/bundle-inject.1 +++ b/bundler/man/bundle-inject.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-INJECT" "1" "October 2020" "" "" +.TH "BUNDLE\-INJECT" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile diff --git a/bundler/man/bundle-install.1 b/bundler/man/bundle-install.1 index 0abd1a31e262..7c34f37cdd1a 100644 --- a/bundler/man/bundle-install.1 +++ b/bundler/man/bundle-install.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-INSTALL" "1" "October 2020" "" "" +.TH "BUNDLE\-INSTALL" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile @@ -67,7 +67,7 @@ The maximum number of parallel download and install jobs\. The default is \fB1\f . .TP \fB\-\-local\fR -Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems\' cache or in \fBvendor/cache\fR\. Note that if a appropriate platform\-specific gem exists on \fBrubygems\.org\fR it will not be found\. +Do not attempt to connect to \fBrubygems\.org\fR\. Instead, Bundler will use the gems already present in Rubygems\' cache or in \fBvendor/cache\fR\. Note that if an appropriate platform\-specific gem exists on \fBrubygems\.org\fR it will not be found\. . .TP \fB\-\-no\-cache\fR diff --git a/bundler/man/bundle-list.1 b/bundler/man/bundle-list.1 index ebedb62b38e5..d758e61a4962 100644 --- a/bundler/man/bundle-list.1 +++ b/bundler/man/bundle-list.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-LIST" "1" "October 2020" "" "" +.TH "BUNDLE\-LIST" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-list\fR \- List all the gems in the bundle diff --git a/bundler/man/bundle-lock.1 b/bundler/man/bundle-lock.1 index 350f1b3daab4..a70043df00dc 100644 --- a/bundler/man/bundle-lock.1 +++ b/bundler/man/bundle-lock.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-LOCK" "1" "October 2020" "" "" +.TH "BUNDLE\-LOCK" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing diff --git a/bundler/man/bundle-open.1 b/bundler/man/bundle-open.1 index 9986d5004c2c..631280c969c6 100644 --- a/bundler/man/bundle-open.1 +++ b/bundler/man/bundle-open.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-OPEN" "1" "October 2020" "" "" +.TH "BUNDLE\-OPEN" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-open\fR \- Opens the source directory for a gem in your bundle diff --git a/bundler/man/bundle-outdated.1 b/bundler/man/bundle-outdated.1 index 3fc3cdc601b7..66cfe1a5f75f 100644 --- a/bundler/man/bundle-outdated.1 +++ b/bundler/man/bundle-outdated.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-OUTDATED" "1" "October 2020" "" "" +.TH "BUNDLE\-OUTDATED" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-outdated\fR \- List installed gems with newer versions available diff --git a/bundler/man/bundle-platform.1 b/bundler/man/bundle-platform.1 index b4c521e0c1a1..9fda7cb92c45 100644 --- a/bundler/man/bundle-platform.1 +++ b/bundler/man/bundle-platform.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-PLATFORM" "1" "October 2020" "" "" +.TH "BUNDLE\-PLATFORM" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-platform\fR \- Displays platform compatibility information diff --git a/bundler/man/bundle-pristine.1 b/bundler/man/bundle-pristine.1 index 0a1790655efd..456108174627 100644 --- a/bundler/man/bundle-pristine.1 +++ b/bundler/man/bundle-pristine.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-PRISTINE" "1" "October 2020" "" "" +.TH "BUNDLE\-PRISTINE" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-pristine\fR \- Restores installed gems to their pristine condition diff --git a/bundler/man/bundle-remove.1 b/bundler/man/bundle-remove.1 index ee24f676a64c..b649f62673fb 100644 --- a/bundler/man/bundle-remove.1 +++ b/bundler/man/bundle-remove.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-REMOVE" "1" "October 2020" "" "" +.TH "BUNDLE\-REMOVE" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-remove\fR \- Removes gems from the Gemfile diff --git a/bundler/man/bundle-show.1 b/bundler/man/bundle-show.1 index f83c810ffe49..1b0608f75a4b 100644 --- a/bundler/man/bundle-show.1 +++ b/bundler/man/bundle-show.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-SHOW" "1" "October 2020" "" "" +.TH "BUNDLE\-SHOW" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem diff --git a/bundler/man/bundle-update.1 b/bundler/man/bundle-update.1 index 002f2e69b940..f9922f6618aa 100644 --- a/bundler/man/bundle-update.1 +++ b/bundler/man/bundle-update.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-UPDATE" "1" "October 2020" "" "" +.TH "BUNDLE\-UPDATE" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-update\fR \- Update your gems to the latest available versions diff --git a/bundler/man/bundle-viz.1 b/bundler/man/bundle-viz.1 index cb2fcde537e2..2f68f644bf7f 100644 --- a/bundler/man/bundle-viz.1 +++ b/bundler/man/bundle-viz.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE\-VIZ" "1" "October 2020" "" "" +.TH "BUNDLE\-VIZ" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile diff --git a/bundler/man/bundle.1 b/bundler/man/bundle.1 index 86d0aec4973b..232752e914d2 100644 --- a/bundler/man/bundle.1 +++ b/bundler/man/bundle.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BUNDLE" "1" "October 2020" "" "" +.TH "BUNDLE" "1" "November 2020" "" "" . .SH "NAME" \fBbundle\fR \- Ruby Dependency Management diff --git a/bundler/man/gemfile.5 b/bundler/man/gemfile.5 index 401487c688b7..f501db2b663f 100644 --- a/bundler/man/gemfile.5 +++ b/bundler/man/gemfile.5 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "GEMFILE" "5" "October 2020" "" "" +.TH "GEMFILE" "5" "November 2020" "" "" . .SH "NAME" \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs diff --git a/bundler/man/index.txt b/bundler/man/index.txt new file mode 100644 index 000000000000..ef2956b2f96f --- /dev/null +++ b/bundler/man/index.txt @@ -0,0 +1,25 @@ +Gemfile(5) gemfile.5 +bundle(1) bundle.1 +bundle-add(1) bundle-add.1 +bundle-binstubs(1) bundle-binstubs.1 +bundle-cache(1) bundle-cache.1 +bundle-check(1) bundle-check.1 +bundle-clean(1) bundle-clean.1 +bundle-config(1) bundle-config.1 +bundle-doctor(1) bundle-doctor.1 +bundle-exec(1) bundle-exec.1 +bundle-gem(1) bundle-gem.1 +bundle-info(1) bundle-info.1 +bundle-init(1) bundle-init.1 +bundle-inject(1) bundle-inject.1 +bundle-install(1) bundle-install.1 +bundle-list(1) bundle-list.1 +bundle-lock(1) bundle-lock.1 +bundle-open(1) bundle-open.1 +bundle-outdated(1) bundle-outdated.1 +bundle-platform(1) bundle-platform.1 +bundle-pristine(1) bundle-pristine.1 +bundle-remove(1) bundle-remove.1 +bundle-show(1) bundle-show.1 +bundle-update(1) bundle-update.1 +bundle-viz(1) bundle-viz.1 diff --git a/bundler/spec/bundler/compact_index_client/updater_spec.rb b/bundler/spec/bundler/compact_index_client/updater_spec.rb index 26159dccd8b7..acb312edb3ac 100644 --- a/bundler/spec/bundler/compact_index_client/updater_spec.rb +++ b/bundler/spec/bundler/compact_index_client/updater_spec.rb @@ -3,28 +3,25 @@ require "net/http" require "bundler/compact_index_client" require "bundler/compact_index_client/updater" +require "tmpdir" RSpec.describe Bundler::CompactIndexClient::Updater do let(:fetcher) { double(:fetcher) } - let(:local_path) { Pathname("/tmp/localpath") } + let(:local_path) { Pathname.new Dir.mktmpdir("localpath") } let(:remote_path) { double(:remote_path) } let!(:updater) { described_class.new(fetcher) } context "when the ETag header is missing" do # Regression test for https://github.com/rubygems/bundler/issues/5463 + let(:response) { double(:response, :body => "abc123") } - let(:response) { double(:response, :body => "") } - - it "MisMatchedChecksumError is raised" do - # Twice: #update retries on failure - expect(response).to receive(:[]).with("Content-Encoding").twice { "" } - expect(response).to receive(:[]).with("ETag").twice { nil } - expect(fetcher).to receive(:call).twice { response } + it "treats the response as an update" do + expect(response).to receive(:[]).with("Content-Encoding") { "" } + expect(response).to receive(:[]).with("ETag") { nil } + expect(fetcher).to receive(:call) { response } - expect do - updater.update(local_path, remote_path) - end.to raise_error(Bundler::CompactIndexClient::Updater::MisMatchedChecksumError) + updater.update(local_path, remote_path) end end @@ -43,7 +40,8 @@ context "when bundler doesn't have permissions on Dir.tmpdir" do it "Errno::EACCES is raised" do - allow(Dir).to receive(:mktmpdir) { raise Errno::EACCES } + local_path # create local path before stubbing mktmpdir + allow(Bundler::Dir).to receive(:mktmpdir) { raise Errno::EACCES } expect do updater.update(local_path, remote_path) diff --git a/bundler/spec/bundler/env_spec.rb b/bundler/spec/bundler/env_spec.rb index e90096335040..ac65c34b0d24 100644 --- a/bundler/spec/bundler/env_spec.rb +++ b/bundler/spec/bundler/env_spec.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require "openssl" require "bundler/settings" RSpec.describe Bundler::Env do diff --git a/bundler/spec/bundler/fetcher/index_spec.rb b/bundler/spec/bundler/fetcher/index_spec.rb index 5ecd7d9e059e..b8ce46321e1b 100644 --- a/bundler/spec/bundler/fetcher/index_spec.rb +++ b/bundler/spec/bundler/fetcher/index_spec.rb @@ -17,100 +17,81 @@ end context "error handling" do - shared_examples_for "the error is properly handled" do - let(:remote_uri) { Bundler::URI("http://remote-uri.org") } - before do - allow(subject).to receive(:remote_uri).and_return(remote_uri) - end + let(:remote_uri) { Bundler::URI("http://remote-uri.org") } + before do + allow(rubygems).to receive(:fetch_all_remote_specs) { raise Gem::RemoteFetcher::FetchError.new(error_message, display_uri) } + allow(subject).to receive(:remote_uri).and_return(remote_uri) + end - context "when certificate verify failed" do - let(:error_message) { "certificate verify failed" } + context "when certificate verify failed" do + let(:error_message) { "certificate verify failed" } - it "should raise a Bundler::Fetcher::CertificateFailureError" do - expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::CertificateFailureError, - %r{Could not verify the SSL certificate for http://sample_uri.com}) - end + it "should raise a Bundler::Fetcher::CertificateFailureError" do + expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::CertificateFailureError, + %r{Could not verify the SSL certificate for http://sample_uri.com}) end + end - context "when a 401 response occurs" do - let(:error_message) { "401" } - - before do - allow(remote_uri).to receive(:userinfo).and_return(userinfo) - end - - context "and there was userinfo" do - let(:userinfo) { double(:userinfo) } + context "when a 401 response occurs" do + let(:error_message) { "401" } - it "should raise a Bundler::Fetcher::BadAuthenticationError" do - expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::BadAuthenticationError, - %r{Bad username or password for http://remote-uri.org}) - end - end + before do + allow(remote_uri).to receive(:userinfo).and_return(userinfo) + end - context "and there was no userinfo" do - let(:userinfo) { nil } + context "and there was userinfo" do + let(:userinfo) { double(:userinfo) } - it "should raise a Bundler::Fetcher::AuthenticationRequiredError" do - expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::AuthenticationRequiredError, - %r{Authentication is required for http://remote-uri.org}) - end + it "should raise a Bundler::Fetcher::BadAuthenticationError" do + expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::BadAuthenticationError, + %r{Bad username or password for http://remote-uri.org}) end end - context "when a 403 response occurs" do - let(:error_message) { "403" } + context "and there was no userinfo" do + let(:userinfo) { nil } - before do - allow(remote_uri).to receive(:userinfo).and_return(userinfo) + it "should raise a Bundler::Fetcher::AuthenticationRequiredError" do + expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::AuthenticationRequiredError, + %r{Authentication is required for http://remote-uri.org}) end + end + end - context "and there was userinfo" do - let(:userinfo) { double(:userinfo) } + context "when a 403 response occurs" do + let(:error_message) { "403" } - it "should raise a Bundler::Fetcher::BadAuthenticationError" do - expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::BadAuthenticationError, - %r{Bad username or password for http://remote-uri.org}) - end - end + before do + allow(remote_uri).to receive(:userinfo).and_return(userinfo) + end - context "and there was no userinfo" do - let(:userinfo) { nil } + context "and there was userinfo" do + let(:userinfo) { double(:userinfo) } - it "should raise a Bundler::Fetcher::AuthenticationRequiredError" do - expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::AuthenticationRequiredError, - %r{Authentication is required for http://remote-uri.org}) - end + it "should raise a Bundler::Fetcher::BadAuthenticationError" do + expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::BadAuthenticationError, + %r{Bad username or password for http://remote-uri.org}) end end - context "any other message is returned" do - let(:error_message) { "You get an error, you get an error!" } - - before { allow(Bundler).to receive(:ui).and_return(double(:trace => nil)) } + context "and there was no userinfo" do + let(:userinfo) { nil } - it "should raise a Bundler::HTTPError" do - expect { subject.specs(gem_names) }.to raise_error(Bundler::HTTPError, "Could not fetch specs from http://sample_uri.com") + it "should raise a Bundler::Fetcher::AuthenticationRequiredError" do + expect { subject.specs(gem_names) }.to raise_error(Bundler::Fetcher::AuthenticationRequiredError, + %r{Authentication is required for http://remote-uri.org}) end end end - context "when a Gem::RemoteFetcher::FetchError occurs" do - before { allow(rubygems).to receive(:fetch_all_remote_specs) { raise Gem::RemoteFetcher::FetchError.new(error_message, nil) } } + context "any other message is returned" do + let(:error_message) { "You get an error, you get an error!" } - it_behaves_like "the error is properly handled" - end + before { allow(Bundler).to receive(:ui).and_return(double(:trace => nil)) } - context "when a OpenSSL::SSL::SSLError occurs" do - before { allow(rubygems).to receive(:fetch_all_remote_specs) { raise OpenSSL::SSL::SSLError.new(error_message) } } - - it_behaves_like "the error is properly handled" - end - - context "when a Net::HTTPFatalError occurs" do - before { allow(rubygems).to receive(:fetch_all_remote_specs) { raise Net::HTTPFatalError.new(error_message, 404) } } - - it_behaves_like "the error is properly handled" + it "should raise a Bundler::HTTPError" do + expect { subject.specs(gem_names) }.to raise_error(Bundler::HTTPError, "Could not fetch specs from http://sample_uri.com due to underlying error ") + end end end end diff --git a/bundler/spec/bundler/plugin/api/source_spec.rb b/bundler/spec/bundler/plugin/api/source_spec.rb index 2c50ff56a43a..428ceb220a03 100644 --- a/bundler/spec/bundler/plugin/api/source_spec.rb +++ b/bundler/spec/bundler/plugin/api/source_spec.rb @@ -79,4 +79,10 @@ end end end + + describe "to_s" do + it "returns the string with type and uri" do + expect(source.to_s).to eq("plugin source for spec_type with uri uri://to/test") + end + end end diff --git a/bundler/spec/bundler/source/git/git_proxy_spec.rb b/bundler/spec/bundler/source/git/git_proxy_spec.rb index 169d7234b411..4744e0cd4c65 100644 --- a/bundler/spec/bundler/source/git/git_proxy_spec.rb +++ b/bundler/spec/bundler/source/git/git_proxy_spec.rb @@ -2,7 +2,7 @@ RSpec.describe Bundler::Source::Git::GitProxy do let(:path) { Pathname("path") } - let(:uri) { "https://github.com/bundler/bundler.git" } + let(:uri) { "https://github.com/rubygems/rubygems.git" } let(:ref) { "HEAD" } let(:revision) { nil } let(:git_source) { nil } @@ -11,20 +11,20 @@ context "with configured credentials" do it "adds username and password to URI" do Bundler.settings.temporary(uri => "u:p") do - expect(subject).to receive(:git_retry).with(match("https://u:p@github.com/bundler/bundler.git")) + expect(subject).to receive(:git_retry).with(match("https://u:p@github.com/rubygems/rubygems.git")) subject.checkout end end it "adds username and password to URI for host" do Bundler.settings.temporary("github.com" => "u:p") do - expect(subject).to receive(:git_retry).with(match("https://u:p@github.com/bundler/bundler.git")) + expect(subject).to receive(:git_retry).with(match("https://u:p@github.com/rubygems/rubygems.git")) subject.checkout end end it "does not add username and password to mismatched URI" do - Bundler.settings.temporary("https://u:p@github.com/bundler/bundler-mismatch.git" => "u:p") do + Bundler.settings.temporary("https://u:p@github.com/rubygems/rubygems-mismatch.git" => "u:p") do expect(subject).to receive(:git_retry).with(match(uri)) subject.checkout end @@ -32,7 +32,7 @@ it "keeps original userinfo" do Bundler.settings.temporary("github.com" => "u:p") do - original = "https://orig:info@github.com/bundler/bundler.git" + original = "https://orig:info@github.com/rubygems/rubygems.git" subject = described_class.new(Pathname("path"), original, "HEAD") expect(subject).to receive(:git_retry).with(match(original)) subject.checkout diff --git a/bundler/spec/cache/gems_spec.rb b/bundler/spec/cache/gems_spec.rb index 2b5ba733f073..161ec64218c4 100644 --- a/bundler/spec/cache/gems_spec.rb +++ b/bundler/spec/cache/gems_spec.rb @@ -197,7 +197,12 @@ end it "adds and removes when gems are updated" do - update_repo2 + update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + end + bundle "update", :all => true expect(cached_gem("rack-1.2")).to exist expect(cached_gem("rack-1.0.0")).not_to exist diff --git a/bundler/spec/commands/binstubs_spec.rb b/bundler/spec/commands/binstubs_spec.rb index 632c521caaf1..3b177b32ea7b 100644 --- a/bundler/spec/commands/binstubs_spec.rb +++ b/bundler/spec/commands/binstubs_spec.rb @@ -51,6 +51,18 @@ expect(bundled_app("bin/rake")).to exist end + it "allows installing binstubs for all platforms" do + install_gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem "rack" + G + + bundle "binstubs rack --all-platforms" + + expect(bundled_app("bin/rackup")).to exist + expect(bundled_app("bin/rackup.cmd")).to exist + end + it "displays an error when used without any gem" do install_gemfile <<-G source "#{file_uri_for(gem_repo1)}" @@ -96,6 +108,10 @@ before do pristine_system_gems "bundler-#{system_bundler_version}" build_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "prints_loaded_gems", "1.0" do |s| s.executables = "print_loaded_gems" s.bindir = "exe" @@ -262,7 +278,7 @@ end it "sets correct permissions for binstubs" do - skip "https://github.com/rubygems/bundler/issues/6895" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3352" if Gem.win_platform? with_umask(0o002) do install_gemfile <<-G @@ -352,6 +368,14 @@ expect(bundled_app("foo/rackup")).to exist end end + + context "when specified --all-platforms option" do + it "generates standalone binstubs for all platforms" do + bundle "binstubs rack --standalone --all-platforms" + expect(bundled_app("bin/rackup")).to exist + expect(bundled_app("bin/rackup.cmd")).to exist + end + end end context "when the bin already exists" do @@ -417,8 +441,14 @@ end it "works if the gem has development dependencies" do + build_repo2 do + build_gem "with_development_dependency" do |s| + s.add_development_dependency "activesupport", "= 2.3.5" + end + end + install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "with_development_dependency" G diff --git a/bundler/spec/commands/check_spec.rb b/bundler/spec/commands/check_spec.rb index dd691726771f..5a746591b3cd 100644 --- a/bundler/spec/commands/check_spec.rb +++ b/bundler/spec/commands/check_spec.rb @@ -71,13 +71,19 @@ end it "prints a generic message if you changed your lockfile" do + build_repo2 do + build_gem "rails_pinned_to_old_activesupport" do |s| + s.add_dependency "activesupport", "= 1.2.3" + end + end + install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem 'rails' G gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rails" gem "rails_pinned_to_old_activesupport" G diff --git a/bundler/spec/commands/clean_spec.rb b/bundler/spec/commands/clean_spec.rb index bd8e7f16c76a..7c43aaabc48b 100644 --- a/bundler/spec/commands/clean_spec.rb +++ b/bundler/spec/commands/clean_spec.rb @@ -603,8 +603,7 @@ def should_not_have_gems(*gems) it "when using --force on system gems, it doesn't remove binaries" do bundle "config set path.system true" - build_repo2 - update_repo2 do + build_repo2 do build_gem "bindir" do |s| s.bindir = "exe" s.executables = "foo" @@ -640,7 +639,7 @@ def should_not_have_gems(*gems) end end - realworld_system_gems "fiddle" + realworld_system_gems "fiddle --version 1.0.0" install_gemfile <<-G source "#{file_uri_for(gem_repo2)}" diff --git a/bundler/spec/commands/console_spec.rb b/bundler/spec/commands/console_spec.rb index 3092184f458e..6f1e96261efb 100644 --- a/bundler/spec/commands/console_spec.rb +++ b/bundler/spec/commands/console_spec.rb @@ -2,8 +2,43 @@ RSpec.describe "bundle console", :bundler => "< 3", :readline => true do before :each do + build_repo2 do + # A minimal fake pry console + build_gem "pry" do |s| + s.write "lib/pry.rb", <<-RUBY + class Pry + class << self + def toplevel_binding + unless defined?(@toplevel_binding) && @toplevel_binding + TOPLEVEL_BINDING.eval %{ + def self.__pry__; binding; end + Pry.instance_variable_set(:@toplevel_binding, __pry__) + class << self; undef __pry__; end + } + end + @toplevel_binding.eval('private') + @toplevel_binding + end + + def __pry__ + while line = gets + begin + puts eval(line, toplevel_binding).inspect.sub(/^"(.*)"$/, '=> \\1') + rescue Exception => e + puts "\#{e.class}: \#{e.message}" + puts e.backtrace.first + end + end + end + alias start __pry__ + end + end + RUBY + end + end + install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack" gem "activesupport", :group => :test gem "rack_middleware", :group => :development @@ -28,7 +63,7 @@ it "starts another REPL if configured as such" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "pry" G bundle "config set console pry" @@ -87,7 +122,7 @@ it "performs an automatic bundle install" do gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack" gem "activesupport", :group => :test gem "rack_middleware", :group => :development diff --git a/bundler/spec/commands/exec_spec.rb b/bundler/spec/commands/exec_spec.rb index fbce4b7bc1a6..4c3496405322 100644 --- a/bundler/spec/commands/exec_spec.rb +++ b/bundler/spec/commands/exec_spec.rb @@ -68,7 +68,7 @@ end it "respects custom process title when loading through ruby" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? script_that_changes_its_own_title_and_checks_if_picked_up_by_ps_unix_utility = <<~'RUBY' Process.setproctitle("1-2-3-4-5-6-7") @@ -93,7 +93,7 @@ end it "handles --keep-file-descriptors" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? require "tempfile" @@ -126,7 +126,7 @@ end it "can run a command named --verbose" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? install_gemfile 'gem "rack"' File.open(bundled_app("--verbose"), "w") do |f| @@ -286,7 +286,7 @@ end it "does not duplicate already exec'ed RUBYOPT" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? install_gemfile <<-G gem "rack" @@ -304,7 +304,7 @@ end it "does not duplicate already exec'ed RUBYLIB" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? install_gemfile <<-G gem "rack" @@ -357,7 +357,7 @@ bundle "config set clean false" # want to keep the rackup binstub install_gemfile <<-G source "#{file_uri_for(gem_repo1)}" - gem "with_license" + gem "foo" G [true, false].each do |l| bundle "config set disable_exec_load #{l}" @@ -373,7 +373,7 @@ each_prefix.call("exec") do |exec| describe "when #{exec} is used" do before(:each) do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? install_gemfile <<-G gem "rack" @@ -588,7 +588,7 @@ describe "with gems bundled for deployment" do it "works when calling bundler from another script" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? gemfile <<-G module Monkey @@ -644,7 +644,7 @@ def bin_path(a,b,c) shared_examples_for "it runs" do it "like a normally executed executable" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? subject expect(exitstatus).to eq(exit_code) @@ -698,15 +698,23 @@ def bin_path(a,b,c) let(:exit_code) { 1 } let(:expected_err) do "bundler: failed to load command: #{path} (#{path})" \ - "\nRuntimeError: ERROR\n #{path}:10:in `'" + "\n#{path}:10:in `': ERROR (RuntimeError)" + end + + it "runs like a normally executed executable" do + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? + + subject + expect(exitstatus).to eq(exit_code) + expect(err).to start_with(expected_err) + expect(out).to eq(expected) end - it_behaves_like "it runs" end context "the executable raises an error without a backtrace" do let(:executable) { super() << "\nclass Err < Exception\ndef backtrace; end;\nend\nraise Err" } let(:exit_code) { 1 } - let(:expected_err) { "bundler: failed to load command: #{path} (#{path})\nErr: Err" } + let(:expected_err) { "bundler: failed to load command: #{path} (#{path})\n#{system_gem_path("bin/bundle")}: Err (Err)" } let(:expected) { super() } it_behaves_like "it runs" @@ -747,7 +755,7 @@ def bin_path(a,b,c) let(:expected) { "" } let(:expected_err) { <<-EOS.strip } \e[31mCould not find gem 'rack (= 2)' in locally installed gems. -The source contains 'rack' at: 1.0.0\e[0m +The source contains the following versions of 'rack': 1.0.0\e[0m \e[33mRun `bundle install` to install missing gems.\e[0m EOS @@ -825,7 +833,7 @@ def bin_path(a,b,c) RUBY it "receives the signal" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? bundle("exec #{path}") do |_, o, thr| o.gets # Consumes 'Started' and ensures that thread has started @@ -848,7 +856,7 @@ def bin_path(a,b,c) RUBY it "makes sure no unexpected signals are restored to DEFAULT" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? test_signals.each do |n| Signal.trap(n, "IGNORE") @@ -865,6 +873,8 @@ def bin_path(a,b,c) context "nested bundle exec" do context "when bundle in a local path" do before do + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? + gemfile <<-G source "#{file_uri_for(gem_repo1)}" gem "rack" @@ -874,8 +884,6 @@ def bin_path(a,b,c) end it "correctly shells out" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? - file = bundled_app("file_that_bundle_execs.rb") create_file(file, <<-RUBY) #!#{Gem.ruby} @@ -887,12 +895,55 @@ def bin_path(a,b,c) end end + context "when Kernel.require uses extra monkeypatches" do + before do + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? + + install_gemfile "" + end + + it "does not undo the monkeypatches" do + karafka = bundled_app("bin/karafka") + create_file(karafka, <<~RUBY) + #!#{Gem.ruby} + + module Kernel + module_function + + alias_method :require_before_extra_monkeypatches, :require + + def require(path) + puts "requiring \#{path} used the monkeypatch" + + require_before_extra_monkeypatches(path) + end + end + + Bundler.setup(:default) + + require "foo" + RUBY + karafka.chmod(0o777) + + foreman = bundled_app("bin/foreman") + create_file(foreman, <<~RUBY) + #!#{Gem.ruby} + + puts `bundle exec bin/karafka` + RUBY + foreman.chmod(0o777) + + bundle "exec #{foreman}" + expect(out).to eq("requiring foo used the monkeypatch") + end + end + context "with a system gem that shadows a default gem" do let(:openssl_version) { "99.9.9" } let(:expected) { ruby "gem 'openssl', '< 999999'; require 'openssl'; puts OpenSSL::VERSION", :artifice => nil, :raise_on_error => false } it "only leaves the default gem in the stdlib available" do - skip "https://github.com/rubygems/bundler/issues/6898" if Gem.win_platform? + skip "https://github.com/rubygems/rubygems/issues/3351" if Gem.win_platform? skip "openssl isn't a default gem" if expected.empty? install_gemfile "" # must happen before installing the broken system gem diff --git a/bundler/spec/commands/fund_spec.rb b/bundler/spec/commands/fund_spec.rb index ee3aff3a29dc..5a0c5411dabc 100644 --- a/bundler/spec/commands/fund_spec.rb +++ b/bundler/spec/commands/fund_spec.rb @@ -1,24 +1,51 @@ # frozen_string_literal: true RSpec.describe "bundle fund" do + before do + build_repo2 do + build_gem "has_funding_and_other_metadata" do |s| + s.metadata = { + "bug_tracker_uri" => "https://example.com/user/bestgemever/issues", + "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", + "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", + "homepage_uri" => "https://bestgemever.example.io", + "mailing_list_uri" => "https://groups.example.com/bestgemever", + "funding_uri" => "https://example.com/has_funding_and_other_metadata/funding", + "source_code_uri" => "https://example.com/user/bestgemever", + "wiki_uri" => "https://example.com/user/bestgemever/wiki", + } + end + + build_gem "has_funding", "1.2.3" do |s| + s.metadata = { + "funding_uri" => "https://example.com/has_funding/funding", + } + end + + build_gem "gem_with_dependent_funding", "1.0" do |s| + s.add_dependency "has_funding" + end + end + end + it "prints fund information for all gems in the bundle" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" - gem 'has_metadata' + source "#{file_uri_for(gem_repo2)}" + gem 'has_funding_and_other_metadata' gem 'has_funding' gem 'rack-obama' G bundle "fund" - expect(out).to include("* has_metadata (1.0)\n Funding: https://example.com/has_metadata/funding") + expect(out).to include("* has_funding_and_other_metadata (1.0)\n Funding: https://example.com/has_funding_and_other_metadata/funding") expect(out).to include("* has_funding (1.2.3)\n Funding: https://example.com/has_funding/funding") expect(out).to_not include("rack-obama") end it "does not consider fund information for gem dependencies" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem 'gem_with_dependent_funding' G @@ -30,7 +57,7 @@ it "prints message if none of the gems have fund information" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem 'rack-obama' G @@ -42,13 +69,13 @@ describe "with --group option" do it "prints fund message for only specified group gems" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" - gem 'has_metadata', :group => :development + source "#{file_uri_for(gem_repo2)}" + gem 'has_funding_and_other_metadata', :group => :development gem 'has_funding' G bundle "fund --group development" - expect(out).to include("* has_metadata (1.0)\n Funding: https://example.com/has_metadata/funding") + expect(out).to include("* has_funding_and_other_metadata (1.0)\n Funding: https://example.com/has_funding_and_other_metadata/funding") expect(out).to_not include("* has_funding (1.2.3)\n Funding: https://example.com/has_funding/funding") end end diff --git a/bundler/spec/commands/info_spec.rb b/bundler/spec/commands/info_spec.rb index eec9c773bcf2..6bc07ea399ca 100644 --- a/bundler/spec/commands/info_spec.rb +++ b/bundler/spec/commands/info_spec.rb @@ -3,8 +3,22 @@ RSpec.describe "bundle info" do context "with a standard Gemfile" do before do + build_repo2 do + build_gem "has_metadata" do |s| + s.metadata = { + "bug_tracker_uri" => "https://example.com/user/bestgemever/issues", + "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", + "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", + "homepage_uri" => "https://bestgemever.example.io", + "mailing_list_uri" => "https://groups.example.com/bestgemever", + "source_code_uri" => "https://example.com/user/bestgemever", + "wiki_uri" => "https://example.com/user/bestgemever/wiki", + } + end + end + install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rails" gem "has_metadata" G @@ -66,7 +80,6 @@ \tHomepage: http://example.com \tDocumentation: https://www.example.info/gems/bestgemever/0.0.1 \tSource Code: https://example.com/user/bestgemever -\tFunding: https://example.com/has_metadata/funding \tWiki: https://example.com/user/bestgemever/wiki \tChangelog: https://example.com/user/bestgemever/CHANGELOG.md \tBug Tracker: https://example.com/user/bestgemever/issues diff --git a/bundler/spec/commands/install_spec.rb b/bundler/spec/commands/install_spec.rb index d1b8585114b3..a8b174a547a1 100644 --- a/bundler/spec/commands/install_spec.rb +++ b/bundler/spec/commands/install_spec.rb @@ -141,8 +141,14 @@ end it "does not install the development dependency" do + build_repo2 do + build_gem "with_development_dependency" do |s| + s.add_development_dependency "activesupport", "= 2.3.5" + end + end + install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "with_development_dependency" G @@ -216,6 +222,18 @@ expect(the_bundle).to include_gems "rack 1.0.0", "activesupport 2.3.5" end + it "loads env plugins" do + plugin_msg = "hello from an env plugin!" + create_file "plugins/rubygems_plugin.rb", "puts '#{plugin_msg}'" + rubylib = ENV["RUBYLIB"].to_s.split(File::PATH_SEPARATOR).unshift(bundled_app("plugins").to_s).join(File::PATH_SEPARATOR) + install_gemfile <<-G, :env => { "RUBYLIB" => rubylib } + source "#{file_uri_for(gem_repo1)}" + gem "rack" + G + + expect(last_command.stdboth).to include(plugin_msg) + end + describe "with a gem that installs multiple platforms" do it "installs gems for the local platform as first choice" do skip "version is 1.0, not 1.0.0" if Gem.win_platform? @@ -294,8 +312,11 @@ end it "finds gems in multiple sources", :bundler => "< 3" do - build_repo2 - update_repo2 + build_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + end install_gemfile <<-G source "#{file_uri_for(gem_repo1)}" diff --git a/bundler/spec/commands/licenses_spec.rb b/bundler/spec/commands/licenses_spec.rb index d4fa02d0a7e5..a20398489041 100644 --- a/bundler/spec/commands/licenses_spec.rb +++ b/bundler/spec/commands/licenses_spec.rb @@ -2,8 +2,14 @@ RSpec.describe "bundle licenses" do before :each do + build_repo2 do + build_gem "with_license" do |s| + s.license = "MIT" + end + end + install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rails" gem "with_license" G @@ -18,7 +24,7 @@ it "performs an automatic bundle install" do gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rails" gem "with_license" gem "foo" diff --git a/bundler/spec/commands/list_spec.rb b/bundler/spec/commands/list_spec.rb index ed3edad1637b..66930ded75a2 100644 --- a/bundler/spec/commands/list_spec.rb +++ b/bundler/spec/commands/list_spec.rb @@ -117,6 +117,10 @@ context "with paths option" do before do build_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "bar" end diff --git a/bundler/spec/commands/lock_spec.rb b/bundler/spec/commands/lock_spec.rb index c97358c62d80..cc56c3495202 100644 --- a/bundler/spec/commands/lock_spec.rb +++ b/bundler/spec/commands/lock_spec.rb @@ -15,7 +15,7 @@ def read_lockfile(file = "Gemfile.lock") gemfile <<-G source "#{file_uri_for(repo)}" gem "rails" - gem "with_license" + gem "weakling" gem "foo" G @@ -40,7 +40,7 @@ def read_lockfile(file = "Gemfile.lock") activeresource (= 2.3.2) rake (= 13.0.1) rake (13.0.1) - with_license (1.0) + weakling (0.0.3) PLATFORMS #{lockfile_platforms} @@ -48,7 +48,7 @@ def read_lockfile(file = "Gemfile.lock") DEPENDENCIES foo rails - with_license + weakling BUNDLED WITH #{Bundler::VERSION} diff --git a/bundler/spec/commands/newgem_spec.rb b/bundler/spec/commands/newgem_spec.rb index beee2b0fdc42..421ffa80c6fb 100644 --- a/bundler/spec/commands/newgem_spec.rb +++ b/bundler/spec/commands/newgem_spec.rb @@ -14,6 +14,7 @@ def bundle_exec_rubocop prepare_gemspec(bundled_app(gem_name, "#{gem_name}.gemspec")) rubocop_version = RUBY_VERSION > "2.4" ? "0.90.0" : "0.80.1" gems = ["minitest", "rake", "rake-compiler", "rspec", "rubocop -v #{rubocop_version}", "test-unit"] + gems.unshift "parallel -v 1.19.2" if RUBY_VERSION < "2.5" gems += ["rubocop-ast -v 0.4.0"] if rubocop_version == "0.90.0" path = Bundler.feature_flag.default_install_uses_path? ? local_gem_path(:base => bundled_app(gem_name)) : system_gem_path realworld_system_gems gems, :path => path @@ -423,7 +424,7 @@ def create_temporary_dir(dir) it "requires the version file" do bundle "gem #{gem_name}" - expect(bundled_app("#{gem_name}/lib/#{require_path}.rb").read).to match(%r{require "#{require_path}/version"}) + expect(bundled_app("#{gem_name}/lib/#{require_path}.rb").read).to match(%r{require_relative "#{require_relative_path}/version"}) end it "creates a base error class" do @@ -910,6 +911,8 @@ def create_temporary_dir(dir) let(:require_path) { "test_gem" } + let(:require_relative_path) { "test_gem" } + let(:flags) { nil } it "does not nest constants" do @@ -963,6 +966,8 @@ def create_temporary_dir(dir) let(:require_path) { "test/gem" } + let(:require_relative_path) { "gem" } + it "nests constants so they work" do bundle "gem #{gem_name}" expect(bundled_app("#{gem_name}/lib/#{require_path}/version.rb").read).to match(/module Test\n module Gem/) diff --git a/bundler/spec/commands/remove_spec.rb b/bundler/spec/commands/remove_spec.rb index bee4490a8df0..46c42fea10d5 100644 --- a/bundler/spec/commands/remove_spec.rb +++ b/bundler/spec/commands/remove_spec.rb @@ -83,7 +83,7 @@ end end - describe "remove mutiple gems from gemfile" do + describe "remove multiple gems from gemfile" do context "when all gems are present in gemfile" do it "shows success fir all removed gems" do gemfile <<-G @@ -210,7 +210,7 @@ end end - context "when the gem belongs to mutiple groups" do + context "when the gem belongs to multiple groups" do it "removes the groups" do gemfile <<-G source "#{file_uri_for(gem_repo1)}" @@ -616,4 +616,84 @@ expect(out).to include("foo could not be removed.") end end + + describe "with comments that mention gems" do + context "when comment is a separate line comment" do + it "does not remove the line comment" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + + # gem "rack" might be used in the future + gem "rack" + G + + bundle "remove rack" + + expect(out).to include("rack was removed.") + gemfile_should_be <<-G + source "#{file_uri_for(gem_repo1)}" + + # gem "rack" might be used in the future + G + end + end + + context "when gem specified for removal has an inline comment" do + it "removes the inline comment" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + + gem "rack" # this can be removed + G + + bundle "remove rack" + + expect(out).to include("rack was removed.") + gemfile_should_be <<-G + source "#{file_uri_for(gem_repo1)}" + G + end + end + + context "when gem specified for removal is mentioned in other gem's comment" do + it "does not remove other gem" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem "puma" # implements interface provided by gem "rack" + + gem "rack" + G + + bundle "remove rack" + + expect(out).to_not include("puma was removed.") + expect(out).to include("rack was removed.") + gemfile_should_be <<-G + source "#{file_uri_for(gem_repo1)}" + gem "puma" # implements interface provided by gem "rack" + G + end + end + + context "when gem specified for removal has a comment that mentions other gem" do + it "does not remove other gem" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem "puma" # implements interface provided by gem "rack" + + gem "rack" + G + + bundle "remove puma" + + expect(out).to include("puma was removed.") + expect(out).to_not include("rack was removed.") + gemfile_should_be <<-G + source "#{file_uri_for(gem_repo1)}" + + gem "rack" + G + end + end + end end diff --git a/bundler/spec/commands/update_spec.rb b/bundler/spec/commands/update_spec.rb index 5ab932e5d7dd..b8de6507f6e3 100644 --- a/bundler/spec/commands/update_spec.rb +++ b/bundler/spec/commands/update_spec.rb @@ -15,6 +15,10 @@ describe "with no arguments", :bundler => "< 3" do it "updates the entire bundle" do update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end @@ -38,6 +42,10 @@ describe "with --all", :bundler => "3" do it "updates the entire bundle" do update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end @@ -103,6 +111,10 @@ describe "with a top level dependency" do it "unlocks all child dependencies that are unrelated to other locked dependencies" do update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end @@ -124,7 +136,12 @@ describe "with a child dependency" do it "should update the child dependency" do - update_repo2 + update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + end + bundle "update rack" expect(the_bundle).to include_gems "rack 1.2" end @@ -217,6 +234,10 @@ gem "rack" G update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end bundle "update --group development" @@ -269,6 +290,10 @@ gem "rack" G update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end bundle "update --group development" @@ -446,6 +471,10 @@ G update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "thin", "2.0" do |s| s.add_dependency "rack" end diff --git a/bundler/spec/install/bundler_spec.rb b/bundler/spec/install/bundler_spec.rb index e5352ab6a2f5..af1ff7225a7e 100644 --- a/bundler/spec/install/bundler_spec.rb +++ b/bundler/spec/install/bundler_spec.rb @@ -54,6 +54,12 @@ end it "works for gems with multiple versions in its dependencies" do + build_repo2 do + build_gem "multiple_versioned_deps" do |s| + s.add_dependency "weakling", ">= 0.0.1", "< 0.1" + end + end + install_gemfile <<-G source "#{file_uri_for(gem_repo2)}" @@ -93,6 +99,12 @@ it "causes a conflict if child dependencies conflict" do bundle "config set force_ruby_platform true" + update_repo2 do + build_gem "rails_pinned_to_old_activesupport" do |s| + s.add_dependency "activesupport", "= 1.2.3" + end + end + install_gemfile <<-G, :raise_on_error => false source "#{file_uri_for(gem_repo2)}" gem "activemerchant" @@ -114,6 +126,12 @@ it "causes a conflict if a child dependency conflicts with the Gemfile" do bundle "config set force_ruby_platform true" + update_repo2 do + build_gem "rails_pinned_to_old_activesupport" do |s| + s.add_dependency "activesupport", "= 1.2.3" + end + end + install_gemfile <<-G, :raise_on_error => false source "#{file_uri_for(gem_repo2)}" gem "rails_pinned_to_old_activesupport" @@ -132,6 +150,12 @@ end it "does not cause a conflict if new dependencies in the Gemfile require older dependencies than the lockfile" do + update_repo2 do + build_gem "rails_pinned_to_old_activesupport" do |s| + s.add_dependency "activesupport", "= 1.2.3" + end + end + install_gemfile <<-G source "#{file_uri_for(gem_repo2)}" gem 'rails', "2.3.2" diff --git a/bundler/spec/install/deploy_spec.rb b/bundler/spec/install/deploy_spec.rb index 441daabe72ac..357f4512f17a 100644 --- a/bundler/spec/install/deploy_spec.rb +++ b/bundler/spec/install/deploy_spec.rb @@ -361,10 +361,7 @@ bundle "config --local deployment true" bundle :install, :raise_on_error => false expect(err).to include("deployment mode") - # The drive letter of the Windows environment is fragile value in GitHub Actions - unless Gem.win_platform? - expect(err).to include("You have deleted from the Gemfile:\n* source: #{lib_path("rack-1.0")} (at master@#{revision_for(lib_path("rack-1.0"))[0..6]}") - end + expect(err).to include("You have deleted from the Gemfile:\n* source: #{lib_path("rack-1.0")} (at master@#{revision_for(lib_path("rack-1.0"))[0..6]}") expect(err).not_to include("You have added to the Gemfile") expect(err).not_to include("You have changed in the Gemfile") end @@ -388,10 +385,7 @@ bundle "config --local deployment true" bundle :install, :raise_on_error => false expect(err).to include("deployment mode") - # The drive letter of the Windows environment is fragile value in GitHub Actions - unless Gem.win_platform? - expect(err).to include("You have changed in the Gemfile:\n* rack from `no specified source` to `#{lib_path("rack")} (at master@#{revision_for(lib_path("rack"))[0..6]})`") - end + expect(err).to include("You have changed in the Gemfile:\n* rack from `no specified source` to `#{lib_path("rack")} (at master@#{revision_for(lib_path("rack"))[0..6]})`") expect(err).not_to include("You have added to the Gemfile") expect(err).not_to include("You have deleted from the Gemfile") end diff --git a/bundler/spec/install/gemfile/gemspec_spec.rb b/bundler/spec/install/gemfile/gemspec_spec.rb index 8e13ac05a90f..7a95a8abdeed 100644 --- a/bundler/spec/install/gemfile/gemspec_spec.rb +++ b/bundler/spec/install/gemfile/gemspec_spec.rb @@ -422,8 +422,6 @@ end end - bundle "config specific_platform false" - %w[ruby jruby].each do |platform| simulate_platform(platform) do install_gemfile <<-G diff --git a/bundler/spec/install/gemfile/git_spec.rb b/bundler/spec/install/gemfile/git_spec.rb index a70fb18c45c6..7850fad8d077 100644 --- a/bundler/spec/install/gemfile/git_spec.rb +++ b/bundler/spec/install/gemfile/git_spec.rb @@ -30,11 +30,15 @@ expect(Dir["#{default_bundle_path}/cache/bundler/git/foo-1.0-*"]).to have_attributes :size => 1 end - it "caches the git repo globally" do + it "caches the git repo globally and properly uses the cached repo on the next invocation" do simulate_new_machine bundle "config set global_gem_cache true" bundle :install expect(Dir["#{home}/.bundle/cache/git/foo-1.0-*"]).to have_attributes :size => 1 + + bundle "install --verbose" + expect(err).to be_empty + expect(out).to include("Using foo 1.0 from #{lib_path("foo")}") end it "caches the evaluated gemspec" do @@ -83,7 +87,7 @@ gem "foo", "1.1", :git => "#{lib_path("foo-1.0")}" G - expect(err).to include("The source contains 'foo' at: 1.0") + expect(err).to include("The source contains the following versions of 'foo': 1.0") end it "complains with version and platform if pinned specs don't exist in the git repo" do @@ -99,7 +103,7 @@ end G - expect(err).to include("The source contains 'only_java' at: 1.0 java") + expect(err).to include("The source contains the following versions of 'only_java': 1.0 java") end it "complains with multiple versions and platforms if pinned specs don't exist in the git repo" do @@ -120,7 +124,7 @@ end G - expect(err).to include("The source contains 'only_java' at: 1.0 java, 1.1 java") + expect(err).to include("The source contains the following versions of 'only_java': 1.0 java, 1.1 java") end it "still works after moving the application directory" do @@ -933,8 +937,6 @@ end it "prints a friendly error if a file blocks the git repo" do - skip "drive letter is not detected correctly in error message" if Gem.win_platform? - build_git "foo" FileUtils.mkdir_p(default_bundle_path) diff --git a/bundler/spec/install/gemfile/path_spec.rb b/bundler/spec/install/gemfile/path_spec.rb index 07722d09dd8d..f19fe3972134 100644 --- a/bundler/spec/install/gemfile/path_spec.rb +++ b/bundler/spec/install/gemfile/path_spec.rb @@ -718,11 +718,11 @@ expect(bar_file).not_to be_file build_lib "foo" do |s| - s.write("lib/rubygems_plugin.rb", "FileUtils.touch('#{foo_file}')") + s.write("lib/rubygems_plugin.rb", "require 'fileutils'; FileUtils.touch('#{foo_file}')") end build_git "bar" do |s| - s.write("lib/rubygems_plugin.rb", "FileUtils.touch('#{bar_file}')") + s.write("lib/rubygems_plugin.rb", "require 'fileutils'; FileUtils.touch('#{bar_file}')") end install_gemfile <<-G diff --git a/bundler/spec/install/gemfile/platform_spec.rb b/bundler/spec/install/gemfile/platform_spec.rb index 41b95481cbca..46fc393fe9ba 100644 --- a/bundler/spec/install/gemfile/platform_spec.rb +++ b/bundler/spec/install/gemfile/platform_spec.rb @@ -255,32 +255,6 @@ expect(the_bundle).to include_gems "nokogiri 1.4.2 JAVA", "weakling 0.0.3" end - it "works with gems that have extra platform-specific runtime dependencies", :bundler => "< 3" do - simulate_platform x64_mac - - update_repo2 do - build_gem "facter", "2.4.6" - build_gem "facter", "2.4.6" do |s| - s.platform = "universal-darwin" - s.add_runtime_dependency "CFPropertyList" - end - build_gem "CFPropertyList" - end - - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" - - gem "facter" - G - - expect(err).to include "Unable to use the platform-specific (universal-darwin) version of facter (2.4.6) " \ - "because it has different dependencies from the ruby version. " \ - "To use the platform-specific version of the gem, run `bundle config set --local specific_platform true` and install again." - - expect(the_bundle).to include_gem "facter 2.4.6" - expect(the_bundle).not_to include_gem "CFPropertyList" - end - it "works with gems with platform-specific dependency having different requirements order" do simulate_platform x64_mac @@ -430,7 +404,7 @@ expect(out).not_to match(/Could not find gem 'some_gem/) end - it "resolves all platforms by default and without warning messages" do + it "does not print a warning when a dependency is unused on a platform different from the current one" do simulate_platform "ruby" gemfile <<-G @@ -447,14 +421,9 @@ GEM remote: #{file_uri_for(gem_repo1)}/ specs: - rack (1.0.0) PLATFORMS - java ruby - x64-mingw32 - x86-mingw32 - x86-mswin32 DEPENDENCIES rack @@ -469,13 +438,21 @@ it "still installs correctly" do simulate_platform mswin + build_repo2 do + # The rcov gem is platform mswin32, but has no arch + build_gem "rcov" do |s| + s.platform = Gem::Platform.new([nil, "mswin32", nil]) + s.write "lib/rcov.rb", "RCOV = '1.0.0'" + end + end + gemfile <<-G # Try to install gem with nil arch source "http://localgemserver.test/" gem "rcov" G - bundle :install, :artifice => "windows" + bundle :install, :artifice => "windows", :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo2.to_s } expect(the_bundle).to include_gems "rcov 1.0.0" end end diff --git a/bundler/spec/install/gemfile/sources_spec.rb b/bundler/spec/install/gemfile/sources_spec.rb index be41857043b4..655f91dd69d5 100644 --- a/bundler/spec/install/gemfile/sources_spec.rb +++ b/bundler/spec/install/gemfile/sources_spec.rb @@ -597,6 +597,10 @@ G build_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "bar" end diff --git a/bundler/spec/install/gemfile/specific_platform_spec.rb b/bundler/spec/install/gemfile/specific_platform_spec.rb index 959ffbf615ee..82492e78cbd5 100644 --- a/bundler/spec/install/gemfile/specific_platform_spec.rb +++ b/bundler/spec/install/gemfile/specific_platform_spec.rb @@ -1,53 +1,6 @@ # frozen_string_literal: true -RSpec.describe "bundle install with specific_platform enabled" do - before do - bundle "config set specific_platform true" - - build_repo2 do - build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") - build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x86_64-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x86-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x86-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x64-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "universal-darwin" } - - build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x86_64-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x86-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x64-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x86-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.5") - - build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "universal-darwin" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x86_64-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x86-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x86-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x64-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.4") - - build_gem("google-protobuf", "3.0.0.alpha.5.0.3") - build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x86_64-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x86-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x86-linux" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x64-mingw32" } - build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "universal-darwin" } - - build_gem("google-protobuf", "3.0.0.alpha.4.0") - build_gem("google-protobuf", "3.0.0.alpha.3.1.pre") - build_gem("google-protobuf", "3.0.0.alpha.3") - build_gem("google-protobuf", "3.0.0.alpha.2.0") - build_gem("google-protobuf", "3.0.0.alpha.1.1") - build_gem("google-protobuf", "3.0.0.alpha.1.0") - - build_gem("facter", "2.4.6") - build_gem("facter", "2.4.6") do |s| - s.platform = "universal-darwin" - s.add_runtime_dependency "CFPropertyList" - end - build_gem("CFPropertyList") - end - end - +RSpec.describe "bundle install with specific platforms" do let(:google_protobuf) { <<-G } source "#{file_uri_for(gem_repo2)}" gem "google-protobuf" @@ -57,6 +10,7 @@ before { simulate_platform "x86_64-darwin-15" } it "locks to both the specific darwin platform and ruby" do + setup_multiplatform_gem install_gemfile(google_protobuf) allow(Bundler::SharedHelpers).to receive(:find_gemfile).and_return(bundled_app_gemfile) expect(the_bundle.locked_gems.platforms).to eq([pl("ruby"), pl("x86_64-darwin-15")]) @@ -67,14 +21,66 @@ ]) end - it "caches both the universal-darwin and ruby gems when --all-platforms is passed" do + it "caches both the universal-darwin and ruby gems when --all-platforms is passed and properly picks them up on further bundler invocations" do + setup_multiplatform_gem + gemfile(google_protobuf) + bundle "cache --all-platforms" + expect([cached_gem("google-protobuf-3.0.0.alpha.5.0.5.1"), cached_gem("google-protobuf-3.0.0.alpha.5.0.5.1-universal-darwin")]). + to all(exist) + + bundle "install --verbose" + expect(err).to be_empty + end + + it "caches both the universal-darwin and ruby gems when cache_all_platforms is configured and properly picks them up on further bundler invocations" do + setup_multiplatform_gem gemfile(google_protobuf) - bundle "package --all-platforms" + bundle "config set --local cache_all_platforms true" + bundle "cache" expect([cached_gem("google-protobuf-3.0.0.alpha.5.0.5.1"), cached_gem("google-protobuf-3.0.0.alpha.5.0.5.1-universal-darwin")]). to all(exist) + + bundle "install --verbose" + expect(err).to be_empty + end + + it "caches multiplatform git gems with a single gemspec when --all-platforms is passed" do + git = build_git "pg_array_parser", "1.0" + + gemfile <<-G + gem "pg_array_parser", :git => "#{lib_path("pg_array_parser-1.0")}" + G + + lockfile <<-L + GIT + remote: #{lib_path("pg_array_parser-1.0")} + revision: #{git.ref_for("master")} + specs: + pg_array_parser (1.0-java) + pg_array_parser (1.0) + + GEM + specs: + + PLATFORMS + java + #{lockfile_platforms} + + DEPENDENCIES + pg_array_parser! + + BUNDLED WITH + #{Bundler::VERSION} + L + + bundle "config set --local cache_all true" + bundle "cache --all-platforms" + + expect(err).to be_empty end it "uses the platform-specific gem with extra dependencies" do + setup_multiplatform_gem_with_different_dependencies_per_platform install_gemfile <<-G source "#{file_uri_for(gem_repo2)}" gem "facter" @@ -94,6 +100,7 @@ end it "adds the foreign platform" do + setup_multiplatform_gem install_gemfile(google_protobuf) bundle "lock --add-platform=#{x64_mingw}" @@ -106,6 +113,7 @@ end it "falls back on plain ruby when that version doesnt have a platform-specific gem" do + setup_multiplatform_gem install_gemfile(google_protobuf) bundle "lock --add-platform=#{java}" @@ -117,4 +125,55 @@ end end end + + private + + def setup_multiplatform_gem + build_repo2 do + build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") + build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x86_64-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x86-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x86-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "x64-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5.1") {|s| s.platform = "universal-darwin" } + + build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x86_64-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x86-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x64-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5") {|s| s.platform = "x86-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.5") + + build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "universal-darwin" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x86_64-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x86-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x86-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.4") {|s| s.platform = "x64-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.4") + + build_gem("google-protobuf", "3.0.0.alpha.5.0.3") + build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x86_64-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x86-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x86-linux" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "x64-mingw32" } + build_gem("google-protobuf", "3.0.0.alpha.5.0.3") {|s| s.platform = "universal-darwin" } + + build_gem("google-protobuf", "3.0.0.alpha.4.0") + build_gem("google-protobuf", "3.0.0.alpha.3.1.pre") + build_gem("google-protobuf", "3.0.0.alpha.3") + build_gem("google-protobuf", "3.0.0.alpha.2.0") + build_gem("google-protobuf", "3.0.0.alpha.1.1") + build_gem("google-protobuf", "3.0.0.alpha.1.0") + end + end + + def setup_multiplatform_gem_with_different_dependencies_per_platform + build_repo2 do + build_gem("facter", "2.4.6") + build_gem("facter", "2.4.6") do |s| + s.platform = "universal-darwin" + s.add_runtime_dependency "CFPropertyList" + end + build_gem("CFPropertyList") + end + end end diff --git a/bundler/spec/install/gems/compact_index_spec.rb b/bundler/spec/install/gems/compact_index_spec.rb index 5ef3f38fe72e..b5fca9c6adde 100644 --- a/bundler/spec/install/gems/compact_index_spec.rb +++ b/bundler/spec/install/gems/compact_index_spec.rb @@ -138,19 +138,6 @@ expect(the_bundle).to include_gems("foo 1.0") end - it "falls back when the API errors out" do - simulate_platform mswin - - gemfile <<-G - source "#{source_uri}" - gem "rcov" - G - - bundle :install, :artifice => "windows" - expect(out).to include("Fetching source index from #{source_uri}") - expect(the_bundle).to include_gems "rcov 1.0.0" - end - it "falls back when the API URL returns 403 Forbidden" do gemfile <<-G source "#{source_uri}" @@ -258,14 +245,37 @@ def require(*args) end it "does not double check for gems that are only installed locally" do - system_gems %w[rack-1.0.0 thin-1.0 net_a-1.0] + build_repo2 do + build_gem "net_a" do |s| + s.add_dependency "net_b" + s.add_dependency "net_build_extensions" + end + + build_gem "net_b" + + build_gem "net_build_extensions" do |s| + s.add_dependency "rake" + s.extensions << "Rakefile" + s.write "Rakefile", <<-RUBY + task :default do + path = File.expand_path("../lib", __FILE__) + FileUtils.mkdir_p(path) + File.open("\#{path}/net_build_extensions.rb", "w") do |f| + f.puts "NET_BUILD_EXTENSIONS = 'YES'" + end + end + RUBY + end + end + + system_gems %w[rack-1.0.0 thin-1.0 net_a-1.0], :gem_repo => gem_repo2 bundle "config set --local path.system true" ENV["BUNDLER_SPEC_ALL_REQUESTS"] = strip_whitespace(<<-EOS).strip #{source_uri}/versions #{source_uri}/info/rack EOS - install_gemfile <<-G, :artifice => "compact_index", :verbose => true + install_gemfile <<-G, :artifice => "compact_index", :verbose => true, :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo2.to_s } source "#{source_uri}" gem "rack" G @@ -499,13 +509,19 @@ def require(*args) end it "does not refetch if the only unmet dependency is bundler" do + build_repo2 do + build_gem "bundler_dep" do |s| + s.add_dependency "bundler" + end + end + gemfile <<-G source "#{source_uri}" gem "bundler_dep" G - bundle :install, :artifice => "compact_index" + bundle :install, :artifice => "compact_index", :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo2.to_s } expect(out).to include("Fetching gem metadata from #{source_uri}") end @@ -598,27 +614,6 @@ def require(*args) expect(the_bundle).to include_gems "rack 1.0.0" end - it "strips http basic authentication creds for modern index" do - gemfile <<-G - source "#{basic_auth_source_uri}" - gem "rack" - G - - bundle :install, :artifice => "endopint_marshal_fail_basic_authentication" - expect(out).not_to include("#{user}:#{password}") - expect(the_bundle).to include_gems "rack 1.0.0" - end - - it "strips http basic auth creds when it can't reach the server" do - gemfile <<-G - source "#{basic_auth_source_uri}" - gem "rack" - G - - bundle :install, :artifice => "endpoint_500", :raise_on_error => false - expect(out).not_to include("#{user}:#{password}") - end - it "strips http basic auth creds when warning about ambiguous sources", :bundler => "< 3" do gemfile <<-G source "#{basic_auth_source_uri}" diff --git a/bundler/spec/install/gems/dependency_api_spec.rb b/bundler/spec/install/gems/dependency_api_spec.rb index e92669e97c53..5e0be8999530 100644 --- a/bundler/spec/install/gems/dependency_api_spec.rb +++ b/bundler/spec/install/gems/dependency_api_spec.rb @@ -121,12 +121,20 @@ it "falls back when the API errors out" do simulate_platform mswin + build_repo2 do + # The rcov gem is platform mswin32, but has no arch + build_gem "rcov" do |s| + s.platform = Gem::Platform.new([nil, "mswin32", nil]) + s.write "lib/rcov.rb", "RCOV = '1.0.0'" + end + end + gemfile <<-G source "#{source_uri}" gem "rcov" G - bundle :install, :artifice => "windows" + bundle :install, :artifice => "windows", :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo2.to_s } expect(out).to include("Fetching source index from #{source_uri}") expect(the_bundle).to include_gems "rcov 1.0.0" end @@ -473,13 +481,19 @@ def require(*args) end it "does not refetch if the only unmet dependency is bundler" do + build_repo2 do + build_gem "bundler_dep" do |s| + s.add_dependency "bundler" + end + end + gemfile <<-G source "#{source_uri}" gem "bundler_dep" G - bundle :install, :artifice => "endpoint" + bundle :install, :artifice => "endpoint", :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo2.to_s } expect(out).to include("Fetching gem metadata from #{source_uri}") end @@ -578,7 +592,7 @@ def require(*args) gem "rack" G - bundle :install, :artifice => "endopint_marshal_fail_basic_authentication" + bundle :install, :artifice => "endpoint_marshal_fail_basic_authentication" expect(out).not_to include("#{user}:#{password}") expect(the_bundle).to include_gems "rack 1.0.0" end diff --git a/bundler/spec/install/gems/flex_spec.rb b/bundler/spec/install/gems/flex_spec.rb index 858c40c07c76..7ab0ded26df7 100644 --- a/bundler/spec/install/gems/flex_spec.rb +++ b/bundler/spec/install/gems/flex_spec.rb @@ -166,8 +166,7 @@ expect(the_bundle).to include_gems "rack_middleware 1.0", "rack 0.9.1" - build_repo2 - update_repo2 do + build_repo2 do build_gem "rack-obama", "2.0" do |s| s.add_dependency "rack", "=1.2" end diff --git a/bundler/spec/install/gems/fund_spec.rb b/bundler/spec/install/gems/fund_spec.rb index 57e7c3aed393..f521b0296f31 100644 --- a/bundler/spec/install/gems/fund_spec.rb +++ b/bundler/spec/install/gems/fund_spec.rb @@ -2,11 +2,38 @@ RSpec.describe "bundle install" do context "with gem sources" do + before do + build_repo2 do + build_gem "has_funding_and_other_metadata" do |s| + s.metadata = { + "bug_tracker_uri" => "https://example.com/user/bestgemever/issues", + "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", + "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", + "homepage_uri" => "https://bestgemever.example.io", + "mailing_list_uri" => "https://groups.example.com/bestgemever", + "funding_uri" => "https://example.com/has_funding_and_other_metadata/funding", + "source_code_uri" => "https://example.com/user/bestgemever", + "wiki_uri" => "https://example.com/user/bestgemever/wiki", + } + end + + build_gem "has_funding", "1.2.3" do |s| + s.metadata = { + "funding_uri" => "https://example.com/has_funding/funding", + } + end + + build_gem "gem_with_dependent_funding", "1.0" do |s| + s.add_dependency "has_funding" + end + end + end + context "when gems include a fund URI" do it "displays the plural fund message after installing" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" - gem 'has_metadata' + source "#{file_uri_for(gem_repo2)}" + gem 'has_funding_and_other_metadata' gem 'has_funding' gem 'rack-obama' G @@ -16,7 +43,7 @@ it "displays the singular fund message after installing" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem 'has_funding' gem 'rack-obama' G @@ -28,7 +55,7 @@ context "when gems do not include fund messages" do it "does not display any fund messages" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "activesupport" G @@ -39,7 +66,7 @@ context "when a dependency includes a fund message" do it "does not display the fund message" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem 'gem_with_dependent_funding' G diff --git a/bundler/spec/install/gems/resolving_spec.rb b/bundler/spec/install/gems/resolving_spec.rb index f621b0136672..1c01ce588bdc 100644 --- a/bundler/spec/install/gems/resolving_spec.rb +++ b/bundler/spec/install/gems/resolving_spec.rb @@ -1,9 +1,46 @@ # frozen_string_literal: true RSpec.describe "bundle install with install-time dependencies" do + before do + build_repo2 do + # Test complicated gem dependencies for install + build_gem "net_a" do |s| + s.add_dependency "net_b" + s.add_dependency "net_build_extensions" + end + + build_gem "net_b" + + build_gem "net_build_extensions" do |s| + s.add_dependency "rake" + s.extensions << "Rakefile" + s.write "Rakefile", <<-RUBY + task :default do + path = File.expand_path("../lib", __FILE__) + FileUtils.mkdir_p(path) + File.open("\#{path}/net_build_extensions.rb", "w") do |f| + f.puts "NET_BUILD_EXTENSIONS = 'YES'" + end + end + RUBY + end + + build_gem "net_c" do |s| + s.add_dependency "net_a" + s.add_dependency "net_d" + end + + build_gem "net_d" + + build_gem "net_e" do |s| + s.add_dependency "net_d" + end + end + end + it "installs gems with implicit rake dependencies" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "with_implicit_rake_dep" gem "another_implicit_rake_dep" gem "rake" @@ -43,7 +80,7 @@ describe "with crazy rubygem plugin stuff" do it "installs plugins" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "net_b" G @@ -52,7 +89,7 @@ it "installs plugins depended on by other plugins" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "net_a" G @@ -61,7 +98,7 @@ it "installs multiple levels of dependencies" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "net_c" gem "net_e" G @@ -72,7 +109,7 @@ context "with ENV['BUNDLER_DEBUG_RESOLVER'] set" do it "produces debug output" do gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "net_c" gem "net_e" G @@ -86,7 +123,7 @@ context "with ENV['DEBUG_RESOLVER'] set" do it "produces debug output" do gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "net_c" gem "net_e" G @@ -100,7 +137,7 @@ context "with ENV['DEBUG_RESOLVER_TREE'] set" do it "produces debug output" do gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "net_c" gem "net_e" G @@ -126,6 +163,10 @@ it "installs the older version" do build_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "rack", "9001.0.0" do |s| s.required_ruby_version = "> 9000" end @@ -198,13 +239,7 @@ let(:ruby_requirement) { %("#{RUBY_VERSION}") } let(:error_message_requirement) { "~> #{RUBY_VERSION}.0" } - let(:error_message_platform) do - if Bundler.feature_flag.specific_platform? - " #{Bundler.local_platform}" - else - "" - end - end + let(:error_message_platform) { " #{Bundler.local_platform}" } shared_examples_for "ruby version conflicts" do it "raises an error during resolution" do diff --git a/bundler/spec/install/prereleases_spec.rb b/bundler/spec/install/prereleases_spec.rb index fb01220ed7a5..c3f968ad70be 100644 --- a/bundler/spec/install/prereleases_spec.rb +++ b/bundler/spec/install/prereleases_spec.rb @@ -1,10 +1,19 @@ # frozen_string_literal: true RSpec.describe "bundle install" do + before do + build_repo2 do + build_gem "not_released", "1.0.pre" + + build_gem "has_prerelease", "1.0" + build_gem "has_prerelease", "1.1.pre" + end + end + describe "when prerelease gems are available" do it "finds prereleases" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "not_released" G expect(the_bundle).to include_gems "not_released 1.0.pre" @@ -12,7 +21,7 @@ it "uses regular releases if available" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "has_prerelease" G expect(the_bundle).to include_gems "has_prerelease 1.0" @@ -20,7 +29,7 @@ it "uses prereleases if requested" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "has_prerelease", "1.1.pre" G expect(the_bundle).to include_gems "has_prerelease 1.1.pre" diff --git a/bundler/spec/lock/lockfile_spec.rb b/bundler/spec/lock/lockfile_spec.rb index d26dc789cc72..941cbd13e0dc 100644 --- a/bundler/spec/lock/lockfile_spec.rb +++ b/bundler/spec/lock/lockfile_spec.rb @@ -3,16 +3,28 @@ RSpec.describe "the lockfile format" do include Bundler::GemHelpers + before do + build_repo2 do + # Capistrano did this (at least until version 2.5.10) + # RubyGems 2.2 doesn't allow the specifying of a dependency twice + # See https://github.com/rubygems/rubygems/commit/03dbac93a3396a80db258d9bc63500333c25bd2f + build_gem "double_deps", "1.0", :skip_validation => true do |s| + s.add_dependency "net-ssh", ">= 1.0.0" + s.add_dependency "net-ssh" + end + end + end + it "generates a simple lockfile for a single source, gem" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -37,7 +49,7 @@ specs: GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -53,14 +65,14 @@ L install_gemfile <<-G, :env => { "BUNDLER_VERSION" => Bundler::VERSION } - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -80,7 +92,7 @@ lockfile <<-L GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -95,14 +107,14 @@ L install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -120,7 +132,7 @@ it "updates the lockfile's bundler version if not present" do lockfile <<-L GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -132,14 +144,14 @@ L install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack", "> 0" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -160,7 +172,7 @@ lockfile <<-L GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -175,7 +187,7 @@ L install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack" G @@ -189,7 +201,7 @@ lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -212,7 +224,7 @@ lockfile <<-L GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -227,7 +239,7 @@ L install_gemfile <<-G, :env => { "BUNDLER_VERSION" => Bundler::VERSION } - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" G @@ -239,7 +251,7 @@ lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -256,14 +268,14 @@ it "generates a simple lockfile for a single source, gem with dependencies" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack-obama" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) rack-obama (1.0) @@ -282,14 +294,14 @@ it "generates a simple lockfile for a single source, gem with a version requirement" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack-obama", ">= 1.0" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) rack-obama (1.0) @@ -380,13 +392,13 @@ it "generates lockfiles with multiple requirements" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "net-sftp" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: net-sftp (1.1.1) net-ssh (>= 1.0.0, < 1.99.0) @@ -405,34 +417,6 @@ expect(the_bundle).to include_gems "net-sftp 1.1.1", "net-ssh 1.0.0" end - it "generates a simple lockfile for a single pinned source, gem with a version requirement", :bundler => "< 3" do - git = build_git "foo" - - install_gemfile <<-G - gem "foo", :git => "#{lib_path("foo-1.0")}" - G - - lockfile_should_be <<-G - GIT - remote: #{lib_path("foo-1.0")} - revision: #{git.ref_for("master")} - specs: - foo (1.0) - - GEM - specs: - - PLATFORMS - #{lockfile_platforms} - - DEPENDENCIES - foo! - - BUNDLED WITH - #{Bundler::VERSION} - G - end - it "generates a simple lockfile for a single pinned source, gem with a version requirement" do git = build_git "foo" @@ -465,7 +449,7 @@ build_lib "omg", :path => lib_path("omg") gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" platforms :#{not_local_tag} do gem "omg", :path => "#{lib_path("omg")}" @@ -481,7 +465,7 @@ specs: GEM - remote: #{file_uri_for(gem_repo1)}// + remote: #{file_uri_for(gem_repo2)}// specs: rack (1.0.0) @@ -653,7 +637,7 @@ bar = build_git "bar" install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" gem "foo", :path => "#{lib_path("foo-1.0")}" @@ -673,7 +657,7 @@ foo (1.0) GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -692,7 +676,7 @@ it "lists gems alphabetically" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "thin" gem "actionpack" @@ -701,7 +685,7 @@ lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: actionpack (2.3.2) activesupport (= 2.3.2) @@ -727,14 +711,14 @@ it "orders dependencies' dependencies in alphabetical order" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rails" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: actionmailer (2.3.2) activesupport (= 2.3.2) @@ -766,13 +750,13 @@ it "orders dependencies by version" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem 'double_deps' G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: double_deps (1.0) net-ssh @@ -792,14 +776,14 @@ it "does not add the :require option to the lockfile" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack-obama", ">= 1.0", :require => "rack/obama" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) rack-obama (1.0) @@ -818,14 +802,14 @@ it "does not add the :group option to the lockfile" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack-obama", ">= 1.0", :group => :test G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) rack-obama (1.0) @@ -956,51 +940,10 @@ G end - it "keeps existing platforms in the lockfile", :bundler => "< 3" do + it "keeps existing platforms in the lockfile" do lockfile <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ - specs: - rack (1.0.0) - - PLATFORMS - java - - DEPENDENCIES - rack - - BUNDLED WITH - #{Bundler::VERSION} - G - - install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" - - gem "rack" - G - - lockfile_should_be <<-G - GEM - remote: #{file_uri_for(gem_repo1)}/ - specs: - rack (1.0.0) - - PLATFORMS - java - #{generic_local_platform} - - DEPENDENCIES - rack - - BUNDLED WITH - #{Bundler::VERSION} - G - end - - it "keeps existing platforms in the lockfile", :bundler => "3" do - lockfile <<-G - GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -1015,21 +958,20 @@ G install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) PLATFORMS java - #{generic_local_platform} - #{specific_local_platform} + #{lockfile_platforms} DEPENDENCIES rack @@ -1039,38 +981,7 @@ G end - it "persists the spec's platform to the lockfile", :bundler => "< 3" do - build_repo2 do - build_gem "platform_specific", "1.0" do |s| - s.platform = Gem::Platform.new("universal-java-16") - end - end - - simulate_platform "universal-java-16" - - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" - gem "platform_specific" - G - - lockfile_should_be <<-G - GEM - remote: #{file_uri_for(gem_repo2)}/ - specs: - platform_specific (1.0-java) - - PLATFORMS - java - - DEPENDENCIES - platform_specific - - BUNDLED WITH - #{Bundler::VERSION} - G - end - - it "persists the spec's platform and specific platform to the lockfile", :bundler => "3" do + it "persists the spec's platform and specific platform to the lockfile" do build_repo2 do build_gem "platform_specific", "1.0" do |s| s.platform = Gem::Platform.new("universal-java-16") @@ -1105,19 +1016,19 @@ it "does not add duplicate gems" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" G install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" gem "activesupport" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: activesupport (2.3.5) rack (1.0.0) @@ -1136,14 +1047,14 @@ it "does not add duplicate dependencies" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" gem "rack" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -1160,14 +1071,14 @@ it "does not add duplicate dependencies with versions" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack", "1.0" gem "rack", "1.0" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -1184,14 +1095,14 @@ it "does not add duplicate dependencies in different groups" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack", "1.0", :group => :one gem "rack", "1.0", :group => :two G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (1.0.0) @@ -1208,7 +1119,7 @@ it "raises if two different versions are used" do install_gemfile <<-G, :raise_on_error => false - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack", "1.0" gem "rack", "1.1" G @@ -1219,7 +1130,7 @@ it "raises if two different sources are used" do install_gemfile <<-G, :raise_on_error => false - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" gem "rack", :git => "git://hubz.com" G @@ -1230,13 +1141,13 @@ it "works correctly with multiple version dependencies" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack", "> 0.9", "< 1.0" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (0.9.1) @@ -1253,14 +1164,14 @@ it "captures the Ruby version in the lockfile" do install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" ruby '#{RUBY_VERSION}' gem "rack", "> 0.9", "< 1.0" G lockfile_should_be <<-G GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack (0.9.1) @@ -1289,7 +1200,7 @@ revision = revision_for(lib_path("omg")) gemfile <<-G - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "omg", :git => "#{lib_path("omg")}", :branch => 'master' G @@ -1314,7 +1225,7 @@ omg (1.0) GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: PLATFORMS @@ -1341,7 +1252,7 @@ omg (1.0) GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: PLATFORMS @@ -1358,7 +1269,7 @@ it "raises a helpful error message when the lockfile is missing deps" do lockfile <<-L GEM - remote: #{file_uri_for(gem_repo1)}/ + remote: #{file_uri_for(gem_repo2)}/ specs: rack_middleware (1.0) @@ -1370,7 +1281,7 @@ L install_gemfile <<-G, :raise_on_error => false - source "#{file_uri_for(gem_repo1)}" + source "#{file_uri_for(gem_repo2)}" gem "rack_middleware" G @@ -1400,7 +1311,11 @@ def set_lockfile_mtime_to_known_value context "during updates" do it "preserves Gemfile.lock \\n line endings" do - update_repo2 + update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + end expect { bundle "update", :all => true }.to change { File.mtime(bundled_app_lock) } expect(File.read(bundled_app_lock)).not_to match("\r\n") @@ -1410,7 +1325,12 @@ def set_lockfile_mtime_to_known_value it "preserves Gemfile.lock \\n\\r line endings" do skip "needs to be adapted" if Gem.win_platform? - update_repo2 + update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + end + win_lock = File.read(bundled_app_lock).gsub(/\n/, "\r\n") File.open(bundled_app_lock, "wb") {|f| f.puts(win_lock) } set_lockfile_mtime_to_known_value @@ -1449,7 +1369,7 @@ def set_lockfile_mtime_to_known_value it "refuses to install if Gemfile.lock contains conflict markers" do lockfile <<-L GEM - remote: #{file_uri_for(gem_repo1)}// + remote: #{file_uri_for(gem_repo2)}// specs: <<<<<<< rack (1.0.0) @@ -1468,7 +1388,7 @@ def set_lockfile_mtime_to_known_value L install_gemfile <<-G, :raise_on_error => false - source "#{file_uri_for(gem_repo1)}/" + source "#{file_uri_for(gem_repo2)}/" gem "rack" G diff --git a/bundler/spec/other/platform_spec.rb b/bundler/spec/other/platform_spec.rb index a8fd4d51fbab..eb3539b412a9 100644 --- a/bundler/spec/other/platform_spec.rb +++ b/bundler/spec/other/platform_spec.rb @@ -496,6 +496,10 @@ def should_be_patchlevel_fixnum #{ruby_version_correct} G update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end @@ -512,6 +516,10 @@ def should_be_patchlevel_fixnum #{ruby_version_correct_engineless} G update_repo2 do + build_gem "rack", "1.2" do |s| + s.executables = "rackup" + end + build_gem "activesupport", "3.0" end diff --git a/bundler/spec/plugins/install_spec.rb b/bundler/spec/plugins/install_spec.rb index a91175c616c2..370973ad1a5b 100644 --- a/bundler/spec/plugins/install_spec.rb +++ b/bundler/spec/plugins/install_spec.rb @@ -208,6 +208,19 @@ def exec(command, args) plugin_should_be_installed("ga-plugin") end + it "accepts path sources" do + build_lib "ga-plugin" do |s| + s.write "plugins.rb" + end + + install_gemfile <<-G + plugin 'ga-plugin', :path => "#{lib_path("ga-plugin-1.0")}" + G + + expect(out).to include("Installed plugin ga-plugin") + plugin_should_be_installed("ga-plugin") + end + context "in deployment mode" do it "installs plugins" do install_gemfile <<-G diff --git a/bundler/spec/plugins/source/example_spec.rb b/bundler/spec/plugins/source/example_spec.rb index 60ed051ec381..03a377ac93b4 100644 --- a/bundler/spec/plugins/source/example_spec.rb +++ b/bundler/spec/plugins/source/example_spec.rb @@ -33,6 +33,7 @@ def fetch_gemspec_files def install(spec, opts) mkdir_p(install_path.parent) + require 'fileutils' FileUtils.cp_r(path, install_path) spec_path = install_path.join("\#{spec.full_name}.gemspec") @@ -66,32 +67,7 @@ def install(spec, opts) expect(the_bundle).to include_gems("a-path-gem 1.0") end - it "writes to lock file", :bundler => "< 3" do - bundle "install" - - lockfile_should_be <<-G - PLUGIN SOURCE - remote: #{lib_path("a-path-gem-1.0")} - type: mpath - specs: - a-path-gem (1.0) - - GEM - remote: #{file_uri_for(gem_repo2)}/ - specs: - - PLATFORMS - #{generic_local_platform} - - DEPENDENCIES - a-path-gem! - - BUNDLED WITH - #{Bundler::VERSION} - G - end - - it "writes to lock file", :bundler => "3" do + it "writes to lock file" do bundle "install" lockfile_should_be <<-G @@ -362,34 +338,7 @@ def installed? expect(the_bundle).to include_gems("ma-gitp-gem 1.0") end - it "writes to lock file", :bundler => "< 3" do - revision = revision_for(lib_path("ma-gitp-gem-1.0")) - bundle "install" - - lockfile_should_be <<-G - PLUGIN SOURCE - remote: #{file_uri_for(lib_path("ma-gitp-gem-1.0"))} - type: gitp - revision: #{revision} - specs: - ma-gitp-gem (1.0) - - GEM - remote: #{file_uri_for(gem_repo2)}/ - specs: - - PLATFORMS - #{generic_local_platform} - - DEPENDENCIES - ma-gitp-gem! - - BUNDLED WITH - #{Bundler::VERSION} - G - end - - it "writes to lock file", :bundler => "3" do + it "writes to lock file" do revision = revision_for(lib_path("ma-gitp-gem-1.0")) bundle "install" diff --git a/bundler/spec/quality_spec.rb b/bundler/spec/quality_spec.rb index b0647b76636e..808f0502a4c1 100644 --- a/bundler/spec/quality_spec.rb +++ b/bundler/spec/quality_spec.rb @@ -190,7 +190,7 @@ def check_for_specific_pronouns(filename) line.scan(/Bundler\.settings\[:#{key_pattern}\]/).flatten.each {|s| all_settings[s] << "referenced at `#{filename}:#{number.succ}`" } end end - documented_settings = File.read("man/bundle-config.1.ronn")[/LIST OF AVAILABLE KEYS.*/m].scan(/^\* `#{key_pattern}`/).flatten + documented_settings = File.read("lib/bundler/man/bundle-config.1.ronn")[/LIST OF AVAILABLE KEYS.*/m].scan(/^\* `#{key_pattern}`/).flatten documented_settings.each do |s| all_settings.delete(s) @@ -249,7 +249,7 @@ def check_for_specific_pronouns(filename) end it "does not use require internally, but require_relative" do - exempt = %r{templates/|vendor/} + exempt = %r{templates/|man/|vendor/} all_bad_requires = [] lib_tracked_files.each do |filename| next if filename =~ exempt diff --git a/bundler/spec/realworld/mirror_probe_spec.rb b/bundler/spec/realworld/mirror_probe_spec.rb index 626092c7ebee..a2b5c89150db 100644 --- a/bundler/spec/realworld/mirror_probe_spec.rb +++ b/bundler/spec/realworld/mirror_probe_spec.rb @@ -74,10 +74,10 @@ bundle :install, :artifice => nil, :raise_on_error => false expect(out).to include("Fetching source index from #{mirror}") - expect(err).to include("Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from #{mirror}") - expect(err).to include("Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from #{mirror}") - expect(err).to include("Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from #{mirror}") - expect(err).to include("Could not fetch specs from #{mirror}") + expect(err).to include("Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error ") + expect(err).to include("Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error ") + expect(err).to include("Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error ") + expect(err).to include("Could not fetch specs from #{mirror}/ due to underlying error ") end it "prints each error and warning on a new line" do @@ -90,10 +90,10 @@ expect(out).to include "Fetching source index from #{mirror}/" expect(err).to include <<-EOS.strip -Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ -Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ -Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ -Could not fetch specs from #{mirror}/ +Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error +Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error +Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error +Could not fetch specs from #{mirror}/ due to underlying error EOS end end @@ -112,10 +112,10 @@ bundle :install, :artifice => nil, :raise_on_error => false expect(out).to include("Fetching source index from #{mirror}") - expect(err).to include("Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from #{mirror}") - expect(err).to include("Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from #{mirror}") - expect(err).to include("Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from #{mirror}") - expect(err).to include("Could not fetch specs from #{mirror}") + expect(err).to include("Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error ") + expect(err).to include("Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error ") + expect(err).to include("Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from #{mirror}/ due to underlying error ") + expect(err).to include("Could not fetch specs from #{mirror}/ due to underlying error ") end end @@ -138,7 +138,7 @@ def setup_server end def setup_mirror - mirror_port = find_unused_port - @mirror_uri = "http://#{host}:#{mirror_port}" + @mirror_port = find_unused_port + @mirror_uri = "http://#{host}:#{@mirror_port}" end end diff --git a/bundler/spec/runtime/inline_spec.rb b/bundler/spec/runtime/inline_spec.rb index 1ba50c0e9776..fadf3eb98910 100644 --- a/bundler/spec/runtime/inline_spec.rb +++ b/bundler/spec/runtime/inline_spec.rb @@ -369,4 +369,34 @@ def confirm(msg, newline = nil) expect(out).to eq("WIN") expect(err).to be_empty end + + it "when requiring fileutils after does not show redefinition warnings" do + dependency_installer_loads_fileutils = ruby "require 'rubygems/dependency_installer'; puts $LOADED_FEATURES.grep(/fileutils/)", :raise_on_error => false + skip "does not work if rubygems/dependency_installer loads fileutils, which happens until rubygems 3.2.0" unless dependency_installer_loads_fileutils.empty? + + skip "does not work on ruby 3.0 because it changes the path to look for default gems, tsort is a default gem there, and we can't install it either like we do with fiddle because it doesn't yet exist" unless RUBY_VERSION < "3.0.0" + + Dir.mkdir tmp("path_without_gemfile") + + default_fileutils_version = ruby "gem 'fileutils', '< 999999'; require 'fileutils'; puts FileUtils::VERSION", :raise_on_error => false + skip "fileutils isn't a default gem" if default_fileutils_version.empty? + + realworld_system_gems "fileutils --version 1.4.1" + + realworld_system_gems "fiddle" # not sure why, but this is needed on Windows to boot rubygems succesfully + + realworld_system_gems "timeout uri" # this spec uses net/http which requires these default gems + + script <<-RUBY, :dir => tmp("path_without_gemfile"), :env => { "BUNDLER_GEM_DEFAULT_DIR" => system_gem_path.to_s } + require "bundler/inline" + + gemfile(true) do + source "#{file_uri_for(gem_repo2)}" + end + + require "fileutils" + RUBY + + expect(err).to eq("The Gemfile specifies no dependencies") + end end diff --git a/bundler/spec/runtime/setup_spec.rb b/bundler/spec/runtime/setup_spec.rb index ffa909e269f9..6b47878944f5 100644 --- a/bundler/spec/runtime/setup_spec.rb +++ b/bundler/spec/runtime/setup_spec.rb @@ -1233,6 +1233,9 @@ def lock_with(ruby_version = nil) end << "bundler" exempts << "fiddle" if Gem.win_platform? && Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7") exempts << "uri" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.7") + exempts << "pathname" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") + exempts << "set" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") + exempts << "tsort" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") exempts end diff --git a/bundler/spec/support/artifice/endopint_marshal_fail_basic_authentication.rb b/bundler/spec/support/artifice/endpoint_marshal_fail_basic_authentication.rb similarity index 100% rename from bundler/spec/support/artifice/endopint_marshal_fail_basic_authentication.rb rename to bundler/spec/support/artifice/endpoint_marshal_fail_basic_authentication.rb diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/request index 41ad1632c3af..c821c918e2f3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/request @@ -1,7 +1,7 @@ > GET /info/CFPropertyList > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/response index bf9081bcd10c..17e2169db7f2 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/CFPropertyList/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/request index 0c9630ae9cf9..af8084ff8826 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/request @@ -1,7 +1,7 @@ > GET /info/ParseTree > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/response index 49dc97f75c43..570f2f4c1686 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ParseTree/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/request index 8baffa60538e..01a1e4da8562 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/request @@ -1,7 +1,7 @@ > GET /info/RubyInline > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/response index a70ff95bbb1f..372a8f6a6d53 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/RubyInline/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/request index cd46cefbb49a..0e77b454037f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/request @@ -1,7 +1,7 @@ > GET /info/SexpProcessor > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/response index 7e5e703be5e8..2b0d7ffc0085 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/SexpProcessor/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/request index 58739e4b355f..607c468f9aad 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/request @@ -1,7 +1,7 @@ > GET /info/ZenTest > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/response index 0b4630a3c134..e68ae359d57d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ZenTest/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/request index 707cd29b4d45..0a62397eafc2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/request @@ -1,7 +1,7 @@ > GET /info/abstract > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/response index 019e14e2d71d..a41235ebc741 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/abstract/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/request index 2ce1eadc5793..6b059e9644e0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/request @@ -1,7 +1,7 @@ > GET /info/actioncable > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/response index 85fbd811b554..7e24c76d8994 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actioncable/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/request index 5ff0b535b50e..53e6ee01d611 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/request @@ -1,7 +1,7 @@ > GET /info/actionmailbox > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/response index c4d6763b320a..d5963c20cc8f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailbox/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/request index c82895fa1aba..4837784c650a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/request @@ -1,7 +1,7 @@ > GET /info/actionmailer > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/response index 018a466dd92b..1dd6fc527f8c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionmailer/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/request index c4761e86f2fe..e02b94bc8824 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/request @@ -1,7 +1,7 @@ > GET /info/actionpack > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/response index c1825512c7c3..705208b78f61 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionpack/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/request index 0237a73df4f5..286dc877e9df 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/request @@ -1,7 +1,7 @@ > GET /info/actiontext > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/response index ac619c5654ed..b825e7beb3dd 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actiontext/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/request index 5cf1f4697d3c..dfce1e1646e7 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/request @@ -1,7 +1,7 @@ > GET /info/actionview > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/response index abfb81bb724b..bc0b71cb2746 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionview/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/request index 4608886e9981..b156fd29d146 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/request @@ -1,7 +1,7 @@ > GET /info/actionwebservice > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/response index 2fd5db61c397..8abf322ccf06 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/actionwebservice/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/request index 10faa8ac99bc..e07509d80b9e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/request @@ -1,7 +1,7 @@ > GET /info/activejob > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/response index 56b39037bdde..5a52f0e983b4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activejob/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/request index 11dc32f4a7c5..5269c57c584c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/request @@ -1,7 +1,7 @@ > GET /info/activemodel-globalid > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/response index 5a3cbdeb115a..b64bbb325d07 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-globalid/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/request index 1f2fdb2b5b81..4bb9e34e0560 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/request @@ -1,7 +1,7 @@ > GET /info/activemodel-serializers-xml > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/response index 1106aa8fb15d..4345715b675b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel-serializers-xml/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/request index 19dbfe9b8c61..edaab143a602 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/request @@ -1,7 +1,7 @@ > GET /info/activemodel > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/response index e22aa9374aa1..fbf04576f175 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activemodel/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/request index 056be81c4876..f91d3a0e8df1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/request @@ -1,7 +1,7 @@ > GET /info/activerecord-deprecated_finders > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/response index f9bdc476e991..5c8371c12b96 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord-deprecated_finders/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/request index ac0970786a45..2006024e7106 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/request @@ -1,7 +1,7 @@ > GET /info/activerecord > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/response index c7441b0dd851..1580d395bd8b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activerecord/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/request index 40e572784311..46b887766542 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/request @@ -1,7 +1,7 @@ > GET /info/activeresource > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/response index ac0a0417c379..e91f64cbe3d1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activeresource/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/request index 9e4a4119e9a8..f7a535070b31 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/request @@ -1,7 +1,7 @@ > GET /info/activestorage > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/response index 7a05625263dc..e75b67f5a0f8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activestorage/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/request index 2264f3a644f0..ff1a9c364a43 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/request @@ -1,7 +1,7 @@ > GET /info/activesupport > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/response index b38c5a931fb7..443d4cb95189 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/activesupport/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/request index 6e902cf7077e..7fe1c5c4ca2e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/request @@ -1,7 +1,7 @@ > GET /info/adamantium > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/response index 38c4a9753b6e..4c429705baa6 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/adamantium/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/request index bffaa06ded92..b417b9e5c5b7 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/request @@ -1,7 +1,7 @@ > GET /info/addressable > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/response index bbb2cdedc4a1..a74ead39c552 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/addressable/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/request index 0cf1cbe21fb0..e5caf9a27917 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/request @@ -1,7 +1,7 @@ > GET /info/arel > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/response index 9a9a55f525d3..4665d722a2ba 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/arel/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/request index 7446086fb0b0..e01cf1cf3e3d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/request @@ -1,7 +1,7 @@ > GET /info/ast > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/response index ba198c7cb7dd..8a31c574e557 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ast/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/request index 8cb91a6ec04c..826775d6edef 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/request @@ -1,7 +1,7 @@ > GET /info/astrolabe > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/response index 9e3ca815c1ea..58e4202580dc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/astrolabe/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/request index c50144877e00..87c8d69ffa0a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/request @@ -1,7 +1,7 @@ > GET /info/atomic > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/response index a616888ca4fe..9274a88d0236 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/atomic/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/request index ae36cde750d5..4f7a9358833d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/request @@ -1,7 +1,7 @@ > GET /info/autoparse > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/response index 4a939b0cd980..16012a4bf860 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/autoparse/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/request index bf7f23336b34..e0c7e265db9e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/request @@ -1,7 +1,7 @@ > GET /info/axiom-types > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/response index e3e22f85f1bb..8356d84bce71 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/axiom-types/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/request index 04bec5507dca..ff99d3cda996 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/request @@ -1,7 +1,7 @@ > GET /info/backports > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/response index a5932d6fdff7..f257d0a4d0f3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/backports/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/request index 5570853e1960..175702f00dbd 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/request @@ -1,7 +1,7 @@ > GET /info/bcrypt-ruby > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/response index f86744ecb3e4..49d75289b919 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt-ruby/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/request index a03093078aa1..862f5d6126fb 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/request @@ -1,7 +1,7 @@ > GET /info/bcrypt > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/response index c3059973c5c2..28eeda6e8789 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/request index e64a726a7003..2f1f5f8ac136 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/request @@ -1,7 +1,7 @@ > GET /info/bcrypt_pbkdf > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/response index 6578957f92fa..32f1cd1e9c77 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bcrypt_pbkdf/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/request index 1a5a78f729bc..f6e5173bf3ac 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/request @@ -1,7 +1,7 @@ > GET /info/builder > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/response index 0559b6ed10bb..e69f323f99bf 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/builder/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/request index 01f31ed6dac5..f8e739152de0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/request @@ -1,7 +1,7 @@ > GET /info/bundler > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/response index 21bb236279d2..137e9d917196 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/bundler/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/request index 92677afdc23a..4a8d230447cb 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/request @@ -1,7 +1,7 @@ > GET /info/c21e > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/response index 3603a6671c0b..e6c9b08ceb06 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/c21e/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/request index 8c8d2427750c..4fe5747741f6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/request @@ -1,7 +1,7 @@ > GET /info/capybara > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/response index c73855878597..973a5a0d2600 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/capybara/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/request index 8cb24a7e3534..ec3dc15d37dd 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/request @@ -1,7 +1,7 @@ > GET /info/celerity > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/response index 06c88e1ea31d..280bf60a0168 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celerity/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/request index 387562d6f034..f2047b3a817b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid-essentials > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/response index 68138d08ab85..cdb9c1bae993 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-essentials/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/request index 70e1b4da8079..90a7b1077b7a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid-extras > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/response index cc1a576bb134..05cadbc9a006 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-extras/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/request index f737c8f1c3dc..32df8f7e33ba 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid-fsm > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/response index f791f2e213c4..e4f9be1b090c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-fsm/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/request index ba71c86a06bf..cfeb0b4c09ac 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid-io > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/response index 8d5785f9a811..6aeb77ae8dd8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-io/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/request index 00a24a0e0c34..ce14875bb758 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid-pool > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/response index 68790444c528..44ed7b743966 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-pool/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/request index a51bc8a54669..802688cf57e6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid-supervision > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/response index c166ff55cc54..9b8e838a46a4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid-supervision/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/request index 3048cacd2d85..2c66bae536ba 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/request @@ -1,7 +1,7 @@ > GET /info/celluloid > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/response index b2b99ac909ca..7620c7fe0745 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/celluloid/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/request index e934d07b19e8..932c20cfe587 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/request @@ -1,7 +1,7 @@ > GET /info/cgi_multipart_eof_fix > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/response index b5d0c6d37839..258d7f2d5ac4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cgi_multipart_eof_fix/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/request index d21dd18e8417..3cfd6fe2693c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/request @@ -1,7 +1,7 @@ > GET /info/childprocess > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/response index 93199ccc7b15..3c9a2723e88b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/childprocess/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/request index d81389a69df7..48944dbf464a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/request @@ -1,7 +1,7 @@ > GET /info/climate_control > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/response index c708ab8ae9f8..80fece098a87 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/climate_control/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/request index a50fd424bca6..1c5effacec65 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/request @@ -1,7 +1,7 @@ > GET /info/cocaine > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/response index c6f6903ea869..fbe07275586b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cocaine/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/request index 5beb3478e9bc..23b99fb56944 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/request @@ -1,7 +1,7 @@ > GET /info/coercible > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/response index 59e4a42c113b..5196adc1c91a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coercible/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/request index 5a577fde8134..dff2318e5c1f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/request @@ -1,7 +1,7 @@ > GET /info/coffee-rails > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/response index cb622502809b..2464b8787dc8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-rails/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/request index 4eddb28de82f..fb96db91f998 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/request @@ -1,7 +1,7 @@ > GET /info/coffee-script-source > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/response index 6b6c1054c969..cc1ab93c3459 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script-source/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/request index 93e6e745a809..8047e01b335c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/request @@ -1,7 +1,7 @@ > GET /info/coffee-script > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/response index 2189e7a34033..8bc9ce21309b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coffee-script/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/request index be6ce066293b..e58fedd4c52e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/request @@ -1,7 +1,7 @@ > GET /info/colorize > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/response index a5608073636d..e191e0c4f199 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/colorize/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/request index 179f1e954277..1790c7333ac7 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/request @@ -1,7 +1,7 @@ > GET /info/concurrent-ruby > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/response index b68adecdf4cc..8cf91c478abf 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/concurrent-ruby/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/request index f80633857aeb..7bc22173a034 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/request @@ -1,7 +1,7 @@ > GET /info/configuration > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/response index b6ccecb2e008..eb7e5c8e6a9a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/configuration/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/request index ac244645e3e7..4ac7ccf6c3b3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/request @@ -1,7 +1,7 @@ > GET /info/coveralls > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/response index faf49a97da87..a3e24df56c10 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/coveralls/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/request index 207a8dd99e49..7e5a90f71461 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/request @@ -1,7 +1,7 @@ > GET /info/crass > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/response index e8b17010e2a8..1cdf4286293a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/crass/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/request index 8560823b098e..8b99f74990f5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-core > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/response index c19513943f9c..77ab44f88de5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-core/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-create-meta/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-create-meta/GET/request new file mode 100644 index 000000000000..d73277770da8 --- /dev/null +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-create-meta/GET/request @@ -0,0 +1,7 @@ +> GET /info/cucumber-create-meta +> accept-encoding: gzip +> accept: */* +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 +> connection: keep-alive +> keep-alive: 30 +> host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-create-meta/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-create-meta/GET/response new file mode 100644 index 000000000000..033f95e1f400 Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-create-meta/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/request index 0b4714a6eb34..6bfee317d311 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-cucumber-expressions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/response index ca403a51ad88..1718298f4cc3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-cucumber-expressions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/request index 214ddb8dd869..6801edeaf7ca 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-expressions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/response index 6497acc1da55..419e30ef1bd3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-expressions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/request index c3973b12807f..1081c18b4374 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-formatter-dots > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/response index 21ebae8a1515..6a15078c4ba5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-formatter-dots/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/request index 4f68835702d2..5469e06ddaf9 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-gherkin > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/response index c3bd288826b9..e5e694929f1c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-gherkin/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/request index 34942817e0b8..ce5d54a6dc9d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-html-formatter > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/response index 9159ab69ae89..3b2a3824b40a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-html-formatter/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/request index a58eb13dd777..46b9b5c2dbb8 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-messages > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/response index 9f1c2d374eb0..e6117bb76e14 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-messages/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/request index 60f9c59f7bab..9409eeb2c368 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-tag-expressions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/response index ba8f11e4459c..03283c97ba10 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag-expressions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/request index bf61228021d6..344450041dc2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-tag_expressions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/response index 5a591db7d103..802761aab270 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-tag_expressions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/request index 5f3f1f04017c..b051ab35eea1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber-wire > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/response index 678679699eae..07b690554524 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber-wire/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/request index f1d3528ff9c5..0ae57d779bd8 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/request @@ -1,7 +1,7 @@ > GET /info/cucumber > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/response index 7be004eaa53a..e78f22f6e33d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/cucumber/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/request index 27866ab09311..19419d995138 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/request @@ -1,7 +1,7 @@ > GET /info/culerity > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/response index 28a4a8fb7301..668e78e6aba1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/culerity/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/request index 0cac2e31400e..4ba6bba19583 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/request @@ -1,7 +1,7 @@ > GET /info/curses > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/response index db85382dd7d9..5682e34d8943 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/curses/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/request index 03d7ba289043..cfcc30159df9 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/request @@ -1,7 +1,7 @@ > GET /info/daemons > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/response index 11faa590a74a..2a4e4bbc8289 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/daemons/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/request index f4a8d71608c9..74ac9b8ad34c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/request @@ -1,7 +1,7 @@ > GET /info/database_cleaner-active_record > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/response index 4808992427f2..70ccf3fde7cc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-active_record/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/request index 1a068809d543..b43ce31db38a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/request @@ -1,7 +1,7 @@ > GET /info/database_cleaner-core > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/response index 9afea1bda277..52fc42cbc6a4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner-core/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/request index d5a92fcd0abb..46ec0870cf1c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/request @@ -1,7 +1,7 @@ > GET /info/database_cleaner > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/response index e8e1b524b88a..88bf457de60a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/database_cleaner/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/request index 0214578b8cc6..98a62a0df46c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/request @@ -1,7 +1,7 @@ > GET /info/declarative-option > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/response index fdc855ea52fb..b112da891f29 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative-option/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/request index d0689ad4095a..fc714b41bee4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/request @@ -1,7 +1,7 @@ > GET /info/declarative > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/response index ac5a31e7a8a3..b57c6d7b3c56 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/declarative/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/request index 4cc3cd52344f..96df973fbac3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/request @@ -1,7 +1,7 @@ > GET /info/descendants_tracker > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/response index 7cda8421e0f2..9b582b14a1fd 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/descendants_tracker/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/request index a15528201eb7..a90b7ea658ee 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/request @@ -1,7 +1,7 @@ > GET /info/diff-lcs > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,path,jobs,spec_run 9afd291ad67c0a67 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/response index 2f18a8e51c62..bdbadef112f3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/diff-lcs/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/request index bcfb820567af..b3dbc16bf0c4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/request @@ -1,7 +1,7 @@ > GET /info/docile > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/response index ae2047d551db..67cc38e6e2ed 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/docile/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/request index 8d57646e744b..1a8e572a02c3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/request @@ -1,7 +1,7 @@ > GET /info/domain_name > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/response index 2f404b75ef3e..686182cbd3c5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/domain_name/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/request index 524ab8118b0f..b720ae95f659 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/request @@ -1,7 +1,7 @@ > GET /info/dotenv-deployment > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/response index 52167018eb3b..d90ae582d761 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv-deployment/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/request index 439b6ed06c25..1f696183d493 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/request @@ -1,7 +1,7 @@ > GET /info/dotenv > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/response index 16c8f40f77ec..5353109d4fc5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/dotenv/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/request index 9feaa48f5f33..9fbb453cca89 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/request @@ -1,7 +1,7 @@ > GET /info/em-hiredis > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/response index a1b93f7017e0..cc8d048f2333 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/em-hiredis/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/request index ad69fce5432d..91225d223860 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/request @@ -1,7 +1,7 @@ > GET /info/english > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/response index 614c16ee31c5..9c7b42c6ee26 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/english/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/request index 2a3e3bc898cb..5982eb724861 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/request @@ -1,7 +1,7 @@ > GET /info/equalizer > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/response index 66a37488ab04..5d8787b48902 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equalizer/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/request index 3d66ada6b89f..d52618810e9f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/request @@ -1,7 +1,7 @@ > GET /info/equatable > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/response index 2d3b144f483f..028722e859c5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/equatable/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/request index 63e3d568b0b5..5d9f24c21808 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/request @@ -1,7 +1,7 @@ > GET /info/erubi > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/response index 73982b3767b8..0dea0677671f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubi/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/request index 6220c6cc8c58..503a0c446e25 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/request @@ -1,7 +1,7 @@ > GET /info/erubis > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/response index b32bb56d553f..7170e397b0fb 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/erubis/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/request index 4def9569af47..e2180a4a0539 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/request @@ -1,7 +1,7 @@ > GET /info/escape_utils > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/response index 4c1197a98ac6..6eef177ac4bb 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/escape_utils/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/request index 93a1ddfb96f7..346489eed576 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/request @@ -1,7 +1,7 @@ > GET /info/et-orbi > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/response index bf7772d0109b..b01fc8900217 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/et-orbi/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/request index 81abc80aa698..d5d3dc1ca0a5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/request @@ -1,7 +1,7 @@ > GET /info/event-bus > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/response index 74e210aac8a3..885ec91bc335 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/event-bus/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/request index 2dda826909a5..35965484732d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/request @@ -1,7 +1,7 @@ > GET /info/eventmachine-le > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/response index 18877f1abb15..9207706d4bc2 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine-le/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/request index 621431d8e7f8..95d5461528f0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/request @@ -1,7 +1,7 @@ > GET /info/eventmachine > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/response index 3fd51150f70c..4c3a8a893384 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/eventmachine/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/request index e3b21715c96c..12dd5c1394c6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/request @@ -1,7 +1,7 @@ > GET /info/execjs > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/response index 546d3775978d..e460775503d9 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/execjs/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/request index 23a5abd0caa1..b1982537b25f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/request @@ -1,7 +1,7 @@ > GET /info/extlib > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/response index b432d6c0dc13..da741118544d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/extlib/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/request index f9d3787be465..a99855c19315 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/request @@ -1,7 +1,7 @@ > GET /info/facets > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/response index 19b272556a37..4ef62eddd422 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facets/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/request index 24f5c8ed9e1f..b5ecc600fef3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/request @@ -1,7 +1,7 @@ > GET /info/facter > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/response index 4f03b343fd5b..3e1e147dc63f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/facter/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/request index babaad98227a..6c0a376b68c0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/request @@ -1,7 +1,7 @@ > GET /info/faker > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/response index 8e6cc5a6afbf..0f72b41db4f5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faker/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/request index 50e07fdf0ea8..14b55e7cfea4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/request @@ -1,7 +1,7 @@ > GET /info/faraday > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/response index bde1b9a27d58..5f3a3695a557 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faraday/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/request index 5911c90c7f47..73e56763a369 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/request @@ -1,7 +1,7 @@ > GET /info/fastthread > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/response index 4a97259e8cc8..4c896293ca99 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fastthread/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/request index fa76ff68e420..d78447f2477c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/request @@ -1,7 +1,7 @@ > GET /info/faye-websocket > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/response index 6faf41d0a50a..46207024f670 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/faye-websocket/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/request index 7b2db5fdece2..23ce9b3e4be4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/request @@ -1,7 +1,7 @@ > GET /info/ffi-win32-extensions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/response index 52e12d7c0419..5c8c15f72ef8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi-win32-extensions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/request index b00cc6fcfaf3..5fa6087e63ad 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/request @@ -1,7 +1,7 @@ > GET /info/ffi > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/response index e3670a5a6968..a36a272bd4fe 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ffi/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/request index 17f68a7dcee5..bdb7eccd3aab 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/request @@ -1,7 +1,7 @@ > GET /info/flexmock > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/response index 9a67b2d85ef9..1d1f933c5d39 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/flexmock/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/request index 69f97419451f..93bb7e1841cf 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/request @@ -1,7 +1,7 @@ > GET /info/fugit > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/response index 8680f9e0a7b2..7a3b45daee83 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/fugit/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/request index d55721f5a22e..c677249c83ec 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/request @@ -1,7 +1,7 @@ > GET /info/functional-ruby > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/response index 7d88c24254e4..3cc535cc531b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/functional-ruby/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/request index 4d8d2618e713..c2a29855aed1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/request @@ -1,7 +1,7 @@ > GET /info/gem_plugin > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/response index f6aa581c40bd..b28e1c8b0a09 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gem_plugin/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/request index 9dc87b749897..7a08aa030248 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/request @@ -1,7 +1,7 @@ > GET /info/gemcutter > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/response index 8b20aeeb7a30..920aa4337587 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gemcutter/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/request index 92102d4cebc3..e2b430dddbb8 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/request @@ -1,7 +1,7 @@ > GET /info/gherkin > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/response index bc2c6468bdd8..70e9a7f1bf2b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/request index 8eba60ab9c73..56e5139ffc3b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/request @@ -1,7 +1,7 @@ > GET /info/gherkin3 > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/response index 288a35a20ca7..b0fb0ebb4fde 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gherkin3/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/request index 2a9e39cb0d61..36365b4a6a8f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/request @@ -1,7 +1,7 @@ > GET /info/globalid > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/response index e541aa62637d..45078048f1d1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/globalid/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/request index ac4c1ffa058d..1db384aa5d2a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/request @@ -1,7 +1,7 @@ > GET /info/google-api-client > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/response index 0a9cea0372a2..0dd48a0f9f0a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-api-client/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/request index 1a74d43b6bcd..670f1f080ab0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/request @@ -1,7 +1,7 @@ > GET /info/google-protobuf > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/response index f3c12128598c..02ba7dac0ab0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/google-protobuf/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/request index 2150e8e59b9b..417397a2e74a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/request @@ -1,7 +1,7 @@ > GET /info/googleauth > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/response index c1e506ba7c5c..1ccf8ed5ae36 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/googleauth/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/request index cbc27fc77deb..ce03786a0a98 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/request @@ -1,7 +1,7 @@ > GET /info/gxapi_rails > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/response index 26e18cfa7c89..39bbacde5aff 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/gxapi_rails/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/request index 2a39b3b63753..d6a6b8382b18 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/request @@ -1,7 +1,7 @@ > GET /info/hike > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/response index 6b117bcb2739..713c08e8dde1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hike/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/request index 70db7b8ea73d..d235f6459249 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/request @@ -1,7 +1,7 @@ > GET /info/hiredis > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/response index 49c127a01c4e..509ed6fd7e7b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hiredis/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/request index 1c8132b5ec17..ecbf20a399b6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/request @@ -1,7 +1,7 @@ > GET /info/hitimes > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/response index 6d3d4d4a37b5..9bec7c364958 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hitimes/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/request index bb34e1f9cdf5..28c7a57450c1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/request @@ -1,7 +1,7 @@ > GET /info/hocon > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/response index fff68aa21485..24334b8aa415 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hocon/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/request index 0c3fde327aed..ebd093103042 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/request @@ -1,7 +1,7 @@ > GET /info/hoe > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/response index 74a3fcc67784..fa59a465ed14 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hoe/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/request index f739a7a195fe..1d080a720b99 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/request @@ -1,7 +1,7 @@ > GET /info/hooks > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/response index b2e54e895d05..929fc3af3d32 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hooks/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/request index 0532b2f435fa..23c8e2b8931e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/request @@ -1,7 +1,7 @@ > GET /info/http-accept > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/response index 38ddc89241c0..98abfe93798c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-accept/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/request index 40be4a7392a9..34b3e6c317ca 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/request @@ -1,7 +1,7 @@ > GET /info/http-cookie > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/response index 2ed990aabc11..81a1dda8a259 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http-cookie/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/request index 5323b0a91be2..f05e9a292a1a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/request @@ -1,7 +1,7 @@ > GET /info/http_parser.rb > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/response index d39d22548829..d0419319d782 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/http_parser.rb/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/request index 919898b2632b..278ea7d1bd16 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/request @@ -1,7 +1,7 @@ > GET /info/httpadapter > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/response index 8e2772ab0739..4aad4bcadb99 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpadapter/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/request index a2b91e9c4580..68f5a9cbb6b0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/request @@ -1,7 +1,7 @@ > GET /info/httpclient > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/response index 3f42694b2b13..121702e7c2af 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/httpclient/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/request index 280bb8ae310a..70b534d196e2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/request @@ -1,7 +1,7 @@ > GET /info/hurley > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/response index f139cb183656..109a6bee5467 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/hurley/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/request index 18e0f63fa8a2..a80e3e01c9d3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/request @@ -1,7 +1,7 @@ > GET /info/i18n > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/response index 977304c2f686..37d80894fab5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/i18n/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/request index 13a713c47c69..dce0cb9b0eef 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/request @@ -1,7 +1,7 @@ > GET /info/ice_nine > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/response index 232ea6ed5915..17efcf1f082a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ice_nine/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/request index 49f8823f4bdd..f74193eee86b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/request @@ -1,7 +1,7 @@ > GET /info/jar-dependencies > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/response index 11c2f80b778f..4d24febfd16b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jar-dependencies/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/request index df36117318f9..1b5e321c02b7 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/request @@ -1,7 +1,7 @@ > GET /info/jaro_winkler > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/response index 31ac5ab11d6b..037854f0f5dc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jaro_winkler/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/request index 6f24efaec2c5..2005fdf6cc09 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/request @@ -1,7 +1,7 @@ > GET /info/journey > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/response index 14b05426c4de..8171d8aba2d2 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/journey/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/request index 6cf34f3bc630..9acf5602b9ee 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/request @@ -1,7 +1,7 @@ > GET /info/jruby-pageant > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/response index 3b9c5ee76176..d321c0c47907 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jruby-pageant/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/request index 22062c57b46f..477966bd3910 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/request @@ -1,7 +1,7 @@ > GET /info/json > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/response index 08b4783761f2..cefa4e621edc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/request index bcb4cbb13bb2..8ffdf2ffb496 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/request @@ -1,7 +1,7 @@ > GET /info/json_pure > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/response index 9cd261c8ac4d..710ad1f4e3ad 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/json_pure/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/request index 0b02ca82e50c..8c1882e86e2e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/request @@ -1,7 +1,7 @@ > GET /info/jwt > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/response index 25faaef10eeb..da2cc12bf3f6 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/jwt/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/request index 297e293d5ae4..dc60f99de93d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/request @@ -1,7 +1,7 @@ > GET /info/launchy > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/response index 1ec159b82192..02207fa995e6 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/launchy/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/request index e37c7025ff81..8cd5a9c36cdc 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/request @@ -1,7 +1,7 @@ > GET /info/libv8 > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/response index 82c9f74ec1d6..b576891d08b9 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libv8/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/request index 1ca0a2d8ee0e..60871fb0b474 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/request @@ -1,7 +1,7 @@ > GET /info/libwebsocket > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/response index 49614ff9d136..4f8b75befa28 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libwebsocket/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/request index 26cd6fe366e7..e7ee940d8534 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/request @@ -1,7 +1,7 @@ > GET /info/libxml-ruby > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/response index bfc687756485..791982d2debb 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/libxml-ruby/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/request index 45f9e107b37e..af52040c0e7d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/request @@ -1,7 +1,7 @@ > GET /info/liquid > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/response index b22ca3f17508..4138ec9b9fe9 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/liquid/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/request index c2362cabf795..017ec0133413 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/request @@ -1,7 +1,7 @@ > GET /info/listen > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/response index 65f1dce26835..d40e93a7cac0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/listen/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/request index bab66127c2a2..a60920325c16 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/request @@ -1,7 +1,7 @@ > GET /info/little-plugger > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/response index c457e59d5a34..303f4f7f4d9d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/little-plugger/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/request index 1e75e4114bce..0d9175640740 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/request @@ -1,7 +1,7 @@ > GET /info/lockfile > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/response index b3a28b4a32b1..8d9f4bd5f229 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/lockfile/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/request index 98711040305e..d6012ce235e2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/request @@ -1,7 +1,7 @@ > GET /info/logging > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/response index 37251a22260c..c0121b19c37a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/logging/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/request index 2769231c0027..873bd5989ff6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/request @@ -1,7 +1,7 @@ > GET /info/loofah > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/response index 10716e8a759a..05d858f66c17 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/loofah/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/request index c991f09d82bd..bf60a5ef6a84 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/request @@ -1,7 +1,7 @@ > GET /info/mail > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/response index 53f04ee20320..ecd1a4c7efda 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mail/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/request index a978d1c0fd2b..37cdf666b41d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/request @@ -1,7 +1,7 @@ > GET /info/marcel > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/response index 9565171178fd..e5c73fc4bca7 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/marcel/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/request index 0fef0de1c829..701e25415d1d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/request @@ -1,7 +1,7 @@ > GET /info/maven-tools > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/response index dee508d12eaf..4b8cfdd72148 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/maven-tools/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/request index 0fdd67199953..484190be9de2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/request @@ -1,7 +1,7 @@ > GET /info/memcache-client > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/response index 513a96c8073d..97da7dd22fc4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memcache-client/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/request index 1dc69af8ca1f..1fa82a465322 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/request @@ -1,7 +1,7 @@ > GET /info/memoist > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/response index c89dff54e022..2e65d2f6150f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoist/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/request index 903a9c4ac2e1..2cf72d2feb95 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/request @@ -1,7 +1,7 @@ > GET /info/memoizable > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/response index 40f582a90459..6acd6e03a95b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/memoizable/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/request index 94fce06446bc..0cd866514d06 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/request @@ -1,7 +1,7 @@ > GET /info/metaclass > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/response index b6b42dd699bd..55d69aa50d6f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/metaclass/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/request index 46017c9c9644..1c14c5453e2e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/request @@ -1,7 +1,7 @@ > GET /info/method_source > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/response index 9605950f6999..977ff544b371 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/method_source/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/request index 909fb4f80c4d..cc08fb0ba037 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/request @@ -1,7 +1,7 @@ > GET /info/middleware > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/response index 7e2688064e73..555e52274003 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/middleware/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/request index 469b4888de9a..782f76339e6d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/request @@ -1,7 +1,7 @@ > GET /info/mime-types-data > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/response index cfa5b7ed639d..5cf00df61399 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types-data/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/request index 37166bd167dc..2d9419ffdd71 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/request @@ -1,7 +1,7 @@ > GET /info/mime-types > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/response index 50d2626ea8ea..2e7c88749a1d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mime-types/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/request index f9428c7abfe9..94477d78f2f4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/request @@ -1,7 +1,7 @@ > GET /info/mimemagic > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/response index 177ddaedf8e8..8939ed87c783 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mimemagic/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/request index 16aef441992d..9690361df0aa 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/request @@ -1,7 +1,7 @@ > GET /info/mini_mime > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/response index b209061fc9b9..9b6c4790bc71 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_mime/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/request index ec426b2b8cc1..86028bc84cd2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/request @@ -1,7 +1,7 @@ > GET /info/mini_portile > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/response index 497d8759788f..95a17dfffa41 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/request index a13ff868db97..db26063969a5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/request @@ -1,7 +1,7 @@ > GET /info/mini_portile2 > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/response index a59fa6f22232..4edefde15ab4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mini_portile2/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/request index 876f1a2cc774..ee12123c4df4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/request @@ -1,7 +1,7 @@ > GET /info/minitest > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/response index 40667e510fcd..9bb89ab53176 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/minitest/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/request index 4c0ce5cb893d..1ed63e8071f4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/request @@ -1,7 +1,7 @@ > GET /info/mkrf > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/response index ef22bfa04a48..95eac1d6fcb5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mkrf/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/request index 1b99f4bb3bc5..aeefcd4ec7f0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/request @@ -1,7 +1,7 @@ > GET /info/mocha > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/response index 3bcf3c66b53e..6076a043430b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mocha/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/request index 92943158a725..85ff2210a754 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/request @@ -1,7 +1,7 @@ > GET /info/mongrel > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/response index e3048ec08698..fd1658837afd 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mongrel/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/request index f779757bb591..04a077355a49 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/request @@ -1,7 +1,7 @@ > GET /info/mono_logger > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/response index 3e00890be8b2..a3c55333bfe6 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mono_logger/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/request index 8c3d1e5abb52..ee5b43c3a276 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/request @@ -1,7 +1,7 @@ > GET /info/multi_json > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/response index bdd971ef5a04..42b1d883f269 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_json/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/request index f8e761e10c15..55ad22f4b7e3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/request @@ -1,7 +1,7 @@ > GET /info/multi_test > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/response index 9669a2ba371d..fbca9f839df9 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multi_test/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/request index c631b65f35a3..a5bb4b4c7f91 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/request @@ -1,7 +1,7 @@ > GET /info/multimap > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/response index 5bdbd0140fd8..5ee16055f12d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multimap/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/request index c37cc38c1b61..22e89abd256c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/request @@ -1,7 +1,7 @@ > GET /info/multipart-post > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/response index e9a427289837..bba2cebfca68 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/multipart-post/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/request index be2c87ee18d3..2c601a276769 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/request @@ -1,7 +1,7 @@ > GET /info/mustermann > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/response index b02ed4ab9609..c0c0a1b5a493 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/mustermann/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/request index 5db24635d094..08fcb507a88a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/request @@ -1,7 +1,7 @@ > GET /info/needle > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/response index d9351cf0fef6..549a70214e21 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/needle/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/request index b248564db31b..0bd1dac23154 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/request @@ -1,7 +1,7 @@ > GET /info/nenv > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/response index fed7c08066ba..26d99b1a4fab 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nenv/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/request index 897b76adbb0a..4187a8691cbe 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/request @@ -1,7 +1,7 @@ > GET /info/net-scp > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/response index 7e05cc56efc3..609a24d3a701 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-scp/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/request index 915a757052d1..6dc60972c124 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/request @@ -1,7 +1,7 @@ > GET /info/net-ssh > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/response index cf4bf3a84846..222592bea40e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/net-ssh/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/request index 41827230e267..5924bd12ee73 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/request @@ -1,7 +1,7 @@ > GET /info/netrc > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/response index cc272eff7269..c11edf04b270 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/netrc/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/request index 9f969fafe8d4..c619182b0c5a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/request @@ -1,7 +1,7 @@ > GET /info/nio4r > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/response index 15b3fbba228f..0e28113373db 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nio4r/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/request index 63b8679b1518..68033ea7966c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/request @@ -1,7 +1,7 @@ > GET /info/nokogiri > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/response index 032714ac35d9..a8d0c10a1212 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/nokogiri/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/request index d9a7e7dedeb3..42b931ba50c5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/request @@ -1,7 +1,7 @@ > GET /info/os > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/response index 29311681a33e..b8dab51f1b89 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/os/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/request index 7b214948fd2f..f4f4c75bf9ef 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/request @@ -1,7 +1,7 @@ > GET /info/paperclip > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/response index 285233cfb23e..5c7af25683c9 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/paperclip/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/request index f6d40e1fff74..4b5c58a7f056 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/request @@ -1,7 +1,7 @@ > GET /info/parallel > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/response index 9a0bc4fee8eb..d8506dff2223 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parallel/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/request index 6777ea11449b..101c50699b61 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/request @@ -1,7 +1,7 @@ > GET /info/parser > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/response index ee82167fbc1b..76f5d9d7b2be 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/parser/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/request index a0dc5c1d7612..8d47d97c025d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/request @@ -1,7 +1,7 @@ > GET /info/pastel > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/response index 648c68b806ab..9efac3377474 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pastel/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/request index a3db6aa909e1..13a47fa0ace9 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/request @@ -1,7 +1,7 @@ > GET /info/pattern-match > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/response index de623b419520..87bfcd342423 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pattern-match/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/request index a3021c8e49cd..513896489750 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/request @@ -1,7 +1,7 @@ > GET /info/pkg-config > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/response index 5c5365da3070..d2d1ab267366 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/pkg-config/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/request index fd1d59a94c39..17d0704f3439 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/request @@ -1,7 +1,7 @@ > GET /info/polyglot > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/response index 302c9f6e4938..0d37c28cb4ea 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/polyglot/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/request index 5cacdc7dece7..ebe5a4445a5f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/request @@ -1,7 +1,7 @@ > GET /info/power_assert > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/response index c696124fd628..11a9e7d43b50 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/power_assert/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/request index f1592f7c5e0b..b8f023886601 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/request @@ -1,7 +1,7 @@ > GET /info/powerpack > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/response index 039cbb69e03b..29ae0ecbc0bc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/powerpack/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/request index 551d384bcc54..e0788ae7b565 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/request @@ -1,7 +1,7 @@ > GET /info/preforker > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/response index 04bf9f9aea9c..5a5eabfc0a2d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/preforker/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/request index 3215f5f6a26e..78012065a8e5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/request @@ -1,7 +1,7 @@ > GET /info/protobuf-cucumber > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/response index 1cb2aab29fa0..a23a571a4e40 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/protobuf-cucumber/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/request index fdc054357583..71e43962a602 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/request @@ -1,7 +1,7 @@ > GET /info/psych > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/response index 6c2976047fc8..49d151d79ed3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/psych/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/request index 1165dc2fdcf5..326daebc3088 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/request @@ -1,7 +1,7 @@ > GET /info/public_suffix > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/response index fbb3112936ec..3cdfc2c53087 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/public_suffix/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/request index 695f8884db17..e60530836c9a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/request @@ -1,7 +1,7 @@ > GET /info/raabro > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/response index 34d340f9d390..efa36dceddaf 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/raabro/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/racc/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/racc/GET/request deleted file mode 100644 index e94d738ed169..000000000000 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/racc/GET/request +++ /dev/null @@ -1,7 +0,0 @@ -> GET /info/racc -> accept-encoding: gzip -> accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca -> connection: keep-alive -> keep-alive: 30 -> host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/racc/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/racc/GET/response deleted file mode 100644 index a3ee66cead6e..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/racc/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/request index e06892dc3329..575afe79021a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/request @@ -1,7 +1,7 @@ > GET /info/rack-cache > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/response index 77791c027b83..ae133387f8f6 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-cache/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/request index cca32026a765..02385985d3b1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/request @@ -1,7 +1,7 @@ > GET /info/rack-mount > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/response index 5056111f4b2a..29726961a3a4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-mount/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/request index 8253b29d11d5..b73c68b9254e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/request @@ -1,7 +1,7 @@ > GET /info/rack-protection > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/response index 33834cddd5e0..07dcd8778182 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-protection/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/request index f55a51bbe609..7fac7a30409c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/request @@ -1,7 +1,7 @@ > GET /info/rack-ssl > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/response index 7a1d07a36cac..48cefd450126 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-ssl/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/request index cef0e5434087..73b47dd81802 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/request @@ -1,7 +1,7 @@ > GET /info/rack-test > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/response index 6eb996b16869..a117e4fdd9c0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack-test/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/request index 5e4e09cd29d2..620527b2d01a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/request @@ -1,7 +1,7 @@ > GET /info/rack > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/response index ba5b3802b582..f55af61bc822 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rack/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/request index 9afdb292b1fe..ffaacada6570 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/request @@ -1,7 +1,7 @@ > GET /info/rails-deprecated_sanitizer > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/response index 527472cc404d..23664c6cd6f0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-deprecated_sanitizer/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/request index a66699e54212..324a58cd0163 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/request @@ -1,7 +1,7 @@ > GET /info/rails-dom-testing > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/response index 70c1ecfba0ba..dc307e6d852e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-dom-testing/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/request index f20e6a173dcf..fdef61643a1e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/request @@ -1,7 +1,7 @@ > GET /info/rails-html-sanitizer > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/response index 682673d567fd..a62c56deef03 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-html-sanitizer/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/request index eafa17f29d90..993a37a98a42 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/request @@ -1,7 +1,7 @@ > GET /info/rails-observers > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/response index 73c2df7acfaa..d788258261ca 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails-observers/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/request index 01d3b9a18d31..92c004809578 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/request @@ -1,7 +1,7 @@ > GET /info/rails > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/response index 83f9350a0ed4..ba670c9f3220 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rails/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/request index bfdc8ec501b9..453b2a05d23b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/request @@ -1,7 +1,7 @@ > GET /info/railties > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/response index b3b78753aae6..8e7f3803e181 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/railties/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/request index 2227a890548e..33c0b00703c1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/request @@ -1,7 +1,7 @@ > GET /info/rainbow > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/response index d5ec25f6fe02..55b792738942 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rainbow/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/request index 90bced721242..eee841967264 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/request @@ -1,7 +1,7 @@ > GET /info/rake-compiler > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/response index 966963f69e4d..6bfdf7c26e53 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake-compiler/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/request index 62b6cbf6104d..333d4e57c5d0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/request @@ -1,7 +1,7 @@ > GET /info/rake > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/response index 10c896d97dba..33de16dab4a1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rake/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/request index cb7fa6864853..bb97b770cb45 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/request @@ -1,7 +1,7 @@ > GET /info/rb-fchange > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/response index 878980b7a1e9..bd51a58ef23d 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fchange/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/request index c6127acb4ee3..41b9a05490dd 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/request @@ -1,7 +1,7 @@ > GET /info/rb-fsevent > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/response index 8f306ef20849..6fc1374af410 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-fsevent/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/request index d9133294770a..7edd76876eea 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/request @@ -1,7 +1,7 @@ > GET /info/rb-inotify > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/response index dc74620bbc86..c322dce26ffc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-inotify/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/request index 36d220a43124..0e9e3b61567f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/request @@ -1,7 +1,7 @@ > GET /info/rb-kqueue > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/response index 9c80a0e777aa..ca15a997c922 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rb-kqueue/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/request index 05f01acbb257..0bc9448fc24f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/request @@ -1,7 +1,7 @@ > GET /info/rbnacl-libsodium > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/response index 13ee71baf48a..3af30c9369f4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl-libsodium/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/request index 89ecda349ab6..35c8cd93de18 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/request @@ -1,7 +1,7 @@ > GET /info/rbnacl > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/response index 6fd6c312b871..1474beb995f3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rbnacl/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/request index a4d7c62c9ad5..3393c49c56c0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/request @@ -1,7 +1,7 @@ > GET /info/rdoc > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/response index 5c54716a41c7..fe7b7955f27a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rdoc/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/request index d7d06be54182..e91087466709 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/request @@ -1,7 +1,7 @@ > GET /info/redis-namespace > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/response index 742be86ed582..191471d4c569 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis-namespace/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/request index efcd973324ad..910e2558e9d8 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/request @@ -1,7 +1,7 @@ > GET /info/redis > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/response index c27d733a9eff..c38cf20cc6ac 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/redis/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/request index 336204e9c374..a615ec2b9d8a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/request @@ -1,7 +1,7 @@ > GET /info/ref > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/response index ee95ef81e481..5c06be745953 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ref/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/request index 01affa5d0ba9..f7b271d7e17f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/request @@ -1,7 +1,7 @@ > GET /info/regexp_parser > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/response index 7c8bde28bfd4..90473bde23fa 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/regexp_parser/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/request index 49316e5b98c6..21b29aec9bd3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/request @@ -1,7 +1,7 @@ > GET /info/representable > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/response index 1176deca330b..f810d9fc4571 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/representable/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/request index d2e94d34fb44..9e9315731015 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/request @@ -1,7 +1,7 @@ > GET /info/resque-scheduler > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/response index 6c80cce8774f..5d0d088df7ba 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque-scheduler/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/request index 328cc49345ac..d9a3053cccd0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/request @@ -1,7 +1,7 @@ > GET /info/resque > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/response index 65e620846af5..876e64b83040 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/resque/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/request index 891ebb98bc33..39b4ff9b2f31 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/request @@ -1,7 +1,7 @@ > GET /info/rest-client > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/response index 99a11c8fb099..ea93afe9ce9c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rest-client/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/request index f35e10b7998a..1429ef3ec9ce 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/request @@ -1,7 +1,7 @@ > GET /info/retriable > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/response index dcace841959b..4ba183544284 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/retriable/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexical/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexical/GET/request deleted file mode 100644 index e2e544f04d97..000000000000 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexical/GET/request +++ /dev/null @@ -1,7 +0,0 @@ -> GET /info/rexical -> accept-encoding: gzip -> accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca -> connection: keep-alive -> keep-alive: 30 -> host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexical/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexical/GET/response deleted file mode 100644 index 8b3fc24fff37..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexical/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/request index 772d49eaeded..39d8b383c429 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/request @@ -1,7 +1,7 @@ > GET /info/rexml > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/response index 0a8513822220..7506e907acfa 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rexml/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/request index cce5500e50aa..6d1549fd7591 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/request @@ -1,7 +1,7 @@ > GET /info/right_aws > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/response index 1bd7bf4c062e..1a6b9d91fa4c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_aws/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/request index 011875286253..fdaeb304a0e5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/request @@ -1,7 +1,7 @@ > GET /info/right_http_connection > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/response index d4bdb99075bc..5161843923f8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/right_http_connection/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/request index 5e0c30038922..d04bb06178df 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/request @@ -1,7 +1,7 @@ > GET /info/rspec-core > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/response index f7ce17011e56..8217482214ed 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-core/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/request index 630902b72cef..64fc8f8ad677 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/request @@ -1,7 +1,7 @@ > GET /info/rspec-expectations > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/response index 3ae54af59a53..9b5b5011f915 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-expectations/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/request index c5d302ce6d1a..860a1cdcfde4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/request @@ -1,7 +1,7 @@ > GET /info/rspec-logsplit > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/response index 57e1df6996d1..c107c57f5d90 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-logsplit/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/request index a4f7c795065d..8317e38310a6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/request @@ -1,7 +1,7 @@ > GET /info/rspec-mocks > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/response index 9fd13fb7c9e3..dac71acbc666 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-mocks/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/request index 018d86ae8993..0a74261e1cc6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/request @@ -1,7 +1,7 @@ > GET /info/rspec-support > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/response index 50027f27da06..0178b3d2c836 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec-support/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/request index cdafad1aaff8..fc1aa5c7b3d6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/request @@ -1,7 +1,7 @@ > GET /info/rspec > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/response index 5c9d2bc6dfe2..683e29117a6c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rspec/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/request index dc0d9edcafca..0f1716e749d6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/request @@ -1,7 +1,7 @@ > GET /info/rubocop-ast > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/response index 2d7ac6117336..2cf3431a8a36 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop-ast/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/request index d305d86540c7..9cbd7ecb18c6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/request @@ -1,7 +1,7 @@ > GET /info/rubocop > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/response index 8236687874d3..f303feb80593 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubocop/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/request index 3b8f2de15c2d..e0f3ad5c9835 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/request @@ -1,7 +1,7 @@ > GET /info/ruby-maven-libs > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/response index 1472cb310ce7..32b65f435a09 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven-libs/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/request index d6405e3df960..d98e906f5c93 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/request @@ -1,7 +1,7 @@ > GET /info/ruby-maven > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/response index 1d5bf14e51de..d6960b2efed5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-maven/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/request index bc164af3b032..6eb651ceb96f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/request @@ -1,7 +1,7 @@ > GET /info/ruby-progressbar > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/response index eae89b3aa0f6..ce7eac888e83 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby-progressbar/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/request index 4ce56e616889..65b17ce08b83 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/request @@ -1,7 +1,7 @@ > GET /info/ruby2_keywords > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/response index d39191151e0d..4f23c9b34fab 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby2_keywords/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/request index 22fa891873c5..0eed5dceda20 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/request @@ -1,7 +1,7 @@ > GET /info/ruby_dep > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/response index 9cdee153b21c..fb322679583a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_dep/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/request index 358c0330a13b..53885465f3b1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/request @@ -1,7 +1,7 @@ > GET /info/ruby_parser > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/response index fff9cdc82502..cc95e92c6892 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/ruby_parser/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/request index a14e0fbb969d..33aceb07996c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/request @@ -1,7 +1,7 @@ > GET /info/rubyforge > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/response index 4146860c6bc8..e7dde00daa21 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyforge/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/request index e075945f9242..9b91bda342fe 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/request @@ -1,7 +1,7 @@ > GET /info/rubyzip > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/response index 1829691b31b0..7cf7cd4a828f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rubyzip/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/request index 4549959620b5..55c7e2535f30 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/request @@ -1,7 +1,7 @@ > GET /info/rufus-scheduler > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/response index 2bd10e30e42e..bcb978d521be 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/rufus-scheduler/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/request index 9187ae93e9a6..a4af6dc6700e 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/request @@ -1,7 +1,7 @@ > GET /info/sass-listen > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/response index 44f29d48def6..1fc0d49dfe90 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-listen/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/request index db8b983fd103..3bb46df5fce5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/request @@ -1,7 +1,7 @@ > GET /info/sass-rails > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/response index cbba484084ac..bf99d3a96e08 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass-rails/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/request index e0345dc4fb67..e826a7163e46 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/request @@ -1,7 +1,7 @@ > GET /info/sass > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/response index 0325461e053a..a6fa40634b84 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sass/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/request index 577bf1f557f6..eea553b81298 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/request @@ -1,7 +1,7 @@ > GET /info/sassc-rails > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/response index 31478eb106ff..f12b8c23a24a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc-rails/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/request index 4a55919006d7..70c0430f3f14 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/request @@ -1,7 +1,7 @@ > GET /info/sassc > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/response index a6dcbb342f7a..41b06a23adac 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sassc/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/request index 620ac0a2262b..8b6282a11c2d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/request @@ -1,7 +1,7 @@ > GET /info/selenium-webdriver > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/response index 8ad4d2fc69cc..3412f1e55518 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/selenium-webdriver/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/request index ca8c9d123a87..5b325fc7acaf 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/request @@ -1,7 +1,7 @@ > GET /info/sexp_processor > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/response index 06a07702e382..8aa36d210154 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sexp_processor/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/request index 6e35e5465369..136e447be54f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/request @@ -1,7 +1,7 @@ > GET /info/signet > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/response index 031d8835efae..a1f762dd5678 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/signet/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/request index 7d44273fde59..81566c593416 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/request @@ -1,7 +1,7 @@ > GET /info/simplecov-html > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/response index 1c3e992201e8..ba3365d7ed0a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov-html/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/request index 1cb495fd3b76..4d6ec3d0d419 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/request @@ -1,7 +1,7 @@ > GET /info/simplecov > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/response index d857dba08abf..a75caa3ee8a4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/simplecov/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/request index 525764aa363d..7655214248d1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/request @@ -1,7 +1,7 @@ > GET /info/sinatra > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/response index 108788128a9f..8c85d4a18c91 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sinatra/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/request index 4afedc12d092..0b15a027e6f5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/request @@ -1,7 +1,7 @@ > GET /info/slop > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/response index f992e53c56cd..0d0f8e125fbc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/slop/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/request index 82112c943a98..d8537bb026c6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/request @@ -1,7 +1,7 @@ > GET /info/spoon > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/response index 80ffd47619d3..ee03c17723ea 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spoon/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/request index e7aeee27a049..551bfc4c6ad2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/request @@ -1,7 +1,7 @@ > GET /info/sprockets-rails > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/response index 8335287a63b5..489df94b7788 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets-rails/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/request index a69e2bf52d18..db28d7dd1e65 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/request @@ -1,7 +1,7 @@ > GET /info/sprockets > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/response index e81ee8bb031b..3a8a8939f597 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sprockets/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/request index d0207ee1cbd0..6bbf0e916976 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/request @@ -1,7 +1,7 @@ > GET /info/spruz > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/response index 14fa95533e1c..1a2eba4a1f24 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/spruz/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/request index 122be26476be..7bee6e70813f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/request @@ -1,7 +1,7 @@ > GET /info/sqlite3 > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/response index fe01ac03bb5c..6646f21672fa 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sqlite3/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/request index 7ac2b121feb1..7c15a394cae0 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/request @@ -1,7 +1,7 @@ > GET /info/strings-ansi > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/response index c5f5714ed2b3..99073bd2c33b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings-ansi/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/request index b32c50f01df1..abeda655d451 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/request @@ -1,7 +1,7 @@ > GET /info/strings > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/response index 34068e6bf7a8..8ba9b7f18d1f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strings/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strscan/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strscan/GET/request new file mode 100644 index 000000000000..a5fe06270875 --- /dev/null +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strscan/GET/request @@ -0,0 +1,7 @@ +> GET /info/strscan +> accept-encoding: gzip +> accept: */* +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 +> connection: keep-alive +> keep-alive: 30 +> host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strscan/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strscan/GET/response new file mode 100644 index 000000000000..509b420eb98a Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/strscan/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/request index 952c98058566..4abb6aca37c3 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/request @@ -1,7 +1,7 @@ > GET /info/sync > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/response index b1b425939467..d304ff180cf4 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sync/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/request index af22c5bf91aa..9549b0dfa157 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/request @@ -1,7 +1,7 @@ > GET /info/sys-admin > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/response index 8b41add8bd7a..fb19edbaab12 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-admin/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/request index 81d9ebb1d606..82fcd02a0561 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/request @@ -1,7 +1,7 @@ > GET /info/sys-uname > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/response index c783a62b8cb0..cc3e9934b81c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/sys-uname/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tenderlove-frex/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tenderlove-frex/GET/request deleted file mode 100644 index bdfd4183dd5e..000000000000 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tenderlove-frex/GET/request +++ /dev/null @@ -1,7 +0,0 @@ -> GET /info/tenderlove-frex -> accept-encoding: gzip -> accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca -> connection: keep-alive -> keep-alive: 30 -> host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tenderlove-frex/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tenderlove-frex/GET/response deleted file mode 100644 index dc24b65faace..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tenderlove-frex/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/request index 0984a8bca9ff..1e85416e9d7f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/request @@ -1,7 +1,7 @@ > GET /info/term-ansicolor > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/response index 480f342b239a..41fcc3485518 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/term-ansicolor/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/request index 141ed644b065..5f40d078e153 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/request @@ -1,7 +1,7 @@ > GET /info/terrapin > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/response index fb1671d4e552..82b608867e62 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/terrapin/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/request index f55fd8833d4f..b63ef513b0c5 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/request @@ -1,7 +1,7 @@ > GET /info/test-unit > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/response index fc234d776069..5735cec5847e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/test-unit/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/request index a9df55775bca..4751908b439b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/request @@ -1,7 +1,7 @@ > GET /info/text-format > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/response index 790f35603572..893c98cdb020 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-format/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/request index ca45971fc903..f0ab8fef3f15 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/request @@ -1,7 +1,7 @@ > GET /info/text-hyphen > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/response index ae135aa23281..96bf92227f59 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/text-hyphen/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/request index 2234aca37dfa..243c54423d51 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/request @@ -1,7 +1,7 @@ > GET /info/therubyracer > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/response index 310f7bc2a084..05f7c9907fd8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/therubyracer/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/request index 2c98a2910546..c8b5ca3598d1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/request @@ -1,7 +1,7 @@ > GET /info/thin > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/response index a8fb6f1411d0..cb579272e82e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thin/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/request index 45e342f1be75..2ee6cbe0178b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/request @@ -1,7 +1,7 @@ > GET /info/thor > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/response index 3a500ca6166d..4e183fb16ecc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thor/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/request index 3d353fa29764..dca5b2e54637 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/request @@ -1,7 +1,7 @@ > GET /info/thoughtbot-shoulda > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/response index 0e169bf7fa86..360d3877b2d5 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thoughtbot-shoulda/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/request index d872b57c46a5..0053a28e8b74 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/request @@ -1,7 +1,7 @@ > GET /info/thread_safe > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/response index f7a488548031..c35c430efe18 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/thread_safe/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/request index 1aad545d522d..40590a97257a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/request @@ -1,7 +1,7 @@ > GET /info/tilt > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/response index f08f5ce6c541..05a7a6e6ba8e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tilt/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/request index 8f04021712e9..ee97979ca2b4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/request @@ -1,7 +1,7 @@ > GET /info/timers > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/response index da65be304da5..0d1c6978d861 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/timers/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/request index b5fad6e557e7..88c9d6ea1766 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/request @@ -1,7 +1,7 @@ > GET /info/tins > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/response index 49d84c17b28e..216a5a27a836 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tins/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/request index ea399d8cd3c7..7843a640ef90 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/request @@ -1,7 +1,7 @@ > GET /info/tlsmail > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/response index 1a3bc21dc457..6b7786de27f0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tlsmail/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/request index 262517712b5f..73ee8665a3a2 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/request @@ -1,7 +1,7 @@ > GET /info/tool > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/response index cac664450d7b..644beb17d424 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tool/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/request index 478c3d4276fc..623bbb6e8a29 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/request @@ -1,7 +1,7 @@ > GET /info/treetop > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/response index 8bdee368fdbf..d26107834741 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/treetop/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/request index c3b82f2d8c2c..d638babef1aa 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/request @@ -1,7 +1,7 @@ > GET /info/trollop > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/response index 13b9b5a1f88b..353aff10b905 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/trollop/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/request index 951e6ffe11bf..fe3052f2ea78 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/request @@ -1,7 +1,7 @@ > GET /info/tty-color > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/response index 18cf037edfc5..948bf9a8e405 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-color/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/request index 325d9ae85038..c9e69e19068f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/request @@ -1,7 +1,7 @@ > GET /info/tty-pager > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/response index 169b248f60bc..4c49566e74b3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-pager/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/request index fc781ab1df2e..e7b08fed5f6d 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/request @@ -1,7 +1,7 @@ > GET /info/tty-screen > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/response index c63ca7c8d331..83b9850933a8 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-screen/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/request index 5df17acbb57f..ef8c4e73aa2f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/request @@ -1,7 +1,7 @@ > GET /info/tty-tree > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/response index 8a0cb6c4007c..33425f48054b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-tree/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/request index ab633804fe4b..6e2bf69ad790 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/request @@ -1,7 +1,7 @@ > GET /info/tty-which > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/response index 5bb01f848adb..8acc430e06eb 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tty-which/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/request index 17124fb9c0d1..0c8c15ac5cda 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/request @@ -1,7 +1,7 @@ > GET /info/tzinfo > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/response index 18634308c6c8..7dfe6f2e99d1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/tzinfo/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/request index 8060d17131de..aee84aee2a06 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/request @@ -1,7 +1,7 @@ > GET /info/uber > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/response index 0156a18ae0b4..4656899bb0f0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uber/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/request index 858cbb46ec4b..9cdd964d7574 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/request @@ -1,7 +1,7 @@ > GET /info/uglifier > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/response index d144260d9f9b..b4548a644a2c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uglifier/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/request index e51eae39684b..b92c1ba00d3a 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/request @@ -1,7 +1,7 @@ > GET /info/unf > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/response index 27dbf11b3eb8..a66da1524509 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/request index 7663efa6c5fd..8865c9d4dbc6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/request @@ -1,7 +1,7 @@ > GET /info/unf_ext > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/response index bfae67028018..d4b465b5314c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unf_ext/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/request index ac8a006c0b31..68f74bcd0f84 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/request @@ -1,7 +1,7 @@ > GET /info/unicode-display_width > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/response index dc6384fde90a..62769d46b622 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode-display_width/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/request index 8b4c79572bcd..84fd9913af7c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/request @@ -1,7 +1,7 @@ > GET /info/unicode_utils > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/response index 9abe6d939398..b018fdf492b2 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/unicode_utils/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/request index 62ea1635c7ae..794e83e1d60b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/request @@ -1,7 +1,7 @@ > GET /info/uuidtools > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 306c88fdd7674535 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run 00eb2e8ff9223d93 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/response index d48a9509b0a1..8543a9d7f0e1 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/uuidtools/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/request index bd04379289eb..2f8341e38bbe 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/request @@ -1,7 +1,7 @@ > GET /info/vegas > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 55b19ac4ae9df1e7 +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,retry,path,spec_run 808c5144a12cf57f > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/response index 6dc6fb7efc8f..6dbc05b2be37 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/vegas/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/request index 1fddb002fc34..159688243624 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/request @@ -1,7 +1,7 @@ > GET /info/verse > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/install options/no_install,jobs,spec_run 10a763b193c2b689 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/response index 61bb3029c3da..4bf0b8addce2 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/verse/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/request index baa11156628d..cafa216a3fb6 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/request @@ -1,7 +1,7 @@ > GET /info/virtus > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/response index 004fce6c1322..c0224df3079b 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/virtus/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/request index 0e655e2507dc..3800663cbf82 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/request @@ -1,7 +1,7 @@ > GET /info/weakling > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/response index 4f9bdee15cb8..5e68df8bd72a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/weakling/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/request index eac4f40677d7..b5ef18e6519b 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/request @@ -1,7 +1,7 @@ > GET /info/websocket-driver > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/response index a8d7e5526bbe..b772c3dcf15e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-driver/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/request index 95a71c91648b..a27b09355104 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/request @@ -1,7 +1,7 @@ > GET /info/websocket-extensions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/response index 09c1827c7237..5c0d4e83cf13 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket-extensions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/request index d9215d228203..e234c12ca9bd 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/request @@ -1,7 +1,7 @@ > GET /info/websocket > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/response index 60229b4dd3f5..aba7ee3d1777 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/websocket/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/request index 14bdef348fdf..e965ae8f0700 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/request @@ -1,7 +1,7 @@ > GET /info/win32-api > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/response index 121629bfa820..19fa29a08629 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-api/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/request index 9746ce02373c..b93fe4255329 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/request @@ -1,7 +1,7 @@ > GET /info/win32-dir > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/response index 6dd812efdced..7ac69e63b971 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-dir/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/request index 423d34ad1895..0ea0487fdd43 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/request @@ -1,7 +1,7 @@ > GET /info/win32-security > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/response index 94509ada4701..eeee8fd09460 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32-security/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/request index bc571a9684a8..ae2051f9eaea 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/request @@ -1,7 +1,7 @@ > GET /info/win32console > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/response index 8155e9b35c60..609485c05740 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/win32console/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/request index d605782f376c..63820cf9fde4 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/request @@ -1,7 +1,7 @@ > GET /info/windows-api > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/response index 21fb9af13342..1a29fe4e4346 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-api/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/request index 3cbd108573bd..b067e7eee5d8 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/request @@ -1,7 +1,7 @@ > GET /info/windows-pr > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run a230f968f397e7ca +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/response index 977f2fe39b17..1575f15273a0 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/windows-pr/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/request index ed93fcd331fc..7c16b01eff4c 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/request @@ -1,7 +1,7 @@ > GET /info/xpath > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/lock options/spec_run 9e47418fa273061f +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run de9f25ebb3287855 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/response index 628c0e11b738..8f6fb2de9e7c 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/xpath/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/request index 4d296ecca185..22309810c926 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/request @@ -1,7 +1,7 @@ > GET /info/zeitwerk > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/response index e542c6333440..a9cd2cb510b3 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/info/zeitwerk/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/request index 086fba94a833..eb454b2cfe9f 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/request @@ -1,7 +1,7 @@ > GET /versions > accept-encoding: gzip > accept: */* -> user-agent: bundler/2.2.0.rc.1 rubygems/3.2.0.pre1 ruby/2.7.1 (x86_64-pc-linux-gnu) command/install options/no_install,retry,spec_run e3718eaa9f72884a +> user-agent: bundler/2.2.0.rc.2 rubygems/3.2.0.rc.1 ruby/2.7.2 (x86_64-pc-linux-gnu) command/lock options/spec_run f4c2f3b927a5f203 > connection: keep-alive > keep-alive: 30 > host: index.rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/response index 286bfa9eebf2..c0021dae2b02 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/index.rubygems.org/versions/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.12.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.12.gem/GET/response index 8d24b6dfac46..318e8db566cc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.12.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.12.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.22.5.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.22.5.gem/GET/response index 56930da56a02..4fb92db9d7da 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.22.5.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/activesupport-3.2.22.5.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.6.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.6.gem/GET/response deleted file mode 100644 index d33bf31c2d8d..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.6.gem/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.6.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.7.gem/GET/request similarity index 69% rename from bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.6.gem/GET/request rename to bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.7.gem/GET/request index 8aae22616157..32279ffb14fa 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.6.gem/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.7.gem/GET/request @@ -1,4 +1,4 @@ -> GET /gems/concurrent-ruby-1.1.6.gem +> GET /gems/concurrent-ruby-1.1.7.gem > accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 > accept: */* > user-agent: Ruby diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.7.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.7.gem/GET/response new file mode 100644 index 000000000000..878e105b9511 Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/concurrent-ruby-1.1.7.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.3.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.3.gem/GET/response deleted file mode 100644 index de950aa8a8e6..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.3.gem/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.3.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.4.gem/GET/request similarity index 72% rename from bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.3.gem/GET/request rename to bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.4.gem/GET/request index 4fd70ab0fcc8..6e22953a0629 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.3.gem/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.4.gem/GET/request @@ -1,4 +1,4 @@ -> GET /gems/diff-lcs-1.4.3.gem +> GET /gems/diff-lcs-1.4.4.gem > accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 > accept: */* > user-agent: Ruby diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.4.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.4.gem/GET/response new file mode 100644 index 000000000000..0063a2c10d41 Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/diff-lcs-1.4.4.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/faker-1.1.2.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/faker-1.1.2.gem/GET/response index 81fba7f0bfe6..8d257aa72b53 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/faker-1.1.2.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/faker-1.1.2.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.6.11.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.6.11.gem/GET/response index c40c0de2cc07..eb496b1ca4d6 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.6.11.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.6.11.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.9.5.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.9.5.gem/GET/response index 531732ab3332..64993eceedb7 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.9.5.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/i18n-0.9.5.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mono_logger-1.1.0.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mono_logger-1.1.0.gem/GET/response index a117f293043f..9f9c0da70edd 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mono_logger-1.1.0.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mono_logger-1.1.0.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.14.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.14.1.gem/GET/response deleted file mode 100644 index 0b309f3b5e2f..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.14.1.gem/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.14.1.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.15.0.gem/GET/request similarity index 71% rename from bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.14.1.gem/GET/request rename to bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.15.0.gem/GET/request index 76c61bff628b..f65c0e74fd55 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.14.1.gem/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.15.0.gem/GET/request @@ -1,4 +1,4 @@ -> GET /gems/multi_json-1.14.1.gem +> GET /gems/multi_json-1.15.0.gem > accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 > accept: */* > user-agent: Ruby diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.15.0.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.15.0.gem/GET/response new file mode 100644 index 000000000000..a964123bb06b Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/multi_json-1.15.0.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mustermann-1.1.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mustermann-1.1.1.gem/GET/response index 0798a3b420df..100fc3bf14f9 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mustermann-1.1.1.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/mustermann-1.1.1.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-1.0.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-1.0.1.gem/GET/response index da73620c0658..fbf8a14b9a71 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-1.0.1.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-1.0.1.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.0.9.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.0.9.gem/GET/response index 43adc9b12e57..1cdc4069333f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.0.9.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.0.9.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.2.3.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.2.3.gem/GET/response index 6e5bed292096..d8690d329278 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.2.3.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-2.2.3.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.0.8.1.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.0.8.1.gem/GET/request deleted file mode 100644 index 881735fc429d..000000000000 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.0.8.1.gem/GET/request +++ /dev/null @@ -1,7 +0,0 @@ -> GET /gems/rack-protection-2.0.8.1.gem -> accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 -> accept: */* -> user-agent: Ruby -> connection: keep-alive -> keep-alive: 30 -> host: rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.0.8.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.0.8.1.gem/GET/response deleted file mode 100644 index 1346efaaf13c..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.0.8.1.gem/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.1.0.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.1.0.gem/GET/request new file mode 100644 index 000000000000..a115a5866fe9 --- /dev/null +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.1.0.gem/GET/request @@ -0,0 +1,7 @@ +> GET /gems/rack-protection-2.1.0.gem +> accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 +> accept: */* +> user-agent: Ruby +> connection: keep-alive +> keep-alive: 30 +> host: rubygems.org \ No newline at end of file diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.1.0.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.1.0.gem/GET/response new file mode 100644 index 000000000000..bdbf00729fed Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rack-protection-2.1.0.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.1.gem/GET/response deleted file mode 100644 index 75acac7a7b66..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.1.gem/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.1.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.2.gem/GET/request similarity index 73% rename from bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.1.gem/GET/request rename to bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.2.gem/GET/request index d474b71df63b..197c9aa0b320 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.1.gem/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.2.gem/GET/request @@ -1,4 +1,4 @@ -> GET /gems/redis-4.2.1.gem +> GET /gems/redis-4.2.2.gem > accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 > accept: */* > user-agent: Ruby diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.2.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.2.gem/GET/response new file mode 100644 index 000000000000..3e219d87b514 Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-4.2.2.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-namespace-1.6.0.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-namespace-1.6.0.gem/GET/response index abb328e65a7f..a22def8bc61a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-namespace-1.6.0.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/redis-namespace-1.6.0.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-1.24.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-1.24.1.gem/GET/response index 85467c446d45..fe3840931c80 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-1.24.1.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-1.24.1.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-scheduler-2.2.0.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-scheduler-2.2.0.gem/GET/response index 38228971bb10..3a20c963ae3a 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-scheduler-2.2.0.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/resque-scheduler-2.2.0.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ruby2_keywords-0.0.2.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ruby2_keywords-0.0.2.gem/GET/response index 455bb2b402ca..76a844f2b80e 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ruby2_keywords-0.0.2.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ruby2_keywords-0.0.2.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rufus-scheduler-2.0.24.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rufus-scheduler-2.0.24.gem/GET/response index aa0822781426..c47eb70da539 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rufus-scheduler-2.0.24.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/rufus-scheduler-2.0.24.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.0.8.1.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.0.8.1.gem/GET/response deleted file mode 100644 index 2259b8729abc..000000000000 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.0.8.1.gem/GET/response and /dev/null differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.0.8.1.gem/GET/request b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.1.0.gem/GET/request similarity index 72% rename from bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.0.8.1.gem/GET/request rename to bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.1.0.gem/GET/request index 667ec2d82152..cc638bd951d1 100644 --- a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.0.8.1.gem/GET/request +++ b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.1.0.gem/GET/request @@ -1,4 +1,4 @@ -> GET /gems/sinatra-2.0.8.1.gem +> GET /gems/sinatra-2.1.0.gem > accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 > accept: */* > user-agent: Ruby diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.1.0.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.1.0.gem/GET/response new file mode 100644 index 000000000000..b159b5841b16 Binary files /dev/null and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/sinatra-2.1.0.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tilt-2.0.10.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tilt-2.0.10.gem/GET/response index b7188f5b9263..44f238964fbc 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tilt-2.0.10.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tilt-2.0.10.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tzinfo-2.0.2.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tzinfo-2.0.2.gem/GET/response index 1373f222ee69..dfd09bd1159f 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tzinfo-2.0.2.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/tzinfo-2.0.2.gem/GET/response differ diff --git a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/vegas-0.1.11.gem/GET/response b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/vegas-0.1.11.gem/GET/response index 3a255e8d7de2..22dc5c8571c7 100644 Binary files a/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/vegas-0.1.11.gem/GET/response and b/bundler/spec/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/vegas-0.1.11.gem/GET/response differ diff --git a/bundler/spec/support/builders.rb b/bundler/spec/support/builders.rb index a1770759a9df..02a2c0f65990 100644 --- a/bundler/spec/support/builders.rb +++ b/bundler/spec/support/builders.rb @@ -76,14 +76,6 @@ def build_repo1 s.add_dependency "activesupport", ">= 2.0.0" end - build_gem "rails_pinned_to_old_activesupport" do |s| - s.add_dependency "activesupport", "= 1.2.3" - end - - build_gem "missing_dep" do |s| - s.add_dependency "not_here" - end - build_gem "rspec", "1.2.7", :no_default => true do |s| s.write "lib/spec.rb", "SPEC = '1.2.7'" end @@ -158,23 +150,6 @@ def build_repo1 build_gem "duradura", "7.0" - build_gem "multiple_versioned_deps" do |s| - s.add_dependency "weakling", ">= 0.0.1", "< 0.1" - end - - build_gem "not_released", "1.0.pre" - - build_gem "has_prerelease", "1.0" - build_gem "has_prerelease", "1.1.pre" - - build_gem "with_development_dependency" do |s| - s.add_development_dependency "activesupport", "= 2.3.5" - end - - build_gem "with_license" do |s| - s.license = "MIT" - end - build_gem "with_implicit_rake_dep" do |s| s.extensions << "Rakefile" s.write "Rakefile", <<-RUBY @@ -215,10 +190,6 @@ def build_repo1 s.write "lib/rubygems_plugin.rb", "require 'bundler/omg' ; puts 'FAIL'" end - build_gem "bundler_dep" do |s| - s.add_dependency "bundler" - end - # The yard gem iterates over Gem.source_index looking for plugins build_gem "yard" do |s| s.write "lib/yard.rb", <<-Y @@ -228,115 +199,12 @@ def build_repo1 Y end - # The rcov gem is platform mswin32, but has no arch - build_gem "rcov" do |s| - s.platform = Gem::Platform.new([nil, "mswin32", nil]) - s.write "lib/rcov.rb", "RCOV = '1.0.0'" - end - build_gem "net-ssh" build_gem "net-sftp", "1.1.1" do |s| s.add_dependency "net-ssh", ">= 1.0.0", "< 1.99.0" end - # Test complicated gem dependencies for install - build_gem "net_a" do |s| - s.add_dependency "net_b" - s.add_dependency "net_build_extensions" - end - - build_gem "net_b" - - build_gem "net_build_extensions" do |s| - s.add_dependency "rake" - s.extensions << "Rakefile" - s.write "Rakefile", <<-RUBY - task :default do - path = File.expand_path("../lib", __FILE__) - FileUtils.mkdir_p(path) - File.open("\#{path}/net_build_extensions.rb", "w") do |f| - f.puts "NET_BUILD_EXTENSIONS = 'YES'" - end - end - RUBY - end - - build_gem "net_c" do |s| - s.add_dependency "net_a" - s.add_dependency "net_d" - end - - build_gem "net_d" - - build_gem "net_e" do |s| - s.add_dependency "net_d" - end - - # Capistrano did this (at least until version 2.5.10) - # RubyGems 2.2 doesn't allow the specifying of a dependency twice - # See https://github.com/rubygems/rubygems/commit/03dbac93a3396a80db258d9bc63500333c25bd2f - build_gem "double_deps", "1.0", :skip_validation => true do |s| - s.add_dependency "net-ssh", ">= 1.0.0" - s.add_dependency "net-ssh" - end - build_gem "foo" - - # A minimal fake pry console - build_gem "pry" do |s| - s.write "lib/pry.rb", <<-RUBY - class Pry - class << self - def toplevel_binding - unless defined?(@toplevel_binding) && @toplevel_binding - TOPLEVEL_BINDING.eval %{ - def self.__pry__; binding; end - Pry.instance_variable_set(:@toplevel_binding, __pry__) - class << self; undef __pry__; end - } - end - @toplevel_binding.eval('private') - @toplevel_binding - end - - def __pry__ - while line = gets - begin - puts eval(line, toplevel_binding).inspect.sub(/^"(.*)"$/, '=> \\1') - rescue Exception => e - puts "\#{e.class}: \#{e.message}" - puts e.backtrace.first - end - end - end - alias start __pry__ - end - end - RUBY - end - - build_gem "has_metadata" do |s| - s.metadata = { - "bug_tracker_uri" => "https://example.com/user/bestgemever/issues", - "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", - "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", - "homepage_uri" => "https://bestgemever.example.io", - "mailing_list_uri" => "https://groups.example.com/bestgemever", - "funding_uri" => "https://example.com/has_metadata/funding", - "source_code_uri" => "https://example.com/user/bestgemever", - "wiki_uri" => "https://example.com/user/bestgemever/wiki", - } - end - - build_gem "has_funding", "1.2.3" do |s| - s.metadata = { - "funding_uri" => "https://example.com/has_funding/funding", - } - end - - build_gem "gem_with_dependent_funding", "1.0" do |s| - s.add_dependency "has_funding" - end end end @@ -366,9 +234,6 @@ def update_repo4(&blk) def update_repo2 update_repo gem_repo2 do - build_gem "rack", "1.2" do |s| - s.executables = "rackup" - end yield if block_given? end end @@ -658,6 +523,7 @@ def @spec.validate(*); end file = Pathname.new(path).join(file) FileUtils.mkdir_p(file.dirname) File.open(file, "w") {|f| f.puts source } + File.chmod("+x", file) if @spec.executables.map {|exe| "#{@spec.bindir}/#{exe}" }.include?(file) end path end diff --git a/bundler/spec/support/platforms.rb b/bundler/spec/support/platforms.rb index a6ebd7510fb4..ab203919e71c 100644 --- a/bundler/spec/support/platforms.rb +++ b/bundler/spec/support/platforms.rb @@ -94,11 +94,7 @@ def lockfile_platforms end def local_platforms - if Bundler.feature_flag.specific_platform? - [local, specific_local_platform] - else - [local] - end + [local, specific_local_platform].uniq end end end diff --git a/bundler/spec/update/gems/fund_spec.rb b/bundler/spec/update/gems/fund_spec.rb index 6d7075b42412..0dfe63d36d8b 100644 --- a/bundler/spec/update/gems/fund_spec.rb +++ b/bundler/spec/update/gems/fund_spec.rb @@ -2,9 +2,30 @@ RSpec.describe "bundle update" do before do + build_repo2 do + build_gem "has_funding_and_other_metadata" do |s| + s.metadata = { + "bug_tracker_uri" => "https://example.com/user/bestgemever/issues", + "changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md", + "documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1", + "homepage_uri" => "https://bestgemever.example.io", + "mailing_list_uri" => "https://groups.example.com/bestgemever", + "funding_uri" => "https://example.com/has_funding_and_other_metadata/funding", + "source_code_uri" => "https://example.com/user/bestgemever", + "wiki_uri" => "https://example.com/user/bestgemever/wiki", + } + end + + build_gem "has_funding", "1.2.3" do |s| + s.metadata = { + "funding_uri" => "https://example.com/has_funding/funding", + } + end + end + gemfile <<-G - source "#{file_uri_for(gem_repo1)}" - gem 'has_metadata' + source "#{file_uri_for(gem_repo2)}" + gem 'has_funding_and_other_metadata' gem 'has_funding', '< 2.0' G @@ -14,8 +35,8 @@ context "when listed gems are updated" do before do gemfile <<-G - source "#{file_uri_for(gem_repo1)}" - gem 'has_metadata' + source "#{file_uri_for(gem_repo2)}" + gem 'has_funding_and_other_metadata' gem 'has_funding' G diff --git a/bundler/test_gems.rb.lock b/bundler/test_gems.rb.lock index 5eedc692ac32..95145a74a594 100644 --- a/bundler/test_gems.rb.lock +++ b/bundler/test_gems.rb.lock @@ -24,6 +24,8 @@ GEM PLATFORMS java ruby + x64-mingw32 + x86_64-linux DEPENDENCIES artifice (~> 0.6.0) diff --git a/dev_gems.rb.lock b/dev_gems.rb.lock index 200208fcc9f7..2e98f9905954 100644 --- a/dev_gems.rb.lock +++ b/dev_gems.rb.lock @@ -68,6 +68,8 @@ GEM PLATFORMS java ruby + x64-mingw32 + x86_64-linux DEPENDENCIES minitest (~> 5.14, >= 5.14.2) @@ -85,4 +87,4 @@ DEPENDENCIES webrick (~> 1.6) BUNDLED WITH - 2.1.4 + 2.2.0.rc.2 diff --git a/lib/rubygems.rb b/lib/rubygems.rb index eabe1c45dd1c..e6a3c63c6023 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -8,7 +8,7 @@ require 'rbconfig' module Gem - VERSION = "3.2.0.rc.2".freeze + VERSION = "3.2.0".freeze end # Must be first since it unloads the prelude from 1.9.2 @@ -119,6 +119,10 @@ module Gem # to avoid deprecation warnings in Ruby 2.7. UNTAINT = RUBY_VERSION < '2.7' ? :untaint.to_sym : proc{} + # When https://bugs.ruby-lang.org/issues/17259 is available, there is no need to override Kernel#warn + KERNEL_WARN_IGNORES_INTERNAL_ENTRIES = RUBY_ENGINE == "truffleruby" || + (RUBY_ENGINE == "ruby" && RUBY_VERSION >= '3.0') + ## # An Array of Regexps that match windows Ruby platforms. @@ -975,7 +979,7 @@ def self.suffixes val = RbConfig::CONFIG[key] next unless val and not val.empty? ".#{val}" - end + end, ].compact.uniq end diff --git a/lib/rubygems/available_set.rb b/lib/rubygems/available_set.rb index 80ef29df640a..499483d9e94c 100644 --- a/lib/rubygems/available_set.rb +++ b/lib/rubygems/available_set.rb @@ -73,7 +73,7 @@ def all_specs end def match_platform! - @set.reject! {|t| !Gem::Platform.match(t.spec.platform) } + @set.reject! {|t| !Gem::Platform.match_spec?(t.spec) } @sorted = nil self end diff --git a/lib/rubygems/command_manager.rb b/lib/rubygems/command_manager.rb index 1dcb577f7e50..97e52544ca50 100644 --- a/lib/rubygems/command_manager.rb +++ b/lib/rubygems/command_manager.rb @@ -73,7 +73,7 @@ class Gem::CommandManager ].freeze ALIAS_COMMANDS = { - 'i' => 'install' + 'i' => 'install', }.freeze ## @@ -174,8 +174,8 @@ def process_args(args, build_args=nil) else cmd_name = args.shift.downcase cmd = find_command cmd_name - cmd.invoke_with_build_args args, build_args cmd.deprecation_warning if cmd.deprecated? + cmd.invoke_with_build_args args, build_args end end diff --git a/lib/rubygems/commands/build_command.rb b/lib/rubygems/commands/build_command.rb index eaf8573d8fa8..fff5f7c76fab 100644 --- a/lib/rubygems/commands/build_command.rb +++ b/lib/rubygems/commands/build_command.rb @@ -61,14 +61,18 @@ def usage # :nodoc: end def execute - gem_name = get_one_optional_argument || find_gemspec - build_gem(gem_name) + if build_path = options[:build_path] + Dir.chdir(build_path) { build_gem } + return + end + + build_gem end private - def find_gemspec - gemspecs = Dir.glob("*.gemspec").sort + def find_gemspec(glob = "*.gemspec") + gemspecs = Dir.glob(glob).sort if gemspecs.size > 1 alert_error "Multiple gemspecs found: #{gemspecs}, please specify one" @@ -78,28 +82,19 @@ def find_gemspec gemspecs.first end - def build_gem(gem_name) - gemspec = File.exist?(gem_name) ? gem_name : "#{gem_name}.gemspec" - - if File.exist?(gemspec) - spec = Gem::Specification.load(gemspec) - - if options[:build_path] - Dir.chdir(File.dirname(gemspec)) do - spec = Gem::Specification.load(File.basename(gemspec)) - build_package(spec) - end - else - build_package(spec) - end + def build_gem + gemspec = resolve_gem_name + if gemspec + build_package(gemspec) else - alert_error "Gemspec file not found: #{gemspec}" + alert_error error_message terminate_interaction(1) end end - def build_package(spec) + def build_package(gemspec) + spec = Gem::Specification.load(gemspec) if spec Gem::Package.build( spec, @@ -112,4 +107,26 @@ def build_package(spec) terminate_interaction 1 end end + + def resolve_gem_name + return find_gemspec unless gem_name + + if File.exist?(gem_name) + gem_name + else + find_gemspec("#{gem_name}.gemspec") || find_gemspec(gem_name) + end + end + + def error_message + if gem_name + "Couldn't find a gemspec file matching '#{gem_name}' in #{Dir.pwd}" + else + "Couldn't find a gemspec file in #{Dir.pwd}" + end + end + + def gem_name + get_one_optional_argument + end end diff --git a/lib/rubygems/commands/cert_command.rb b/lib/rubygems/commands/cert_command.rb index e5355d3652c3..998df0621b45 100644 --- a/lib/rubygems/commands/cert_command.rb +++ b/lib/rubygems/commands/cert_command.rb @@ -311,4 +311,4 @@ def valid_email?(email) # It's simple, but is all we need email =~ /\A.+@.+\z/ end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/lib/rubygems/commands/help_command.rb b/lib/rubygems/commands/help_command.rb index 9ba8bf129343..4e8d7600fb95 100644 --- a/lib/rubygems/commands/help_command.rb +++ b/lib/rubygems/commands/help_command.rb @@ -332,6 +332,8 @@ def show_commands # :nodoc: @command_manager.command_names.each do |cmd_name| command = @command_manager[cmd_name] + next if command.deprecated? + summary = if command command.summary diff --git a/lib/rubygems/commands/owner_command.rb b/lib/rubygems/commands/owner_command.rb index 0f0182396736..46172854cf58 100644 --- a/lib/rubygems/commands/owner_command.rb +++ b/lib/rubygems/commands/owner_command.rb @@ -53,7 +53,7 @@ def initialize def execute @host = options[:host] - sign_in + sign_in(scope: get_owner_scope) name = get_one_gem_name add_owners name, options[:add] @@ -102,10 +102,18 @@ def manage_owners(method, name, owners) private def send_owner_request(method, name, owner) - rubygems_api_request method, "api/v1/gems/#{name}/owners" do |request| + rubygems_api_request method, "api/v1/gems/#{name}/owners", scope: get_owner_scope(method: method) do |request| request.set_form_data 'email' => owner request.add_field "Authorization", api_key request.add_field "OTP", options[:otp] if options[:otp] end end + + def get_owner_scope(method: nil) + if method == :post || options.any? && options[:add].any? + :add_owner + elsif method == :delete || options.any? && options[:remove].any? + :remove_owner + end + end end diff --git a/lib/rubygems/commands/pristine_command.rb b/lib/rubygems/commands/pristine_command.rb index db8136c9a6dc..143105981e1a 100644 --- a/lib/rubygems/commands/pristine_command.rb +++ b/lib/rubygems/commands/pristine_command.rb @@ -170,7 +170,7 @@ def execute :install_dir => spec.base_dir, :env_shebang => env_shebang, :build_args => spec.build_args, - :bin_dir => bin_dir + :bin_dir => bin_dir, } if options[:only_executables] diff --git a/lib/rubygems/commands/push_command.rb b/lib/rubygems/commands/push_command.rb index 003b2dacc718..8885269ecb99 100644 --- a/lib/rubygems/commands/push_command.rb +++ b/lib/rubygems/commands/push_command.rb @@ -61,7 +61,7 @@ def execute options[:host] end - sign_in @host + sign_in @host, scope: get_push_scope send_gem(gem_name) end @@ -86,7 +86,7 @@ def send_gem(name) private def send_push_request(name, args) - rubygems_api_request(*args) do |request| + rubygems_api_request(*args, scope: get_push_scope) do |request| request.body = Gem.read_binary name request.add_field "Content-Length", request.body.size request.add_field "Content-Type", "application/octet-stream" @@ -100,7 +100,11 @@ def get_hosts_for(name) [ gem_metadata["default_gem_server"], - gem_metadata["allowed_push_host"] + gem_metadata["allowed_push_host"], ] end + + def get_push_scope + :push_rubygem + end end diff --git a/lib/rubygems/commands/query_command.rb b/lib/rubygems/commands/query_command.rb index 406a34e54967..789afd650930 100644 --- a/lib/rubygems/commands/query_command.rb +++ b/lib/rubygems/commands/query_command.rb @@ -9,6 +9,14 @@ class Gem::Commands::QueryCommand < Gem::Command include Gem::QueryUtils + alias warning_without_suggested_alternatives deprecation_warning + def deprecation_warning + warning_without_suggested_alternatives + + message = "It is recommended that you use `gem search` or `gem list` instead.\n" + alert_warning message unless Gem::Deprecate.skip + end + def initialize(name = 'query', summary = 'Query gem information in local or remote repositories') super name, summary, @@ -23,4 +31,13 @@ def initialize(name = 'query', add_query_options end + + def description # :nodoc: + <<-EOF +The query command is the basis for the list and search commands. + +You should really use the list and search commands instead. This command +is too hard to use. + EOF + end end diff --git a/lib/rubygems/commands/server_command.rb b/lib/rubygems/commands/server_command.rb index 91d5e267f8a5..594cf77f662e 100644 --- a/lib/rubygems/commands/server_command.rb +++ b/lib/rubygems/commands/server_command.rb @@ -1,8 +1,12 @@ # frozen_string_literal: true require 'rubygems/command' require 'rubygems/server' +require 'rubygems/deprecate' class Gem::Commands::ServerCommand < Gem::Command + extend Gem::Deprecate + rubygems_deprecate_command + def initialize super 'server', 'Documentation and gem repository HTTP server', :port => 8808, :gemdir => [], :daemon => false diff --git a/lib/rubygems/commands/setup_command.rb b/lib/rubygems/commands/setup_command.rb index b63920ab8d69..22b1371a1f1e 100644 --- a/lib/rubygems/commands/setup_command.rb +++ b/lib/rubygems/commands/setup_command.rb @@ -322,13 +322,10 @@ def install_lib(lib_dir) libs.each do |tool, path| say "Installing #{tool}" if @verbose - lib_files = rb_files_in path - lib_files.concat(bundler_template_files) if tool == 'Bundler' - - pem_files = pem_files_in path + lib_files = files_in path Dir.chdir path do - install_file_list(lib_files + pem_files, lib_dir) + install_file_list(lib_files, lib_dir) end end end @@ -394,10 +391,6 @@ def install_default_bundler_gem(bin_dir) specs_dir = File.join(options[:destdir], specs_dir) unless Gem.win_platform? mkdir_p specs_dir, :mode => 0755 - # Workaround for non-git environment. - gemspec = File.open('bundler/bundler.gemspec', 'rb'){|f| f.read.gsub(/`git ls-files -z`/, "''") } - File.open('bundler/bundler.gemspec', 'w'){|f| f.write gemspec } - bundler_spec = Gem::Specification.load("bundler/bundler.gemspec") bundler_spec.files = Dir.chdir("bundler") { Dir["{*.md,{lib,exe,man}/**/*}"] } bundler_spec.executables -= %w[bundler bundle_ruby] @@ -518,44 +511,24 @@ def generate_default_dirs(install_destdir) [lib_dir, bin_dir] end - def pem_files_in(dir) - Dir.chdir dir do - Dir[File.join('**', '*pem')] - end - end - - def rb_files_in(dir) + def files_in(dir) Dir.chdir dir do - Dir[File.join('**', '*rb')] + Dir.glob(File.join('**', '*'), File::FNM_DOTMATCH). + select{|f| !File.directory?(f) } end end # for installation of bundler as default gems def bundler_man1_files_in(dir) Dir.chdir dir do - Dir['bundle*.1{,.txt,.ronn}'] + Dir['bundle*.1'] end end # for installation of bundler as default gems def bundler_man5_files_in(dir) Dir.chdir dir do - Dir['gemfile.5{,.txt,.ronn}'] - end - end - - def bundler_template_files - Dir.chdir "bundler/lib" do - Dir.glob(File.join('bundler', 'templates', '**', '*'), File::FNM_DOTMATCH). - select{|f| !File.directory?(f) } - end - end - - # for cleanup old bundler files - def template_files_in(dir) - Dir.chdir dir do - Dir.glob(File.join('templates', '**', '*'), File::FNM_DOTMATCH). - select{|f| !File.directory?(f) } + Dir['gemfile.5'] end end @@ -595,11 +568,9 @@ def remove_old_lib_files(lib_dir) lib_dirs = { File.join(lib_dir, 'rubygems') => 'lib/rubygems' } lib_dirs[File.join(lib_dir, 'bundler')] = 'bundler/lib/bundler' lib_dirs.each do |old_lib_dir, new_lib_dir| - lib_files = rb_files_in(new_lib_dir) - lib_files.concat(template_files_in(new_lib_dir)) if new_lib_dir =~ /bundler/ + lib_files = files_in(new_lib_dir) - old_lib_files = rb_files_in(old_lib_dir) - old_lib_files.concat(template_files_in(old_lib_dir)) if old_lib_dir =~ /bundler/ + old_lib_files = files_in(old_lib_dir) to_remove = old_lib_files - lib_files @@ -617,16 +588,25 @@ def remove_old_lib_files(lib_dir) def remove_old_man_files(man_dir) man_dirs = { man_dir => "bundler/man" } man_dirs.each do |old_man_dir, new_man_dir| - ["1", "5"].each do |section| - man_files = send(:"bundler_man#{section}_files_in", new_man_dir) + man1_files = bundler_man1_files_in(new_man_dir) - old_man_dir_with_section = "#{old_man_dir}/man#{section}" - old_man_files = send(:"bundler_man#{section}_files_in", old_man_dir_with_section) + old_man1_dir = "#{old_man_dir}/man1" + old_man1_files = bundler_man1_files_in(old_man1_dir) + old_man1_files += Dir.chdir(old_man1_dir) { Dir["bundle*.1.{txt,ronn}"] } - man_to_remove = old_man_files - man_files + man1_to_remove = old_man1_files - man1_files - remove_file_list(man_to_remove, old_man_dir_with_section) - end + remove_file_list(man1_to_remove, old_man1_dir) + + man5_files = bundler_man5_files_in(new_man_dir) + + old_man5_dir = "#{old_man_dir}/man5" + old_man5_files = bundler_man5_files_in(old_man5_dir) + old_man5_files += Dir.chdir(old_man5_dir) { Dir["gemfile.5.{txt,ronn}"] } + + man5_to_remove = old_man5_files - man5_files + + remove_file_list(man5_to_remove, old_man5_dir) end end diff --git a/lib/rubygems/commands/sources_command.rb b/lib/rubygems/commands/sources_command.rb index 3be3a5dc79d1..f74fb12e428f 100644 --- a/lib/rubygems/commands/sources_command.rb +++ b/lib/rubygems/commands/sources_command.rb @@ -34,6 +34,10 @@ def initialize options[:update] = value end + add_option '-f', '--[no-]force', "Do not show any confirmation prompts and behave as if 'yes' was always answered" do |value, options| + options[:force] = value + end + add_proxy_option end @@ -71,7 +75,7 @@ def check_typo_squatting(source) Do you want to add this source? QUESTION - terminate_interaction 1 unless ask_yes_no question + terminate_interaction 1 unless options[:force] || ask_yes_no(question) end end @@ -86,7 +90,7 @@ def check_rubygems_https(source_uri) # :nodoc: Do you want to add this insecure source? QUESTION - terminate_interaction 1 unless ask_yes_no question + terminate_interaction 1 unless options[:force] || ask_yes_no(question) end end diff --git a/lib/rubygems/commands/specification_command.rb b/lib/rubygems/commands/specification_command.rb index e4a8afab217d..3fddaaaf3026 100644 --- a/lib/rubygems/commands/specification_command.rb +++ b/lib/rubygems/commands/specification_command.rb @@ -126,6 +126,12 @@ def execute terminate_interaction 1 end + platform = get_platform_from_requirements(options) + + if platform + specs = specs.select{|s| s.platform.to_s == platform } + end + unless options[:all] specs = [specs.max_by {|s| s.version }] end diff --git a/lib/rubygems/commands/yank_command.rb b/lib/rubygems/commands/yank_command.rb index 6ad74de96b2b..0e08bbfd5d9e 100644 --- a/lib/rubygems/commands/yank_command.rb +++ b/lib/rubygems/commands/yank_command.rb @@ -47,7 +47,7 @@ def initialize def execute @host = options[:host] - sign_in @host + sign_in @host, scope: get_yank_scope version = get_version_from_requirements(options[:version]) platform = get_platform_from_requirements(options) @@ -72,7 +72,7 @@ def yank_gem(version, platform) def yank_api_request(method, version, platform, api) name = get_one_gem_name - response = rubygems_api_request(method, api, host) do |request| + response = rubygems_api_request(method, api, host, scope: get_yank_scope) do |request| request.add_field("Authorization", api_key) request.add_field("OTP", options[:otp]) if options[:otp] @@ -93,7 +93,7 @@ def get_version_from_requirements(requirements) nil end - def get_platform_from_requirements(requirements) - Gem.platforms[1].to_s if requirements.key? :added_platform + def get_yank_scope + :yank_rubygem end end diff --git a/lib/rubygems/core_ext/kernel_require.rb b/lib/rubygems/core_ext/kernel_require.rb index edf046651e7a..4b867c55e951 100644 --- a/lib/rubygems/core_ext/kernel_require.rb +++ b/lib/rubygems/core_ext/kernel_require.rb @@ -17,6 +17,8 @@ module Kernel private :gem_original_require end + file = Gem::KERNEL_WARN_IGNORES_INTERNAL_ENTRIES ? "" : __FILE__ + module_eval <<'RUBY', file, __LINE__ + 1 ## # When RubyGems is required, Kernel#require is replaced with our own which # is capable of loading gems on demand. @@ -166,6 +168,7 @@ def require(path) end end end +RUBY private :require diff --git a/lib/rubygems/core_ext/kernel_warn.rb b/lib/rubygems/core_ext/kernel_warn.rb index e030ef815c9d..3373cfdd3b29 100644 --- a/lib/rubygems/core_ext/kernel_warn.rb +++ b/lib/rubygems/core_ext/kernel_warn.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true # `uplevel` keyword argument of Kernel#warn is available since ruby 2.5. -if RUBY_VERSION >= "2.5" +if RUBY_VERSION >= "2.5" && !Gem::KERNEL_WARN_IGNORES_INTERNAL_ENTRIES module Kernel rubygems_path = "#{__dir__}/" # Frames to be skipped start with this path. - original_warn = method(:warn) + original_warn = instance_method(:warn) remove_method :warn @@ -17,9 +17,9 @@ class << self module_function define_method(:warn) {|*messages, **kw| unless uplevel = kw[:uplevel] if Gem.java_platform? - return original_warn.call(*messages) + return original_warn.bind(self).call(*messages) else - return original_warn.call(*messages, **kw) + return original_warn.bind(self).call(*messages, **kw) end end @@ -45,11 +45,10 @@ class << self end end end - uplevel = start + kw[:uplevel] = start end - kw[:uplevel] = uplevel - original_warn.call(*messages, **kw) + original_warn.bind(self).call(*messages, **kw) } end end diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb index 2d0b077fdca9..8aae67cd6bc5 100644 --- a/lib/rubygems/defaults.rb +++ b/lib/rubygems/defaults.rb @@ -38,13 +38,13 @@ def self.default_dir [ File.dirname(RbConfig::CONFIG['sitedir']), 'Gems', - RbConfig::CONFIG['ruby_version'] + RbConfig::CONFIG['ruby_version'], ] else [ RbConfig::CONFIG['rubylibprefix'], 'gems', - RbConfig::CONFIG['ruby_version'] + RbConfig::CONFIG['ruby_version'], ] end diff --git a/lib/rubygems/dependency.rb b/lib/rubygems/dependency.rb index 8634d71a726e..68f3e3d9915f 100644 --- a/lib/rubygems/dependency.rb +++ b/lib/rubygems/dependency.rb @@ -281,7 +281,7 @@ def matching_specs(platform_only = false) if platform_only matches.reject! do |spec| - spec.nil? || !Gem::Platform.match(spec.platform) + spec.nil? || !Gem::Platform.match_spec?(spec) end end diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb index 1afdc4b4c2b0..fb555a46d4d7 100644 --- a/lib/rubygems/dependency_installer.rb +++ b/lib/rubygems/dependency_installer.rb @@ -27,7 +27,7 @@ class Gem::DependencyInstaller :wrappers => true, :build_args => nil, :build_docs_in_background => false, - :install_as_default => false + :install_as_default => false, }.freeze ## @@ -283,10 +283,9 @@ def resolve_dependencies(dep_or_name, version) # :nodoc: request_set.development_shallow = @dev_shallow request_set.soft_missing = @force request_set.prerelease = @prerelease - request_set.remote = false unless consider_remote? installer_set = Gem::Resolver::InstallerSet.new @domain - installer_set.ignore_installed = @only_install_dir + installer_set.ignore_installed = (@minimal_deps == false) || @only_install_dir if consider_local? if dep_or_name =~ /\.gem$/ and File.file? dep_or_name @@ -307,6 +306,7 @@ def resolve_dependencies(dep_or_name, version) # :nodoc: dependency = if spec = installer_set.local?(dep_or_name) + installer_set.remote = nil if spec.dependencies.none? Gem::Dependency.new spec.name, version elsif String === dep_or_name Gem::Dependency.new dep_or_name, version @@ -321,6 +321,7 @@ def resolve_dependencies(dep_or_name, version) # :nodoc: installer_set.add_always_install dependency request_set.always_install = installer_set.always_install + request_set.remote = installer_set.consider_remote? if @ignore_dependencies installer_set.ignore_dependencies = true diff --git a/lib/rubygems/ext/builder.rb b/lib/rubygems/ext/builder.rb index afc8cb0ee427..f6de6a50d71e 100644 --- a/lib/rubygems/ext/builder.rb +++ b/lib/rubygems/ext/builder.rb @@ -10,14 +10,6 @@ class Gem::Ext::Builder include Gem::UserInteraction - ## - # The builder shells-out to run various commands after changing the - # directory. This means multiple installations cannot be allowed to build - # extensions in parallel as they may change each other's directories leading - # to broken extensions or failed installations. - - CHDIR_MUTEX = Mutex.new # :nodoc: - attr_accessor :build_args # :nodoc: def self.class_name @@ -25,8 +17,8 @@ def self.class_name $1.downcase end - def self.make(dest_path, results) - unless File.exist? 'Makefile' + def self.make(dest_path, results, make_dir = Dir.pwd) + unless File.exist? File.join(make_dir, 'Makefile') raise Gem::InstallError, 'Makefile not found' end @@ -44,32 +36,32 @@ def self.make(dest_path, results) cmd = [ make_program, destdir, - target + target, ].join(' ').rstrip begin - run(cmd, results, "make #{target}".rstrip) + run(cmd, results, "make #{target}".rstrip, make_dir) rescue Gem::InstallError raise unless target == 'clean' # ignore clean failure end end end - def self.run(command, results, command_name = nil) + def self.run(command, results, command_name = nil, dir = Dir.pwd) verbose = Gem.configuration.really_verbose begin rubygems_gemdeps, ENV['RUBYGEMS_GEMDEPS'] = ENV['RUBYGEMS_GEMDEPS'], nil if verbose - puts("current directory: #{Dir.pwd}") + puts("current directory: #{dir}") p(command) end - results << "current directory: #{Dir.pwd}" + results << "current directory: #{dir}" results << (command.respond_to?(:shelljoin) ? command.shelljoin : command) require "open3" # Set $SOURCE_DATE_EPOCH for the subprocess. env = {'SOURCE_DATE_EPOCH' => Gem.source_date_epoch_string} - output, status = Open3.capture2e(env, *command) + output, status = Open3.capture2e(env, *command, :chdir => dir) if verbose puts output else @@ -161,22 +153,10 @@ def build_extension(extension, dest_path) # :nodoc: begin FileUtils.mkdir_p dest_path - CHDIR_MUTEX.synchronize do - pwd = Dir.getwd - Dir.chdir extension_dir - begin - results = builder.build(extension, dest_path, - results, @build_args, lib_dir) - - verbose { results.join("\n") } - ensure - begin - Dir.chdir pwd - rescue SystemCallError - Dir.chdir dest_path - end - end - end + results = builder.build(extension, dest_path, + results, @build_args, lib_dir, extension_dir) + + verbose { results.join("\n") } write_gem_make_out results.join "\n" rescue => e @@ -201,6 +181,7 @@ def build_extensions dest_path = @spec.extension_dir + require "fileutils" FileUtils.rm_f @spec.gem_build_complete_path @spec.extensions.each do |extension| diff --git a/lib/rubygems/ext/cmake_builder.rb b/lib/rubygems/ext/cmake_builder.rb index 519372e74242..2efec91f1534 100644 --- a/lib/rubygems/ext/cmake_builder.rb +++ b/lib/rubygems/ext/cmake_builder.rb @@ -2,15 +2,15 @@ require_relative '../command' class Gem::Ext::CmakeBuilder < Gem::Ext::Builder - def self.build(extension, dest_path, results, args=[], lib_dir=nil) - unless File.exist?('Makefile') + def self.build(extension, dest_path, results, args=[], lib_dir=nil, cmake_dir=Dir.pwd) + unless File.exist?(File.join(cmake_dir, 'Makefile')) cmd = "cmake . -DCMAKE_INSTALL_PREFIX=#{dest_path}" cmd << " #{Gem::Command.build_args.join ' '}" unless Gem::Command.build_args.empty? - run cmd, results + run cmd, results, class_name, cmake_dir end - make dest_path, results + make dest_path, results, cmake_dir results end diff --git a/lib/rubygems/ext/configure_builder.rb b/lib/rubygems/ext/configure_builder.rb index 209e75fe8e0c..36a758989b53 100644 --- a/lib/rubygems/ext/configure_builder.rb +++ b/lib/rubygems/ext/configure_builder.rb @@ -6,15 +6,15 @@ #++ class Gem::Ext::ConfigureBuilder < Gem::Ext::Builder - def self.build(extension, dest_path, results, args=[], lib_dir=nil) - unless File.exist?('Makefile') + def self.build(extension, dest_path, results, args=[], lib_dir=nil, configure_dir=Dir.pwd) + unless File.exist?(File.join(configure_dir, 'Makefile')) cmd = "sh ./configure --prefix=#{dest_path}" cmd << " #{args.join ' '}" unless args.empty? - run cmd, results + run cmd, results, class_name, configure_dir end - make dest_path, results + make dest_path, results, configure_dir results end diff --git a/lib/rubygems/ext/ext_conf_builder.rb b/lib/rubygems/ext/ext_conf_builder.rb index 305e1dcfb1d7..fede2704173d 100644 --- a/lib/rubygems/ext/ext_conf_builder.rb +++ b/lib/rubygems/ext/ext_conf_builder.rb @@ -8,11 +8,11 @@ require 'shellwords' class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder - def self.build(extension, dest_path, results, args=[], lib_dir=nil) + def self.build(extension, dest_path, results, args=[], lib_dir=nil, extension_dir=Dir.pwd) require 'fileutils' require 'tempfile' - tmp_dest = Dir.mktmpdir(".gem.", ".") + tmp_dest = Dir.mktmpdir(".gem.", extension_dir) # Some versions of `mktmpdir` return absolute paths, which will break make # if the paths contain spaces. However, on Ruby 1.9.x on Windows, relative @@ -23,9 +23,9 @@ def self.build(extension, dest_path, results, args=[], lib_dir=nil) # spaces do not work. # # Details: https://github.com/rubygems/rubygems/issues/977#issuecomment-171544940 - tmp_dest = get_relative_path(tmp_dest) + tmp_dest = get_relative_path(tmp_dest, extension_dir) - Tempfile.open %w[siteconf .rb], "." do |siteconf| + Tempfile.open %w[siteconf .rb], extension_dir do |siteconf| siteconf.puts "require 'rbconfig'" siteconf.puts "dest_path = #{tmp_dest.dump}" %w[sitearchdir sitelibdir].each do |dir| @@ -38,19 +38,22 @@ def self.build(extension, dest_path, results, args=[], lib_dir=nil) destdir = ENV["DESTDIR"] begin + # workaround for https://github.com/oracle/truffleruby/issues/2115 + siteconf_path = RUBY_ENGINE == "truffleruby" ? siteconf.path.dup : siteconf.path cmd = Gem.ruby.shellsplit << "-I" << File.expand_path("../../..", __FILE__) << - "-r" << get_relative_path(siteconf.path) << File.basename(extension) + "-r" << get_relative_path(siteconf_path, extension_dir) << File.basename(extension) cmd.push(*args) begin - run(cmd, results) do |s, r| - if File.exist? 'mkmf.log' + run(cmd, results, class_name, extension_dir) do |s, r| + mkmf_log = File.join(extension_dir, 'mkmf.log') + if File.exist? mkmf_log unless s.success? r << "To see why this extension failed to compile, please check" \ " the mkmf.log which can be found here:\n" r << " " + File.join(dest_path, 'mkmf.log') + "\n" end - FileUtils.mv 'mkmf.log', dest_path + FileUtils.mv mkmf_log, dest_path end end siteconf.unlink @@ -58,18 +61,20 @@ def self.build(extension, dest_path, results, args=[], lib_dir=nil) ENV["DESTDIR"] = nil - make dest_path, results + make dest_path, results, extension_dir if tmp_dest + full_tmp_dest = File.join(extension_dir, tmp_dest) + # TODO remove in RubyGems 3 if Gem.install_extension_in_lib and lib_dir FileUtils.mkdir_p lib_dir - entries = Dir.entries(tmp_dest) - %w[. ..] - entries = entries.map {|entry| File.join tmp_dest, entry } + entries = Dir.entries(full_tmp_dest) - %w[. ..] + entries = entries.map {|entry| File.join full_tmp_dest, entry } FileUtils.cp_r entries, lib_dir, :remove_destination => true end - FileUtils::Entry_.new(tmp_dest).traverse do |ent| + FileUtils::Entry_.new(full_tmp_dest).traverse do |ent| destent = ent.class.new(dest_path, ent.rel) destent.exist? or FileUtils.mv(ent.path, destent.path) end @@ -87,8 +92,8 @@ def self.build(extension, dest_path, results, args=[], lib_dir=nil) private - def self.get_relative_path(path) - path[0..Dir.pwd.length - 1] = '.' if path.start_with?(Dir.pwd) + def self.get_relative_path(path, base) + path[0..base.length - 1] = '.' if path.start_with?(base) path end end diff --git a/lib/rubygems/ext/rake_builder.rb b/lib/rubygems/ext/rake_builder.rb index 53507090fe7d..34c3922f2f13 100644 --- a/lib/rubygems/ext/rake_builder.rb +++ b/lib/rubygems/ext/rake_builder.rb @@ -8,9 +8,9 @@ require "shellwords" class Gem::Ext::RakeBuilder < Gem::Ext::Builder - def self.build(extension, dest_path, results, args=[], lib_dir=nil) + def self.build(extension, dest_path, results, args=[], lib_dir=nil, extension_dir=Dir.pwd) if File.basename(extension) =~ /mkrf_conf/i - run([Gem.ruby, File.basename(extension), *args], results) + run([Gem.ruby, File.basename(extension), *args], results, class_name, extension_dir) end rake = ENV['rake'] @@ -26,7 +26,7 @@ def self.build(extension, dest_path, results, args=[], lib_dir=nil) end rake_args = ["RUBYARCHDIR=#{dest_path}", "RUBYLIBDIR=#{dest_path}", *args] - run(rake + rake_args, results) + run(rake + rake_args, results, class_name, extension_dir) results end diff --git a/lib/rubygems/gemcutter_utilities.rb b/lib/rubygems/gemcutter_utilities.rb index bba92806918d..d021f47e24e5 100644 --- a/lib/rubygems/gemcutter_utilities.rb +++ b/lib/rubygems/gemcutter_utilities.rb @@ -8,10 +8,12 @@ module Gem::GemcutterUtilities ERROR_CODE = 1 + API_SCOPES = %i[index_rubygems push_rubygem yank_rubygem add_owner remove_owner access_webhooks show_dashboard].freeze include Gem::Text attr_writer :host + attr_writer :scope ## # Add the --key option @@ -72,7 +74,7 @@ def host # # If +allowed_push_host+ metadata is present, then it will only allow that host. - def rubygems_api_request(method, path, host = nil, allowed_push_host = nil, &block) + def rubygems_api_request(method, path, host = nil, allowed_push_host = nil, scope: nil, &block) require 'net/http' self.host = host if host @@ -95,11 +97,19 @@ def rubygems_api_request(method, path, host = nil, allowed_push_host = nil, &blo request_method = Net::HTTP.const_get method.to_s.capitalize response = Gem::RemoteFetcher.fetcher.request(uri, request_method, &block) - return response unless mfa_unauthorized?(response) - Gem::RemoteFetcher.fetcher.request(uri, request_method) do |req| - req.add_field "OTP", get_otp - block.call(req) + if mfa_unauthorized?(response) + response = Gem::RemoteFetcher.fetcher.request(uri, request_method) do |req| + req.add_field "OTP", get_otp + block.call(req) + end + end + + if api_key_forbidden?(response) + update_scope(scope) + Gem::RemoteFetcher.fetcher.request(uri, request_method, &block) + else + response end end @@ -112,19 +122,37 @@ def get_otp ask 'Code: ' end + def update_scope(scope) + sign_in_host = self.host + pretty_host = pretty_host(sign_in_host) + update_scope_params = { scope => true } + + say "The existing key doesn't have access of #{scope} on #{pretty_host}. Please sign in to update access." + + email = ask " Email: " + password = ask_for_password "Password: " + + response = rubygems_api_request(:put, "api/v1/api_key", + sign_in_host, scope: scope) do |request| + request.basic_auth email, password + request.add_field "OTP", options[:otp] if options[:otp] + request.body = URI.encode_www_form({:api_key => api_key }.merge(update_scope_params)) + end + + with_response response do |resp| + say "Added #{scope} scope to the existing API key" + end + end + ## # Signs in with the RubyGems API at +sign_in_host+ and sets the rubygems API # key. - def sign_in(sign_in_host = nil) + def sign_in(sign_in_host = nil, scope: nil) sign_in_host ||= self.host return if api_key - pretty_host = if Gem::DEFAULT_HOST == sign_in_host - 'RubyGems.org' - else - sign_in_host - end + pretty_host = pretty_host(sign_in_host) say "Enter your #{pretty_host} credentials." say "Don't have an account yet? " + @@ -134,14 +162,18 @@ def sign_in(sign_in_host = nil) password = ask_for_password "Password: " say "\n" - response = rubygems_api_request(:get, "api/v1/api_key", - sign_in_host) do |request| + key_name = get_key_name(scope) + scope_params = get_scope_params(scope) + + response = rubygems_api_request(:post, "api/v1/api_key", + sign_in_host, scope: scope) do |request| request.basic_auth email, password request.add_field "OTP", options[:otp] if options[:otp] + request.body = URI.encode_www_form({ name: key_name }.merge(scope_params)) end with_response response do |resp| - say "Signed in." + say "Signed in with API key: #{key_name}." set_api_key host, resp.body end end @@ -195,4 +227,48 @@ def set_api_key(host, key) end end + private + + def pretty_host(host) + if Gem::DEFAULT_HOST == host + 'RubyGems.org' + else + host + end + end + + def get_scope_params(scope) + scope_params = {} + + if scope + scope_params = { scope => true } + else + say "Please select scopes you want to enable for the API key (y/n)" + API_SCOPES.each do |scope| + selected = ask "#{scope} [y/N]: " + scope_params[scope] = true if selected =~ /^[yY](es)?$/ + end + say "\n" + end + + scope_params + end + + def get_key_name(scope) + hostname = Socket.gethostname || "unkown-host" + user = ENV["USER"] || ENV["USERNAME"] || "unkown-user" + ts = Time.now.strftime("%Y%m%d%H%M%S") + default_key_name = "#{hostname}-#{user}-#{ts}" + + key_name = ask "API Key name [#{default_key_name}]: " unless scope + if key_name.nil? || key_name.empty? + default_key_name + else + key_name + end + end + + def api_key_forbidden?(response) + response.kind_of?(Net::HTTPForbidden) && response.body.start_with?("The API key doesn't have access") + end end diff --git a/lib/rubygems/indexer.rb b/lib/rubygems/indexer.rb index 9f4bd12c46ba..31285ca962fa 100644 --- a/lib/rubygems/indexer.rb +++ b/lib/rubygems/indexer.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rubygems' require 'rubygems/package' -require 'time' require 'tmpdir' ## diff --git a/lib/rubygems/install_update_options.rb b/lib/rubygems/install_update_options.rb index b46b53e76ba9..ef1ad1edcb4b 100644 --- a/lib/rubygems/install_update_options.rb +++ b/lib/rubygems/install_update_options.rb @@ -122,10 +122,10 @@ def add_install_update_options options[:minimal_deps] = true end - add_option(:"Install/Update", "--minimal-deps", + add_option(:"Install/Update", "--[no-]minimal-deps", "Don't upgrade any dependencies that already", "meet version requirements") do |value, options| - options[:minimal_deps] = true + options[:minimal_deps] = value end add_option(:"Install/Update", "--[no-]post-install-message", diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index 33171a8eb939..2c583743b9b0 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -12,7 +12,6 @@ require 'rubygems/package' require 'rubygems/ext' require 'rubygems/user_interaction' -require 'fileutils' ## # The installer installs the files contained in the .gem into the Gem.home. @@ -433,7 +432,7 @@ def spec_file # def default_spec_file - File.join Gem.default_specifications_dir, "#{spec.full_name}.gemspec" + File.join gem_home, "specifications", "default", "#{spec.full_name}.gemspec" end ## @@ -492,7 +491,11 @@ def generate_bin # :nodoc: mode = File.stat(bin_path).mode dir_mode = options[:prog_mode] || (mode | 0111) - FileUtils.chmod dir_mode, bin_path unless dir_mode == mode + + unless dir_mode == mode + require 'fileutils' + FileUtils.chmod dir_mode, bin_path + end check_executable_overwrite filename @@ -527,6 +530,7 @@ def generate_plugins # :nodoc: def generate_bin_script(filename, bindir) bin_script_path = File.join bindir, formatted_program_filename(filename) + require 'fileutils' FileUtils.rm_f bin_script_path # prior install may have been --no-wrappers File.open bin_script_path, 'wb', 0755 do |file| @@ -670,7 +674,7 @@ def process_options # :nodoc: :env_shebang => false, :force => false, :only_install_dir => false, - :post_install_message => true + :post_install_message => true, }.merge options @env_shebang = options[:env_shebang] @@ -693,11 +697,10 @@ def process_options # :nodoc: @build_args = options[:build_args] || Gem::Command.build_args unless @build_root.nil? - require 'pathname' - @build_root = Pathname.new(@build_root).expand_path - @bin_dir = File.join(@build_root, options[:bin_dir] || Gem.bindir(@gem_home)) - @gem_home = File.join(@build_root, @gem_home) - alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}" + @bin_dir = File.join(@build_root, @bin_dir.gsub(/^[a-zA-Z]:/, '')) + @gem_home = File.join(@build_root, @gem_home.gsub(/^[a-zA-Z]:/, '')) + @plugins_dir = File.join(@build_root, @plugins_dir.gsub(/^[a-zA-Z]:/, '')) + alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}\n Plugins dir: #{@plugins_dir}" end end diff --git a/lib/rubygems/installer_test_case.rb b/lib/rubygems/installer_test_case.rb index d78b6a4712dc..416dac7be696 100644 --- a/lib/rubygems/installer_test_case.rb +++ b/lib/rubygems/installer_test_case.rb @@ -108,9 +108,9 @@ def util_make_exec(spec = @spec, shebang = "#!/usr/bin/ruby", bindir = "bin") # # And returns a Gem::Installer for the @spec that installs into @gemhome - def setup_base_installer + def setup_base_installer(force = true) @gem = setup_base_gem - util_installer @spec, @gemhome + util_installer @spec, @gemhome, false, force end ## @@ -182,7 +182,7 @@ def util_setup_installer(&block) # lib/code.rb # ext/a/mkrf_conf.rb - def util_setup_gem(ui = @ui) + def util_setup_gem(ui = @ui, force = true) @spec.files << File.join('lib', 'code.rb') @spec.extensions << File.join('ext', 'a', 'mkrf_conf.rb') @@ -214,17 +214,18 @@ def util_setup_gem(ui = @ui) end end - Gem::Installer.at @gem + Gem::Installer.at @gem, :force => force end ## # Creates an installer for +spec+ that will install into +gem_home+. If # +user+ is true a user-install will be performed. - def util_installer(spec, gem_home, user=false) + def util_installer(spec, gem_home, user=false, force=true) Gem::Installer.at(spec.cache_file, :install_dir => gem_home, - :user_install => user) + :user_install => user, + :force => force) end @@symlink_supported = nil diff --git a/lib/rubygems/name_tuple.rb b/lib/rubygems/name_tuple.rb index cb5604e8dd5d..3d0afa30947a 100644 --- a/lib/rubygems/name_tuple.rb +++ b/lib/rubygems/name_tuple.rb @@ -59,7 +59,7 @@ def full_name # Indicate if this NameTuple matches the current platform. def match_platform? - Gem::Platform.match @platform + Gem::Platform.match_gem? @platform, @name end ## diff --git a/lib/rubygems/openssl.rb b/lib/rubygems/openssl.rb index 39ef91e8880c..c44f619c4c30 100644 --- a/lib/rubygems/openssl.rb +++ b/lib/rubygems/openssl.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -begin - require "openssl" -rescue LoadError => e - raise unless e.path == 'openssl' +autoload :OpenSSL, "openssl" + +module Gem + HAVE_OPENSSL = defined? OpenSSL::SSL # :nodoc: end diff --git a/lib/rubygems/package.rb b/lib/rubygems/package.rb index 9b53cd4a7bfc..0587cd212b71 100644 --- a/lib/rubygems/package.rb +++ b/lib/rubygems/package.rb @@ -44,7 +44,6 @@ require "rubygems" require 'rubygems/security' require 'rubygems/user_interaction' -require 'zlib' class Gem::Package include Gem::UserInteraction @@ -186,6 +185,8 @@ def self.raw_spec(path, security_policy = nil) # Creates a new package that will read or write to the file +gem+. def initialize(gem, security_policy) # :notnew: + require 'zlib' + @gem = gem @build_time = Gem.source_date_epoch @@ -297,7 +298,7 @@ def build(skip_validation = false, strict_validation = false) setup_signer( signer_options: { - expiration_length_days: Gem.configuration.cert_expiration_length_days + expiration_length_days: Gem.configuration.cert_expiration_length_days, } ) diff --git a/lib/rubygems/package/tar_header.rb b/lib/rubygems/package/tar_header.rb index f19aea549dcd..ce9b49e3ebef 100644 --- a/lib/rubygems/package/tar_header.rb +++ b/lib/rubygems/package/tar_header.rb @@ -229,7 +229,7 @@ def header(checksum = @checksum) gname, oct(devmajor, 7), oct(devminor, 7), - prefix + prefix, ] header = header.pack PACK_FORMAT diff --git a/lib/rubygems/package/tar_test_case.rb b/lib/rubygems/package/tar_test_case.rb index 5fc34d2e8cb3..1161d0a5a86f 100644 --- a/lib/rubygems/package/tar_test_case.rb +++ b/lib/rubygems/package/tar_test_case.rb @@ -90,7 +90,7 @@ def header(type, fname, dname, length, mode, mtime, checksum = nil, linkname = " ASCIIZ("wheel", 32), # char gname[32]; ASCIIZ Z(to_oct(0, 7)), # char devmajor[8]; 0 padded, octal, null Z(to_oct(0, 7)), # char devminor[8]; 0 padded, octal, null - ASCIIZ(dname, 155) # char prefix[155]; ASCII + (Z unless filled) + ASCIIZ(dname, 155), # char prefix[155]; ASCII + (Z unless filled) ] h = arr.join diff --git a/lib/rubygems/platform.rb b/lib/rubygems/platform.rb index 34306fcf83f9..a500fd24c8f1 100644 --- a/lib/rubygems/platform.rb +++ b/lib/rubygems/platform.rb @@ -9,11 +9,7 @@ class Gem::Platform @local = nil - attr_accessor :cpu - - attr_accessor :os - - attr_accessor :version + attr_accessor :cpu, :os, :version def self.local arch = RbConfig::CONFIG['arch'] @@ -22,18 +18,33 @@ def self.local end def self.match(platform) - Gem.platforms.any? do |local_platform| + match_platforms?(platform, Gem.platforms) + end + + def self.match_platforms?(platform, platforms) + platforms.any? do |local_platform| platform.nil? or local_platform == platform or (local_platform != Gem::Platform::RUBY and local_platform =~ platform) end end + private_class_method :match_platforms? + + def self.match_spec?(spec) + match_gem?(spec.platform, spec.name) + end + + def self.match_gem?(platform, gem_name) + # Note: this method might be redefined by Ruby implementations to + # customize behavior per RUBY_ENGINE, gem_name or other criteria. + match_platforms?(platform, Gem.platforms) + end def self.installable?(spec) if spec.respond_to? :installable_platform? spec.installable_platform? else - match spec.platform + match_spec? spec end end diff --git a/lib/rubygems/query_utils.rb b/lib/rubygems/query_utils.rb index 4e9b6efee631..ea0f260ab4ea 100644 --- a/lib/rubygems/query_utils.rb +++ b/lib/rubygems/query_utils.rb @@ -57,15 +57,6 @@ def defaults_str # :nodoc: "--local --name-matches // --no-details --versions --no-installed" end - def description # :nodoc: - <<-EOF -The query command is the basis for the list and search commands. - -You should really use the list and search commands instead. This command -is too hard to use. - EOF - end - def execute gem_names = Array(options[:name]) diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb index 40ac0e95c084..8ebe6acc70f9 100644 --- a/lib/rubygems/remote_fetcher.rb +++ b/lib/rubygems/remote_fetcher.rb @@ -78,7 +78,6 @@ def self.fetcher def initialize(proxy=nil, dns=nil, headers={}) require 'net/http' require 'stringio' - require 'time' require 'uri' Socket.do_not_reverse_lookup = true @@ -263,7 +262,7 @@ def fetch_path(uri, mtime = nil, head = false) rescue Timeout::Error raise UnknownHostError.new('timed out', uri) rescue IOError, SocketError, SystemCallError, - *(OpenSSL::SSL::SSLError if defined?(OpenSSL)) => e + *(OpenSSL::SSL::SSLError if Gem::HAVE_OPENSSL) => e if e.message =~ /getaddrinfo/ raise UnknownHostError.new('no such name', uri) else diff --git a/lib/rubygems/request.rb b/lib/rubygems/request.rb index 75f9e9979a62..1ed0fbcb9975 100644 --- a/lib/rubygems/request.rb +++ b/lib/rubygems/request.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true require 'net/http' -require 'time' require 'rubygems/user_interaction' class Gem::Request @@ -45,7 +44,8 @@ def self.get_cert_files end def self.configure_connection_for_https(connection, cert_files) - require 'openssl' + raise Gem::Exception.new('OpenSSl is not available. Install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources') unless Gem::HAVE_OPENSSL + connection.use_ssl = true connection.verify_mode = Gem.configuration.ssl_verify_mode || OpenSSL::SSL::VERIFY_PEER @@ -125,7 +125,7 @@ def self.verify_certificate_message(error_number, cert) def connection_for(uri) @connection_pool.checkout - rescue defined?(OpenSSL::SSL) ? OpenSSL::SSL::SSLError : Errno::EHOSTDOWN, + rescue Gem::HAVE_OPENSSL ? OpenSSL::SSL::SSLError : Errno::EHOSTDOWN, Errno::EHOSTDOWN => e raise Gem::RemoteFetcher::FetchError.new(e.message, uri) end @@ -143,6 +143,7 @@ def fetch request.add_field 'Keep-Alive', '30' if @last_modified + require 'time' request.add_field 'If-Modified-Since', @last_modified.httpdate end diff --git a/lib/rubygems/request_set/gem_dependency_api.rb b/lib/rubygems/request_set/gem_dependency_api.rb index 9fbe3a1e44d6..7188b07346f0 100644 --- a/lib/rubygems/request_set/gem_dependency_api.rb +++ b/lib/rubygems/request_set/gem_dependency_api.rb @@ -88,7 +88,7 @@ class Gem::RequestSet::GemDependencyAPI :truffleruby => Gem::Platform::RUBY, :x64_mingw => x64_mingw, :x64_mingw_20 => x64_mingw, - :x64_mingw_21 => x64_mingw + :x64_mingw_21 => x64_mingw, }.freeze gt_eq_0 = Gem::Requirement.new '>= 0' @@ -379,7 +379,7 @@ def gem(name, *requirements) Gem::Requirement.create requirements end - return unless gem_platforms options + return unless gem_platforms name, options groups = gem_group name, options @@ -532,7 +532,7 @@ def gem_source(name, options) # :nodoc: # Handles the platforms: option from +options+. Returns true if the # platform matches the current platform. - def gem_platforms(options) # :nodoc: + def gem_platforms(name, options) # :nodoc: platform_names = Array(options.delete :platform) platform_names.concat Array(options.delete :platforms) platform_names.concat @current_platforms if @current_platforms @@ -543,7 +543,7 @@ def gem_platforms(options) # :nodoc: raise ArgumentError, "unknown platform #{platform_name.inspect}" unless platform = PLATFORM_MAP[platform_name] - next false unless Gem::Platform.match platform + next false unless Gem::Platform.match_gem? platform, name if engines = ENGINE_MAP[platform_name] next false unless engines.include? Gem.ruby_engine diff --git a/lib/rubygems/requirement.rb b/lib/rubygems/requirement.rb index a2a5c7bca112..430060e2ff58 100644 --- a/lib/rubygems/requirement.rb +++ b/lib/rubygems/requirement.rb @@ -16,7 +16,7 @@ class Gem::Requirement "<" => lambda {|v, r| v < r }, ">=" => lambda {|v, r| v >= r }, "<=" => lambda {|v, r| v <= r }, - "~>" => lambda {|v, r| v >= r && v.release < r.bump } + "~>" => lambda {|v, r| v >= r && v.release < r.bump }, }.freeze SOURCE_SET_REQUIREMENT = Struct.new(:for_lockfile).new "!" # :nodoc: diff --git a/lib/rubygems/resolver.rb b/lib/rubygems/resolver.rb index fa5f5e6bb2c3..e1c0d2dd0a3a 100644 --- a/lib/rubygems/resolver.rb +++ b/lib/rubygems/resolver.rb @@ -281,7 +281,7 @@ def sort_dependencies(dependencies, activated, conflicts) amount_constrained(dependency), conflicts[name] ? 0 : 1, activated.vertex_named(name).payload ? 0 : search_for(dependency).count, - i # for stable sort + i, # for stable sort ] end end diff --git a/lib/rubygems/resolver/activation_request.rb b/lib/rubygems/resolver/activation_request.rb index 293df1efe9d7..ae35681db970 100644 --- a/lib/rubygems/resolver/activation_request.rb +++ b/lib/rubygems/resolver/activation_request.rb @@ -28,12 +28,20 @@ def ==(other) # :nodoc: when Gem::Specification @spec == other when Gem::Resolver::ActivationRequest - @spec == other.spec && @request == other.request + @spec == other.spec else false end end + def eql?(other) + self == other + end + + def hash + @spec.hash + end + ## # Is this activation request for a development dependency? diff --git a/lib/rubygems/resolver/api_specification.rb b/lib/rubygems/resolver/api_specification.rb index 232c2b041b13..589ea1ba61fd 100644 --- a/lib/rubygems/resolver/api_specification.rb +++ b/lib/rubygems/resolver/api_specification.rb @@ -46,6 +46,10 @@ def ==(other) # :nodoc: @dependencies == other.dependencies end + def hash + @set.hash ^ @name.hash ^ @version.hash ^ @platform.hash ^ @dependencies.hash + end + def fetch_development_dependencies # :nodoc: spec = source.fetch_spec Gem::NameTuple.new @name, @version, @platform @@ -53,7 +57,7 @@ def fetch_development_dependencies # :nodoc: end def installable_platform? # :nodoc: - Gem::Platform.match @platform + Gem::Platform.match_gem? @platform, @name end def pretty_print(q) # :nodoc: diff --git a/lib/rubygems/resolver/conflict.rb b/lib/rubygems/resolver/conflict.rb index 2ce63feef2ba..4c4588d7e8b7 100644 --- a/lib/rubygems/resolver/conflict.rb +++ b/lib/rubygems/resolver/conflict.rb @@ -85,7 +85,7 @@ def explanation activated, requirement, request_path(@activated).reverse.join(", depends on\n "), request_path(@failed_dep).reverse.join(", depends on\n "), - matching, + matching ] end diff --git a/lib/rubygems/resolver/dependency_request.rb b/lib/rubygems/resolver/dependency_request.rb index 77539c340ffe..356aadb3b2f2 100644 --- a/lib/rubygems/resolver/dependency_request.rb +++ b/lib/rubygems/resolver/dependency_request.rb @@ -28,7 +28,7 @@ def ==(other) # :nodoc: when Gem::Dependency @dependency == other when Gem::Resolver::DependencyRequest - @dependency == other.dependency && @requester == other.requester + @dependency == other.dependency else false end diff --git a/lib/rubygems/resolver/index_specification.rb b/lib/rubygems/resolver/index_specification.rb index d80f1211897a..3b75b719b0ef 100644 --- a/lib/rubygems/resolver/index_specification.rb +++ b/lib/rubygems/resolver/index_specification.rb @@ -33,6 +33,17 @@ def dependencies spec.dependencies end + def ==(other) + self.class === other && + @name == other.name && + @version == other.version && + @platform == other.platform + end + + def hash + @name.hash ^ @version.hash ^ @platform.hash + end + def inspect # :nodoc: '#<%s %s source %s>' % [self.class, full_name, @source] end diff --git a/lib/rubygems/resolver/installer_set.rb b/lib/rubygems/resolver/installer_set.rb index eaa7e207b2d2..b0e4ce5a3725 100644 --- a/lib/rubygems/resolver/installer_set.rb +++ b/lib/rubygems/resolver/installer_set.rb @@ -32,7 +32,6 @@ def initialize(domain) super() @domain = domain - @remote = consider_remote? @f = Gem::SpecFetcher.fetcher @@ -170,7 +169,7 @@ def inspect # :nodoc: always_install = @always_install.map {|s| s.full_name } '#<%s domain: %s specs: %p always install: %p>' % [ - self.class, @domain, @specs.keys, always_install, + self.class, @domain, @specs.keys, always_install ] end diff --git a/lib/rubygems/resolver/lock_set.rb b/lib/rubygems/resolver/lock_set.rb index 1ab03e753b05..eabf217abace 100644 --- a/lib/rubygems/resolver/lock_set.rb +++ b/lib/rubygems/resolver/lock_set.rb @@ -28,7 +28,7 @@ def initialize(sources) def add(name, version, platform) # :nodoc: version = Gem::Version.new version specs = [ - Gem::Resolver::LockSpecification.new(self, name, version, @sources, platform) + Gem::Resolver::LockSpecification.new(self, name, version, @sources, platform), ] @specs.concat specs diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo.rb b/lib/rubygems/resolver/molinillo/lib/molinillo.rb index 0ae4b6a91277..f67badbde790 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo.rb @@ -1,9 +1,10 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/gem_metadata' -require 'rubygems/resolver/molinillo/lib/molinillo/errors' -require 'rubygems/resolver/molinillo/lib/molinillo/resolver' -require 'rubygems/resolver/molinillo/lib/molinillo/modules/ui' -require 'rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider' + +require_relative 'molinillo/gem_metadata' +require_relative 'molinillo/errors' +require_relative 'molinillo/resolver' +require_relative 'molinillo/modules/ui' +require_relative 'molinillo/modules/specification_provider' # Gem::Resolver::Molinillo is a generic dependency resolution algorithm. module Gem::Resolver::Molinillo diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb index 1bbc72c1f64a..d540d3baffc8 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo # @!visibility private module Delegates @@ -45,6 +46,12 @@ def conflicts current_state = state || Gem::Resolver::Molinillo::ResolutionState.empty current_state.conflicts end + + # (see Gem::Resolver::Molinillo::ResolutionState#unused_unwind_options) + def unused_unwind_options + current_state = state || Gem::Resolver::Molinillo::ResolutionState.empty + current_state.unused_unwind_options + end end end end diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb index 71903c7e8695..2ddb0ac42620 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo module Delegates # Delegates all {Gem::Resolver::Molinillo::SpecificationProvider} methods to a diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb index b413e3ab6adf..773bb3417fac 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb @@ -1,9 +1,10 @@ # frozen_string_literal: true + require 'set' require 'tsort' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex' +require_relative 'dependency_graph/log' +require_relative 'dependency_graph/vertex' module Gem::Resolver::Molinillo # A directed acyclic graph that is tuned to hold named dependencies @@ -123,6 +124,7 @@ def to_dot(options = {}) dot.join("\n") end + # @param [DependencyGraph] other # @return [Boolean] whether the two dependency graphs are equal, determined # by a recursive traversal of each {#root_vertices} and its # {Vertex#successors} @@ -147,8 +149,8 @@ def add_child_vertex(name, payload, parent_names, requirement) vertex = add_vertex(name, payload, root) vertex.explicit_requirements << requirement if root parent_names.each do |parent_name| - parent_node = vertex_named(parent_name) - add_edge(parent_node, vertex, requirement) + parent_vertex = vertex_named(parent_name) + add_edge(parent_vertex, vertex, requirement) end vertex end @@ -189,7 +191,7 @@ def root_vertex_named(name) # @return [Edge] the added edge def add_edge(origin, destination, requirement) if destination.path_to?(origin) - raise CircularDependencyError.new([origin, destination]) + raise CircularDependencyError.new(path(destination, origin)) end add_edge_no_circular(origin, destination, requirement) end @@ -218,5 +220,37 @@ def set_payload(name, payload) def add_edge_no_circular(origin, destination, requirement) log.add_edge_no_circular(self, origin.name, destination.name, requirement) end + + # Returns the path between two vertices + # @raise [ArgumentError] if there is no path between the vertices + # @param [Vertex] from + # @param [Vertex] to + # @return [Array] the shortest path from `from` to `to` + def path(from, to) + distances = Hash.new(vertices.size + 1) + distances[from.name] = 0 + predecessors = {} + each do |vertex| + vertex.successors.each do |successor| + if distances[successor.name] > distances[vertex.name] + 1 + distances[successor.name] = distances[vertex.name] + 1 + predecessors[successor] = vertex + end + end + end + + path = [to] + while before = predecessors[to] + path << before + to = before + break if to == from + end + + unless path.last.equal?(from) + raise ArgumentError, "There is no path from #{from.name} to #{to.name}" + end + + path.reverse + end end end diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb index eeedabb06934..cc140031b3d4 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo class DependencyGraph # An action that modifies a {DependencyGraph} that is reversible. diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb index e994e59d05ff..557048325345 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action' + +require_relative 'action' module Gem::Resolver::Molinillo class DependencyGraph # @!visibility private diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb index 6cde93308076..f1411d5efa1d 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action' + +require_relative 'action' module Gem::Resolver::Molinillo class DependencyGraph # @!visibility private diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb index d44aaf1f060d..3b48d77a5089 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action' + +require_relative 'action' module Gem::Resolver::Molinillo class DependencyGraph # @!visibility private diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb index fa03e2d36561..92f60d5be854 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action' + +require_relative 'action' module Gem::Resolver::Molinillo class DependencyGraph # @!visibility private diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb index 5cdd84b5c152..7aeb8847ec60 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb @@ -1,10 +1,11 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload' -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag' + +require_relative 'add_edge_no_circular' +require_relative 'add_vertex' +require_relative 'delete_edge' +require_relative 'detach_vertex_named' +require_relative 'set_payload' +require_relative 'tag' module Gem::Resolver::Molinillo class DependencyGraph diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb index 02cfba64a7e4..726292a2c374 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action' + +require_relative 'action' module Gem::Resolver::Molinillo class DependencyGraph # @!visibility private diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb index 0cb08075ca73..bfe6fd31f8f4 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action' + +require_relative 'action' module Gem::Resolver::Molinillo class DependencyGraph # @!visibility private @@ -13,11 +14,11 @@ def self.action_name end # (see Action#up) - def up(_graph) + def up(graph) end # (see Action#down) - def down(_graph) + def down(graph) end # @!group Tag diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb index cebd9cafdd41..88b6580a5216 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo class DependencyGraph # A vertex in a {DependencyGraph} that encapsulates a {#name} and a @@ -32,7 +33,7 @@ def initialize(name, payload) # @return [Array] all of the requirements that required # this vertex def requirements - incoming_edges.map(&:requirement) + explicit_requirements + (incoming_edges.map(&:requirement) + explicit_requirements).uniq end # @return [Array] the edges of {#graph} that have `self` as their @@ -49,14 +50,25 @@ def predecessors incoming_edges.map(&:origin) end - # @return [Array] the vertices of {#graph} where `self` is a + # @return [Set] the vertices of {#graph} where `self` is a # {#descendent?} def recursive_predecessors - vertices = predecessors - vertices += vertices.map(&:recursive_predecessors).flatten(1) - vertices.uniq! + _recursive_predecessors + end + + # @param [Set] vertices the set to add the predecessors to + # @return [Set] the vertices of {#graph} where `self` is a + # {#descendent?} + def _recursive_predecessors(vertices = Set.new) + incoming_edges.each do |edge| + vertex = edge.origin + next unless vertices.add?(vertex) + vertex._recursive_predecessors(vertices) + end + vertices end + protected :_recursive_predecessors # @return [Array] the vertices of {#graph} that have an edge with # `self` as their {Edge#origin} @@ -64,14 +76,25 @@ def successors outgoing_edges.map(&:destination) end - # @return [Array] the vertices of {#graph} where `self` is an + # @return [Set] the vertices of {#graph} where `self` is an # {#ancestor?} def recursive_successors - vertices = successors - vertices += vertices.map(&:recursive_successors).flatten(1) - vertices.uniq! + _recursive_successors + end + + # @param [Set] vertices the set to add the successors to + # @return [Set] the vertices of {#graph} where `self` is an + # {#ancestor?} + def _recursive_successors(vertices = Set.new) + outgoing_edges.each do |edge| + vertex = edge.destination + next unless vertices.add?(vertex) + vertex._recursive_successors(vertices) + end + vertices end + protected :_recursive_successors # @return [String] a string suitable for debugging def inspect @@ -107,11 +130,21 @@ def hash # dependency graph? # @return true iff there is a path following edges within this {#graph} def path_to?(other) - equal?(other) || successors.any? { |v| v.path_to?(other) } + _path_to?(other) end alias descendent? path_to? + # @param [Vertex] other the vertex to check if there's a path to + # @param [Set] visited the vertices of {#graph} that have been visited + # @return [Boolean] whether there is a path to `other` from `self` + def _path_to?(other, visited = Set.new) + return false unless visited.add?(self) + return true if equal?(other) + successors.any? { |v| v._path_to?(other, visited) } + end + protected :_path_to? + # Is there a path from `other` to `self` following edges in the # dependency graph? # @return true iff there is a path following edges within this {#graph} diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb index 129246bf4a0b..2ec6b068ac3f 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo # An error that occurred during the resolution process class ResolverError < StandardError; end @@ -17,7 +18,7 @@ class NoSuchDependencyError < ResolverError # @param [Array] required_by @see {#required_by} def initialize(dependency, required_by = []) @dependency = dependency - @required_by = required_by + @required_by = required_by.uniq super() end @@ -41,11 +42,11 @@ class CircularDependencyError < ResolverError attr_reader :dependencies # Initializes a new error with the given circular vertices. - # @param [Array] nodes the nodes in the dependency + # @param [Array] vertices the vertices in the dependency # that caused the error - def initialize(nodes) - super "There is a circular dependency between #{nodes.map(&:name).join(' and ')}" - @dependencies = nodes.map(&:payload).to_set + def initialize(vertices) + super "There is a circular dependency between #{vertices.map(&:name).join(' and ')}" + @dependencies = vertices.map { |vertex| vertex.payload.possibilities.last }.to_set end end @@ -55,11 +56,16 @@ class VersionConflict < ResolverError # resolution to fail attr_reader :conflicts + # @return [SpecificationProvider] the specification provider used during + # resolution + attr_reader :specification_provider + # Initializes a new error with the given version conflicts. # @param [{String => Resolution::Conflict}] conflicts see {#conflicts} - def initialize(conflicts) + # @param [SpecificationProvider] specification_provider see {#specification_provider} + def initialize(conflicts, specification_provider) pairs = [] - conflicts.values.flatten.map(&:requirements).flatten.each do |conflicting| + conflicts.values.flat_map(&:requirements).each do |conflicting| conflicting.each do |source, conflict_requirements| conflict_requirements.each do |c| pairs << [c, source] @@ -69,7 +75,69 @@ def initialize(conflicts) super "Unable to satisfy the following requirements:\n\n" \ "#{pairs.map { |r, d| "- `#{r}` required by `#{d}`" }.join("\n")}" + @conflicts = conflicts + @specification_provider = specification_provider + end + + require_relative 'delegates/specification_provider' + include Delegates::SpecificationProvider + + # @return [String] An error message that includes requirement trees, + # which is much more detailed & customizable than the default message + # @param [Hash] opts the options to create a message with. + # @option opts [String] :solver_name The user-facing name of the solver + # @option opts [String] :possibility_type The generic name of a possibility + # @option opts [Proc] :reduce_trees A proc that reduced the list of requirement trees + # @option opts [Proc] :printable_requirement A proc that pretty-prints requirements + # @option opts [Proc] :additional_message_for_conflict A proc that appends additional + # messages for each conflict + # @option opts [Proc] :version_for_spec A proc that returns the version number for a + # possibility + def message_with_trees(opts = {}) + solver_name = opts.delete(:solver_name) { self.class.name.split('::').first } + possibility_type = opts.delete(:possibility_type) { 'possibility named' } + reduce_trees = opts.delete(:reduce_trees) { proc { |trees| trees.uniq.sort_by(&:to_s) } } + printable_requirement = opts.delete(:printable_requirement) { proc { |req| req.to_s } } + additional_message_for_conflict = opts.delete(:additional_message_for_conflict) { proc {} } + version_for_spec = opts.delete(:version_for_spec) { proc(&:to_s) } + incompatible_version_message_for_conflict = opts.delete(:incompatible_version_message_for_conflict) do + proc do |name, _conflict| + %(#{solver_name} could not find compatible versions for #{possibility_type} "#{name}":) + end + end + + conflicts.sort.reduce(''.dup) do |o, (name, conflict)| + o << "\n" << incompatible_version_message_for_conflict.call(name, conflict) << "\n" + if conflict.locked_requirement + o << %( In snapshot (#{name_for_locking_dependency_source}):\n) + o << %( #{printable_requirement.call(conflict.locked_requirement)}\n) + o << %(\n) + end + o << %( In #{name_for_explicit_dependency_source}:\n) + trees = reduce_trees.call(conflict.requirement_trees) + + o << trees.map do |tree| + t = ''.dup + depth = 2 + tree.each do |req| + t << ' ' * depth << req.to_s + unless tree.last == req + if spec = conflict.activated_by_name[name_for(req)] + t << %( was resolved to #{version_for_spec.call(spec)}, which) + end + t << %( depends on) + end + t << %(\n) + depth += 1 + end + t + end.join("\n") + + additional_message_for_conflict.call(o, name, conflict) + + o + end.strip end end end diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb index c5b5bd729fdb..6b5ada7ade19 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo # The version of Gem::Resolver::Molinillo. - VERSION = '0.5.7'.freeze + VERSION = '0.7.0'.freeze end diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb index 916345b12ad6..a44b9c0d5d8d 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo # Provides information about specifcations and dependencies to the resolver, # allowing the {Resolver} class to remain generic while still providing power diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb index dbc4e000e4d7..a810fd519cde 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo # Conveys information about the resolution process to a user. module UI @@ -48,7 +49,8 @@ def debug(depth = 0) if debug? debug_info = yield debug_info = debug_info.inspect unless debug_info.is_a?(String) - output.puts debug_info.split("\n").map { |s| ' ' * depth + s } + debug_info = debug_info.split("\n").map { |s| ":#{depth.to_s.rjust 4}: #{s}" } + output.puts debug_info end end diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb index 73a4242157bc..f1c60ec54461 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo class Resolver # A specific resolution from a given {Resolver} @@ -8,22 +9,125 @@ class Resolution # @attr [{String,Nil=>[Object]}] requirements the requirements that caused the conflict # @attr [Object, nil] existing the existing spec that was in conflict with # the {#possibility} - # @attr [Object] possibility the spec that was unable to be activated due - # to a conflict + # @attr [Object] possibility_set the set of specs that was unable to be + # activated due to a conflict. # @attr [Object] locked_requirement the relevant locking requirement. # @attr [Array>] requirement_trees the different requirement # trees that led to every requirement for the conflicting name. # @attr [{String=>Object}] activated_by_name the already-activated specs. + # @attr [Object] underlying_error an error that has occurred during resolution, and + # will be raised at the end of it if no resolution is found. Conflict = Struct.new( :requirement, :requirements, :existing, - :possibility, + :possibility_set, :locked_requirement, :requirement_trees, - :activated_by_name + :activated_by_name, + :underlying_error ) + class Conflict + # @return [Object] a spec that was unable to be activated due to a conflict + def possibility + possibility_set && possibility_set.latest_version + end + end + + # A collection of possibility states that share the same dependencies + # @attr [Array] dependencies the dependencies for this set of possibilities + # @attr [Array] possibilities the possibilities + PossibilitySet = Struct.new(:dependencies, :possibilities) + + class PossibilitySet + # String representation of the possibility set, for debugging + def to_s + "[#{possibilities.join(', ')}]" + end + + # @return [Object] most up-to-date dependency in the possibility set + def latest_version + possibilities.last + end + end + + # Details of the state to unwind to when a conflict occurs, and the cause of the unwind + # @attr [Integer] state_index the index of the state to unwind to + # @attr [Object] state_requirement the requirement of the state we're unwinding to + # @attr [Array] requirement_tree for the requirement we're relaxing + # @attr [Array] conflicting_requirements the requirements that combined to cause the conflict + # @attr [Array] requirement_trees for the conflict + # @attr [Array] requirements_unwound_to_instead array of unwind requirements that were chosen over this unwind + UnwindDetails = Struct.new( + :state_index, + :state_requirement, + :requirement_tree, + :conflicting_requirements, + :requirement_trees, + :requirements_unwound_to_instead + ) + + class UnwindDetails + include Comparable + + # We compare UnwindDetails when choosing which state to unwind to. If + # two options have the same state_index we prefer the one most + # removed from a requirement that caused the conflict. Both options + # would unwind to the same state, but a `grandparent` option will + # filter out fewer of its possibilities after doing so - where a state + # is both a `parent` and a `grandparent` to requirements that have + # caused a conflict this is the correct behaviour. + # @param [UnwindDetail] other UnwindDetail to be compared + # @return [Integer] integer specifying ordering + def <=>(other) + if state_index > other.state_index + 1 + elsif state_index == other.state_index + reversed_requirement_tree_index <=> other.reversed_requirement_tree_index + else + -1 + end + end + + # @return [Integer] index of state requirement in reversed requirement tree + # (the conflicting requirement itself will be at position 0) + def reversed_requirement_tree_index + @reversed_requirement_tree_index ||= + if state_requirement + requirement_tree.reverse.index(state_requirement) + else + 999_999 + end + end + + # @return [Boolean] where the requirement of the state we're unwinding + # to directly caused the conflict. Note: in this case, it is + # impossible for the state we're unwinding to to be a parent of + # any of the other conflicting requirements (or we would have + # circularity) + def unwinding_to_primary_requirement? + requirement_tree.last == state_requirement + end + + # @return [Array] array of sub-dependencies to avoid when choosing a + # new possibility for the state we've unwound to. Only relevant for + # non-primary unwinds + def sub_dependencies_to_avoid + @requirements_to_avoid ||= + requirement_trees.map do |tree| + index = tree.index(state_requirement) + tree[index + 1] if index + end.compact + end + + # @return [Array] array of all the requirements that led to the need for + # this unwind + def all_requirements + @all_requirements ||= requirement_trees.flatten(1) + end + end + # @return [SpecificationProvider] the provider that knows about # dependencies, requirements, specifications, versions, etc. attr_reader :specification_provider @@ -64,7 +168,7 @@ def resolve start_resolution while state - break unless state.requirements.any? || state.requirement + break if !state.requirement && state.requirements.empty? indicate_progress if state.respond_to?(:pop_possibility_state) # DependencyState debug(depth) { "Creating possibility state for #{requirement} (#{possibilities.count} remaining)" } @@ -78,7 +182,7 @@ def resolve process_topmost_state end - activated.freeze + resolve_activated_specs ensure end_resolution end @@ -103,12 +207,25 @@ def resolve def start_resolution @started_at = Time.now - handle_missing_or_push_dependency_state(initial_state) + push_initial_state debug { "Starting resolution (#{@started_at})\nUser-requested dependencies: #{original_requested}" } resolver_ui.before_resolution end + def resolve_activated_specs + activated.vertices.each do |_, vertex| + next unless vertex.payload + + latest_version = vertex.payload.possibilities.reverse_each.find do |possibility| + vertex.requirements.all? { |req| requirement_satisfied_by?(req, activated, possibility) } + end + + activated.set_payload(vertex.name, latest_version) + end + activated.freeze + end + # Ends the resolution process # @return [void] def end_resolution @@ -121,11 +238,11 @@ def end_resolution debug { 'Activated: ' + Hash[activated.vertices.select { |_n, v| v.payload }].keys.join(', ') } if state end - require 'rubygems/resolver/molinillo/lib/molinillo/state' - require 'rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider' + require_relative 'state' + require_relative 'modules/specification_provider' - require 'rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state' - require 'rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider' + require_relative 'delegates/resolution_state' + require_relative 'delegates/specification_provider' include Gem::Resolver::Molinillo::Delegates::ResolutionState include Gem::Resolver::Molinillo::Delegates::SpecificationProvider @@ -136,9 +253,12 @@ def process_topmost_state if possibility attempt_to_activate else - create_conflict if state.is_a? PossibilityState - unwind_for_conflict until possibility && state.is_a?(DependencyState) + create_conflict + unwind_for_conflict end + rescue CircularDependencyError => underlying_error + create_conflict(underlying_error) + unwind_for_conflict end # @return [Object] the current possibility that the resolution is trying @@ -153,63 +273,292 @@ def state states.last end - # Creates the initial state for the resolution, based upon the + # Creates and pushes the initial state for the resolution, based upon the # {#requested} dependencies - # @return [DependencyState] the initial state for the resolution - def initial_state + # @return [void] + def push_initial_state graph = DependencyGraph.new.tap do |dg| - original_requested.each { |r| dg.add_vertex(name_for(r), nil, true).tap { |v| v.explicit_requirements << r } } + original_requested.each do |requested| + vertex = dg.add_vertex(name_for(requested), nil, true) + vertex.explicit_requirements << requested + end dg.tag(:initial_state) end - requirements = sort_dependencies(original_requested, graph, {}) - initial_requirement = requirements.shift - DependencyState.new( - initial_requirement && name_for(initial_requirement), - requirements, - graph, - initial_requirement, - initial_requirement && search_for(initial_requirement), - 0, - {} - ) + push_state_for_requirements(original_requested, true, graph) end # Unwinds the states stack because a conflict has been encountered # @return [void] def unwind_for_conflict - debug(depth) { "Unwinding for conflict: #{requirement} to #{state_index_for_unwind / 2}" } + details_for_unwind = build_details_for_unwind + unwind_options = unused_unwind_options + debug(depth) { "Unwinding for conflict: #{requirement} to #{details_for_unwind.state_index / 2}" } conflicts.tap do |c| - sliced_states = states.slice!((state_index_for_unwind + 1)..-1) - raise VersionConflict.new(c) unless state + sliced_states = states.slice!((details_for_unwind.state_index + 1)..-1) + raise_error_unless_state(c) activated.rewind_to(sliced_states.first || :initial_state) if sliced_states state.conflicts = c + state.unused_unwind_options = unwind_options + filter_possibilities_after_unwind(details_for_unwind) index = states.size - 1 @parents_of.each { |_, a| a.reject! { |i| i >= index } } + state.unused_unwind_options.reject! { |uw| uw.state_index >= index } + end + end + + # Raises a VersionConflict error, or any underlying error, if there is no + # current state + # @return [void] + def raise_error_unless_state(conflicts) + return if state + + error = conflicts.values.map(&:underlying_error).compact.first + raise error || VersionConflict.new(conflicts, specification_provider) + end + + # @return [UnwindDetails] Details of the nearest index to which we could unwind + def build_details_for_unwind + # Get the possible unwinds for the current conflict + current_conflict = conflicts[name] + binding_requirements = binding_requirements_for_conflict(current_conflict) + unwind_details = unwind_options_for_requirements(binding_requirements) + + last_detail_for_current_unwind = unwind_details.sort.last + current_detail = last_detail_for_current_unwind + + # Look for past conflicts that could be unwound to affect the + # requirement tree for the current conflict + relevant_unused_unwinds = unused_unwind_options.select do |alternative| + intersecting_requirements = + last_detail_for_current_unwind.all_requirements & + alternative.requirements_unwound_to_instead + next if intersecting_requirements.empty? + # Find the highest index unwind whilst looping through + current_detail = alternative if alternative > current_detail + alternative + end + + # Add the current unwind options to the `unused_unwind_options` array. + # The "used" option will be filtered out during `unwind_for_conflict`. + state.unused_unwind_options += unwind_details.reject { |detail| detail.state_index == -1 } + + # Update the requirements_unwound_to_instead on any relevant unused unwinds + relevant_unused_unwinds.each { |d| d.requirements_unwound_to_instead << current_detail.state_requirement } + unwind_details.each { |d| d.requirements_unwound_to_instead << current_detail.state_requirement } + + current_detail + end + + # @param [Array] binding_requirements array of requirements that combine to create a conflict + # @return [Array] array of UnwindDetails that have a chance + # of resolving the passed requirements + def unwind_options_for_requirements(binding_requirements) + unwind_details = [] + + trees = [] + binding_requirements.reverse_each do |r| + partial_tree = [r] + trees << partial_tree + unwind_details << UnwindDetails.new(-1, nil, partial_tree, binding_requirements, trees, []) + + # If this requirement has alternative possibilities, check if any would + # satisfy the other requirements that created this conflict + requirement_state = find_state_for(r) + if conflict_fixing_possibilities?(requirement_state, binding_requirements) + unwind_details << UnwindDetails.new( + states.index(requirement_state), + r, + partial_tree, + binding_requirements, + trees, + [] + ) + end + + # Next, look at the parent of this requirement, and check if the requirement + # could have been avoided if an alternative PossibilitySet had been chosen + parent_r = parent_of(r) + next if parent_r.nil? + partial_tree.unshift(parent_r) + requirement_state = find_state_for(parent_r) + if requirement_state.possibilities.any? { |set| !set.dependencies.include?(r) } + unwind_details << UnwindDetails.new( + states.index(requirement_state), + parent_r, + partial_tree, + binding_requirements, + trees, + [] + ) + end + + # Finally, look at the grandparent and up of this requirement, looking + # for any possibilities that wouldn't create their parent requirement + grandparent_r = parent_of(parent_r) + until grandparent_r.nil? + partial_tree.unshift(grandparent_r) + requirement_state = find_state_for(grandparent_r) + if requirement_state.possibilities.any? { |set| !set.dependencies.include?(parent_r) } + unwind_details << UnwindDetails.new( + states.index(requirement_state), + grandparent_r, + partial_tree, + binding_requirements, + trees, + [] + ) + end + parent_r = grandparent_r + grandparent_r = parent_of(parent_r) + end + end + + unwind_details + end + + # @param [DependencyState] state + # @param [Array] binding_requirements array of requirements + # @return [Boolean] whether or not the given state has any possibilities + # that could satisfy the given requirements + def conflict_fixing_possibilities?(state, binding_requirements) + return false unless state + + state.possibilities.any? do |possibility_set| + possibility_set.possibilities.any? do |poss| + possibility_satisfies_requirements?(poss, binding_requirements) + end + end + end + + # Filter's a state's possibilities to remove any that would not fix the + # conflict we've just rewound from + # @param [UnwindDetails] unwind_details details of the conflict just + # unwound from + # @return [void] + def filter_possibilities_after_unwind(unwind_details) + return unless state && !state.possibilities.empty? + + if unwind_details.unwinding_to_primary_requirement? + filter_possibilities_for_primary_unwind(unwind_details) + else + filter_possibilities_for_parent_unwind(unwind_details) + end + end + + # Filter's a state's possibilities to remove any that would not satisfy + # the requirements in the conflict we've just rewound from + # @param [UnwindDetails] unwind_details details of the conflict just unwound from + # @return [void] + def filter_possibilities_for_primary_unwind(unwind_details) + unwinds_to_state = unused_unwind_options.select { |uw| uw.state_index == unwind_details.state_index } + unwinds_to_state << unwind_details + unwind_requirement_sets = unwinds_to_state.map(&:conflicting_requirements) + + state.possibilities.reject! do |possibility_set| + possibility_set.possibilities.none? do |poss| + unwind_requirement_sets.any? do |requirements| + possibility_satisfies_requirements?(poss, requirements) + end + end end end - # @return [Integer] The index to which the resolution should unwind in the - # case of conflict. - def state_index_for_unwind - current_requirement = requirement - existing_requirement = requirement_for_existing_name(name) - index = -1 - [current_requirement, existing_requirement].each do |r| - until r.nil? - current_state = find_state_for(r) - if state_any?(current_state) - current_index = states.index(current_state) - index = current_index if current_index > index - break + # @param [Object] possibility a single possibility + # @param [Array] requirements an array of requirements + # @return [Boolean] whether the possibility satisfies all of the + # given requirements + def possibility_satisfies_requirements?(possibility, requirements) + name = name_for(possibility) + + activated.tag(:swap) + activated.set_payload(name, possibility) if activated.vertex_named(name) + satisfied = requirements.all? { |r| requirement_satisfied_by?(r, activated, possibility) } + activated.rewind_to(:swap) + + satisfied + end + + # Filter's a state's possibilities to remove any that would (eventually) + # create a requirement in the conflict we've just rewound from + # @param [UnwindDetails] unwind_details details of the conflict just unwound from + # @return [void] + def filter_possibilities_for_parent_unwind(unwind_details) + unwinds_to_state = unused_unwind_options.select { |uw| uw.state_index == unwind_details.state_index } + unwinds_to_state << unwind_details + + primary_unwinds = unwinds_to_state.select(&:unwinding_to_primary_requirement?).uniq + parent_unwinds = unwinds_to_state.uniq - primary_unwinds + + allowed_possibility_sets = primary_unwinds.flat_map do |unwind| + states[unwind.state_index].possibilities.select do |possibility_set| + possibility_set.possibilities.any? do |poss| + possibility_satisfies_requirements?(poss, unwind.conflicting_requirements) end - r = parent_of(r) end end - index + requirements_to_avoid = parent_unwinds.flat_map(&:sub_dependencies_to_avoid) + + state.possibilities.reject! do |possibility_set| + !allowed_possibility_sets.include?(possibility_set) && + (requirements_to_avoid - possibility_set.dependencies).empty? + end end + # @param [Conflict] conflict + # @return [Array] minimal array of requirements that would cause the passed + # conflict to occur. + def binding_requirements_for_conflict(conflict) + return [conflict.requirement] if conflict.possibility.nil? + + possible_binding_requirements = conflict.requirements.values.flatten(1).uniq + + # When there's a `CircularDependency` error the conflicting requirement + # (the one causing the circular) won't be `conflict.requirement` + # (which won't be for the right state, because we won't have created it, + # because it's circular). + # We need to make sure we have that requirement in the conflict's list, + # otherwise we won't be able to unwind properly, so we just return all + # the requirements for the conflict. + return possible_binding_requirements if conflict.underlying_error + + possibilities = search_for(conflict.requirement) + + # If all the requirements together don't filter out all possibilities, + # then the only two requirements we need to consider are the initial one + # (where the dependency's version was first chosen) and the last + if binding_requirement_in_set?(nil, possible_binding_requirements, possibilities) + return [conflict.requirement, requirement_for_existing_name(name_for(conflict.requirement))].compact + end + + # Loop through the possible binding requirements, removing each one + # that doesn't bind. Use a `reverse_each` as we want the earliest set of + # binding requirements, and don't use `reject!` as we wish to refine the + # array *on each iteration*. + binding_requirements = possible_binding_requirements.dup + possible_binding_requirements.reverse_each do |req| + next if req == conflict.requirement + unless binding_requirement_in_set?(req, binding_requirements, possibilities) + binding_requirements -= [req] + end + end + + binding_requirements + end + + # @param [Object] requirement we wish to check + # @param [Array] possible_binding_requirements array of requirements + # @param [Array] possibilities array of possibilities the requirements will be used to filter + # @return [Boolean] whether or not the given requirement is required to filter + # out all elements of the array of possibilities. + def binding_requirement_in_set?(requirement, possible_binding_requirements, possibilities) + possibilities.any? do |poss| + possibility_satisfies_requirements?(poss, possible_binding_requirements - [requirement]) + end + end + + # @param [Object] requirement # @return [Object] the requirement that led to `requirement` being added # to the list of requirements. def parent_of(requirement) @@ -219,29 +568,27 @@ def parent_of(requirement) parent_state.requirement end + # @param [String] name # @return [Object] the requirement that led to a version of a possibility # with the given name being activated. def requirement_for_existing_name(name) - return nil unless activated.vertex_named(name).payload + return nil unless vertex = activated.vertex_named(name) + return nil unless vertex.payload states.find { |s| s.name == name }.requirement end + # @param [Object] requirement # @return [ResolutionState] the state whose `requirement` is the given # `requirement`. def find_state_for(requirement) return nil unless requirement - states.reverse_each.find { |i| requirement == i.requirement && i.is_a?(DependencyState) } - end - - # @return [Boolean] whether or not the given state has any possibilities - # left. - def state_any?(state) - state && state.possibilities.any? + states.find { |i| requirement == i.requirement } end + # @param [Object] underlying_error # @return [Conflict] a {Conflict} that reflects the failure to activate # the {#possibility} in conjunction with the current {#state} - def create_conflict + def create_conflict(underlying_error = nil) vertex = activated.vertex_named(name) locked_requirement = locked_requirement_named(name) @@ -250,18 +597,21 @@ def create_conflict requirements[name_for_explicit_dependency_source] = vertex.explicit_requirements end requirements[name_for_locking_dependency_source] = [locked_requirement] if locked_requirement - vertex.incoming_edges.each { |edge| (requirements[edge.origin.payload] ||= []).unshift(edge.requirement) } + vertex.incoming_edges.each do |edge| + (requirements[edge.origin.payload.latest_version] ||= []).unshift(edge.requirement) + end activated_by_name = {} - activated.each { |v| activated_by_name[v.name] = v.payload if v.payload } + activated.each { |v| activated_by_name[v.name] = v.payload.latest_version if v.payload } conflicts[name] = Conflict.new( requirement, requirements, - vertex.payload, + vertex.payload && vertex.payload.latest_version, possibility, locked_requirement, requirement_trees, - activated_by_name + activated_by_name, + underlying_error ) end @@ -272,6 +622,7 @@ def requirement_trees vertex.requirements.map { |r| requirement_tree_for(r) } end + # @param [Object] requirement # @return [Array] the list of requirements that led to # `requirement` being required. def requirement_tree_for(requirement) @@ -311,116 +662,47 @@ def debug(depth = 0, &block) # @return [void] def attempt_to_activate debug(depth) { 'Attempting to activate ' + possibility.to_s } - existing_node = activated.vertex_named(name) - if existing_node.payload - debug(depth) { "Found existing spec (#{existing_node.payload})" } - attempt_to_activate_existing_spec(existing_node) + existing_vertex = activated.vertex_named(name) + if existing_vertex.payload + debug(depth) { "Found existing spec (#{existing_vertex.payload})" } + attempt_to_filter_existing_spec(existing_vertex) else - attempt_to_activate_new_spec - end - end - - # Attempts to activate the current {#possibility} (given that it has - # already been activated) - # @return [void] - def attempt_to_activate_existing_spec(existing_node) - existing_spec = existing_node.payload - if requirement_satisfied_by?(requirement, activated, existing_spec) - new_requirements = requirements.dup - push_state_for_requirements(new_requirements, false) - else - return if attempt_to_swap_possibility - create_conflict - debug(depth) { "Unsatisfied by existing spec (#{existing_node.payload})" } - unwind_for_conflict - end - end - - # Attempts to swp the current {#possibility} with the already-activated - # spec with the given name - # @return [Boolean] Whether the possibility was swapped into {#activated} - def attempt_to_swap_possibility - activated.tag(:swap) - vertex = activated.vertex_named(name) - activated.set_payload(name, possibility) - if !vertex.requirements. - all? { |r| requirement_satisfied_by?(r, activated, possibility) } || - !new_spec_satisfied? - activated.rewind_to(:swap) - return - end - fixup_swapped_children(vertex) - activate_spec - end - - # Ensures there are no orphaned successors to the given {vertex}. - # @param [DependencyGraph::Vertex] vertex the vertex to fix up. - # @return [void] - def fixup_swapped_children(vertex) # rubocop:disable Metrics/CyclomaticComplexity - payload = vertex.payload - deps = dependencies_for(payload).group_by(&method(:name_for)) - vertex.outgoing_edges.each do |outgoing_edge| - requirement = outgoing_edge.requirement - parent_index = @parents_of[requirement].last - succ = outgoing_edge.destination - matching_deps = Array(deps[succ.name]) - dep_matched = matching_deps.include?(requirement) - - # only push the current index when it was originally required by the - # same named spec - if parent_index && states[parent_index].name == name - @parents_of[requirement].push(states.size - 1) + latest = possibility.latest_version + possibility.possibilities.select! do |possibility| + requirement_satisfied_by?(requirement, activated, possibility) end - - if matching_deps.empty? && !succ.root? && succ.predecessors.to_a == [vertex] - debug(depth) { "Removing orphaned spec #{succ.name} after swapping #{name}" } - succ.requirements.each { |r| @parents_of.delete(r) } - - removed_names = activated.detach_vertex_named(succ.name).map(&:name) - requirements.delete_if do |r| - # the only removed vertices are those with no other requirements, - # so it's safe to delete only based upon name here - removed_names.include?(name_for(r)) - end - elsif !dep_matched - debug(depth) { "Removing orphaned dependency #{requirement} after swapping #{name}" } - # also reset if we're removing the edge, but only if its parent has - # already been fixed up - @parents_of[requirement].push(states.size - 1) if @parents_of[requirement].empty? - - activated.delete_edge(outgoing_edge) - requirements.delete(requirement) + if possibility.latest_version.nil? + # ensure there's a possibility for better error messages + possibility.possibilities << latest if latest + create_conflict + unwind_for_conflict + else + activate_new_spec end end end - # Attempts to activate the current {#possibility} (given that it hasn't - # already been activated) + # Attempts to update the existing vertex's `PossibilitySet` with a filtered version # @return [void] - def attempt_to_activate_new_spec - if new_spec_satisfied? - activate_spec + def attempt_to_filter_existing_spec(vertex) + filtered_set = filtered_possibility_set(vertex) + if !filtered_set.possibilities.empty? + activated.set_payload(name, filtered_set) + new_requirements = requirements.dup + push_state_for_requirements(new_requirements, false) else create_conflict + debug(depth) { "Unsatisfied by existing spec (#{vertex.payload})" } unwind_for_conflict end end - # @return [Boolean] whether the current spec is satisfied as a new - # possibility. - def new_spec_satisfied? - unless requirement_satisfied_by?(requirement, activated, possibility) - debug(depth) { 'Unsatisfied by requested spec' } - return false - end - - locked_requirement = locked_requirement_named(name) - - locked_spec_satisfied = !locked_requirement || - requirement_satisfied_by?(locked_requirement, activated, possibility) - debug(depth) { 'Unsatisfied by locked spec' } unless locked_spec_satisfied - - locked_spec_satisfied + # Generates a filtered version of the existing vertex's `PossibilitySet` using the + # current state's `requirement` + # @param [Object] vertex existing vertex + # @return [PossibilitySet] filtered possibility set + def filtered_possibility_set(vertex) + PossibilitySet.new(vertex.payload.dependencies, vertex.payload.possibilities & possibility.possibilities) end # @param [String] requirement_name the spec name to search for @@ -434,7 +716,7 @@ def locked_requirement_named(requirement_name) # Add the current {#possibility} to the dependency graph of the current # {#state} # @return [void] - def activate_spec + def activate_new_spec conflicts.delete(name) debug(depth) { "Activated #{name} at #{possibility}" } activated.set_payload(name, possibility) @@ -442,14 +724,14 @@ def activate_spec end # Requires the dependencies that the recently activated spec has - # @param [Object] activated_spec the specification that has just been + # @param [Object] possibility_set the PossibilitySet that has just been # activated # @return [void] - def require_nested_dependencies_for(activated_spec) - nested_dependencies = dependencies_for(activated_spec) + def require_nested_dependencies_for(possibility_set) + nested_dependencies = dependencies_for(possibility_set.latest_version) debug(depth) { "Requiring nested dependencies (#{nested_dependencies.join(', ')})" } nested_dependencies.each do |d| - activated.add_child_vertex(name_for(d), nil, [name_for(activated_spec)], d) + activated.add_child_vertex(name_for(d), nil, [name_for(possibility_set.latest_version)], d) parent_index = states.size - 1 parents = @parents_of[d] parents << parent_index if parents.empty? @@ -461,23 +743,82 @@ def require_nested_dependencies_for(activated_spec) # Pushes a new {DependencyState} that encapsulates both existing and new # requirements # @param [Array] new_requirements + # @param [Boolean] requires_sort + # @param [Object] new_activated # @return [void] def push_state_for_requirements(new_requirements, requires_sort = true, new_activated = activated) new_requirements = sort_dependencies(new_requirements.uniq, new_activated, conflicts) if requires_sort - new_requirement = new_requirements.shift + new_requirement = nil + loop do + new_requirement = new_requirements.shift + break if new_requirement.nil? || states.none? { |s| s.requirement == new_requirement } + end new_name = new_requirement ? name_for(new_requirement) : ''.freeze - possibilities = new_requirement ? search_for(new_requirement) : [] + possibilities = possibilities_for_requirement(new_requirement) handle_missing_or_push_dependency_state DependencyState.new( new_name, new_requirements, new_activated, - new_requirement, possibilities, depth, conflicts.dup + new_requirement, possibilities, depth, conflicts.dup, unused_unwind_options.dup ) end + # Checks a proposed requirement with any existing locked requirement + # before generating an array of possibilities for it. + # @param [Object] requirement the proposed requirement + # @param [Object] activated + # @return [Array] possibilities + def possibilities_for_requirement(requirement, activated = self.activated) + return [] unless requirement + if locked_requirement_named(name_for(requirement)) + return locked_requirement_possibility_set(requirement, activated) + end + + group_possibilities(search_for(requirement)) + end + + # @param [Object] requirement the proposed requirement + # @param [Object] activated + # @return [Array] possibility set containing only the locked requirement, if any + def locked_requirement_possibility_set(requirement, activated = self.activated) + all_possibilities = search_for(requirement) + locked_requirement = locked_requirement_named(name_for(requirement)) + + # Longwinded way to build a possibilities array with either the locked + # requirement or nothing in it. Required, since the API for + # locked_requirement isn't guaranteed. + locked_possibilities = all_possibilities.select do |possibility| + requirement_satisfied_by?(locked_requirement, activated, possibility) + end + + group_possibilities(locked_possibilities) + end + + # Build an array of PossibilitySets, with each element representing a group of + # dependency versions that all have the same sub-dependency version constraints + # and are contiguous. + # @param [Array] possibilities an array of possibilities + # @return [Array] an array of possibility sets + def group_possibilities(possibilities) + possibility_sets = [] + current_possibility_set = nil + + possibilities.reverse_each do |possibility| + dependencies = dependencies_for(possibility) + if current_possibility_set && current_possibility_set.dependencies == dependencies + current_possibility_set.possibilities.unshift(possibility) + else + possibility_sets.unshift(PossibilitySet.new(dependencies, [possibility])) + current_possibility_set = possibility_sets.first + end + end + + possibility_sets + end + # Pushes a new {DependencyState}. # If the {#specification_provider} says to # {SpecificationProvider#allow_missing?} that particular requirement, and # there are no possibilities for that requirement, then `state` is not - # pushed, and the node in {#activated} is removed, and we continue + # pushed, and the vertex in {#activated} is removed, and we continue # resolving the remaining requirements. # @param [DependencyState] state # @return [void] diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb index 5c59a45c3d91..d43121f8ca67 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true -require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph' + +require_relative 'dependency_graph' module Gem::Resolver::Molinillo # This class encapsulates a dependency resolver. @@ -8,7 +9,7 @@ module Gem::Resolver::Molinillo # # class Resolver - require 'rubygems/resolver/molinillo/lib/molinillo/resolution' + require_relative 'resolution' # @return [SpecificationProvider] the specification provider used # in the resolution process diff --git a/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb b/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb index c20de9885454..6e7c715fcedd 100644 --- a/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +++ b/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Gem::Resolver::Molinillo # A state that a {Resolution} can be in # @attr [String] name the name of the current requirement @@ -7,7 +8,8 @@ module Gem::Resolver::Molinillo # @attr [Object] requirement the current requirement # @attr [Object] possibilities the possibilities to satisfy the current requirement # @attr [Integer] depth the depth of the resolution - # @attr [Set] conflicts unresolved conflicts + # @attr [Hash] conflicts unresolved conflicts, indexed by dependency name + # @attr [Array] unused_unwind_options unwinds for previous conflicts that weren't explored ResolutionState = Struct.new( :name, :requirements, @@ -15,14 +17,15 @@ module Gem::Resolver::Molinillo :requirement, :possibilities, :depth, - :conflicts + :conflicts, + :unused_unwind_options ) class ResolutionState # Returns an empty resolution state # @return [ResolutionState] an empty state def self.empty - new(nil, [], DependencyGraph.new, nil, nil, 0, Set.new) + new(nil, [], DependencyGraph.new, nil, nil, 0, {}, []) end end @@ -40,7 +43,8 @@ def pop_possibility_state requirement, [possibilities.pop], depth + 1, - conflicts.dup + conflicts.dup, + unused_unwind_options.dup ).tap do |state| state.activated.tag(state) end diff --git a/lib/rubygems/resolver/specification.rb b/lib/rubygems/resolver/specification.rb index 7fe2afd3bdf1..5ae5f1581363 100644 --- a/lib/rubygems/resolver/specification.rb +++ b/lib/rubygems/resolver/specification.rb @@ -104,7 +104,7 @@ def download(options) # Returns true if this specification is installable on this platform. def installable_platform? - Gem::Platform.match spec.platform + Gem::Platform.match_spec? spec end def local? # :nodoc: diff --git a/lib/rubygems/s3_uri_signer.rb b/lib/rubygems/s3_uri_signer.rb index c0b88842a0c1..f1f9229ca5d9 100644 --- a/lib/rubygems/s3_uri_signer.rb +++ b/lib/rubygems/s3_uri_signer.rb @@ -88,7 +88,7 @@ def generate_string_to_sign(date_time, credential_info, canonical_request) "AWS4-HMAC-SHA256", date_time, credential_info, - Digest::SHA256.hexdigest(canonical_request) + Digest::SHA256.hexdigest(canonical_request), ].join("\n") end diff --git a/lib/rubygems/security.rb b/lib/rubygems/security.rb index bd6d6ff8b9fc..c80639af6d0e 100644 --- a/lib/rubygems/security.rb +++ b/lib/rubygems/security.rb @@ -6,7 +6,6 @@ #++ require 'rubygems/exceptions' -require 'fileutils' require_relative 'openssl' ## @@ -592,7 +591,7 @@ def self.write(pemmable, path, permissions = 0600, passphrase = nil, cipher = KE end -if defined?(OpenSSL::SSL) +if Gem::HAVE_OPENSSL require 'rubygems/security/policy' require 'rubygems/security/policies' require 'rubygems/security/trust_dir' diff --git a/lib/rubygems/security/policy.rb b/lib/rubygems/security/policy.rb index 43abdb6d9135..7629d64796c7 100644 --- a/lib/rubygems/security/policy.rb +++ b/lib/rubygems/security/policy.rb @@ -194,7 +194,7 @@ def inspect # :nodoc: ("[Policy: %s - data: %p signer: %p chain: %p root: %p " + "signed-only: %p trusted-only: %p]") % [ @name, @verify_chain, @verify_data, @verify_root, @verify_signer, - @only_signed, @only_trusted, + @only_signed, @only_trusted ] end diff --git a/lib/rubygems/security/signer.rb b/lib/rubygems/security/signer.rb index 89200f9e38c7..6c85ab08d295 100644 --- a/lib/rubygems/security/signer.rb +++ b/lib/rubygems/security/signer.rb @@ -34,7 +34,7 @@ class Gem::Security::Signer attr_reader :options DEFAULT_OPTIONS = { - expiration_length_days: 365 + expiration_length_days: 365, }.freeze ## diff --git a/lib/rubygems/server.rb b/lib/rubygems/server.rb index 70ae44609a02..a9529f792397 100644 --- a/lib/rubygems/server.rb +++ b/lib/rubygems/server.rb @@ -771,7 +771,7 @@ def show_rdoc_for_pattern(pattern, res) doc_items << { :name => base_name, :url => doc_root(new_path), - :summary => '' + :summary => '', } end diff --git a/lib/rubygems/source.rb b/lib/rubygems/source.rb index ef232ff35d3c..891cc3e64482 100644 --- a/lib/rubygems/source.rb +++ b/lib/rubygems/source.rb @@ -79,7 +79,7 @@ def ==(other) # :nodoc: def dependency_resolver_set # :nodoc: return Gem::Resolver::IndexSet.new self if 'file' == uri.scheme - bundler_api_uri = uri + './api/v1/dependencies' + bundler_api_uri = enforce_trailing_slash(uri) + './api/v1/dependencies' begin fetcher = Gem::RemoteFetcher.fetcher @@ -130,7 +130,7 @@ def fetch_spec(name_tuple) spec_file_name = name_tuple.spec_name - source_uri = uri + "#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}" + source_uri = enforce_trailing_slash(uri) + "#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}" cache_dir = cache_dir source_uri @@ -174,7 +174,7 @@ def load_specs(type) file = FILES[type] fetcher = Gem::RemoteFetcher.fetcher file_name = "#{file}.#{Gem.marshal_version}" - spec_path = uri + "#{file_name}.gz" + spec_path = enforce_trailing_slash(uri) + "#{file_name}.gz" cache_dir = cache_dir spec_path local_file = File.join(cache_dir, file_name) retried = false @@ -223,7 +223,13 @@ def pretty_print(q) # :nodoc: def typo_squatting?(host, distance_threshold=4) return if @uri.host.nil? - levenshtein_distance(@uri.host, host) <= distance_threshold + levenshtein_distance(@uri.host, host).between? 1, distance_threshold + end + + private + + def enforce_trailing_slash(uri) + uri.merge(uri.path.gsub(/\/+$/, '') + '/') end end diff --git a/lib/rubygems/spec_fetcher.rb b/lib/rubygems/spec_fetcher.rb index f748b090ccd4..b2bcadc49cd9 100644 --- a/lib/rubygems/spec_fetcher.rb +++ b/lib/rubygems/spec_fetcher.rb @@ -98,7 +98,7 @@ def search_for_dependency(dependency, matching_platform=true) found[source] = specs.select do |tup| if dependency.match?(tup) - if matching_platform and !Gem::Platform.match(tup.platform) + if matching_platform and !Gem::Platform.match_gem?(tup.platform, tup.name) pm = ( rejected_specs[dependency] ||= \ Gem::PlatformMismatch.new(tup.name, tup.version)) diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index cb7ec2b76d09..d59f57c49f2a 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -77,18 +77,18 @@ class Gem::Specification < Gem::BasicSpecification -1 => ['(RubyGems versions up to and including 0.7 did not have versioned specifications)'], 1 => [ 'Deprecated "test_suite_file" in favor of the new, but equivalent, "test_files"', - '"test_file=x" is a shortcut for "test_files=[x]"' + '"test_file=x" is a shortcut for "test_files=[x]"', ], 2 => [ 'Added "required_rubygems_version"', 'Now forward-compatible with future versions', ], 3 => [ - 'Added Fixnum validation to the specification_version' + 'Added Fixnum validation to the specification_version', ], 4 => [ - 'Added sandboxed freeform metadata to the specification version.' - ] + 'Added sandboxed freeform metadata to the specification version.', + ], }.freeze MARSHAL_FIELDS = { # :nodoc: @@ -804,7 +804,7 @@ def self.stubs stubs = stubs.uniq {|stub| stub.full_name } _resort!(stubs) - @@stubs_by_name = stubs.select {|s| Gem::Platform.match s.platform }.group_by(&:name) + @@stubs_by_name = stubs.select {|s| Gem::Platform.match_spec? s }.group_by(&:name) stubs end end @@ -831,7 +831,7 @@ def self.stubs_for(name) @@stubs_by_name[name] else pattern = "#{name}-*.gemspec" - stubs = installed_stubs(dirs, pattern).select {|s| Gem::Platform.match s.platform } + default_stubs(pattern) + stubs = installed_stubs(dirs, pattern).select {|s| Gem::Platform.match_spec? s } + default_stubs(pattern) stubs = stubs.uniq {|stub| stub.full_name }.group_by(&:name) stubs.each_value {|v| _resort!(v) } @@ -1344,7 +1344,7 @@ def _dump(limit) true, # has_rdoc @new_platform, @licenses, - @metadata + @metadata, ] end @@ -2450,7 +2450,7 @@ def to_ruby :version, :has_rdoc, :default_executable, - :metadata + :metadata, ] @@attributes.each do |attr_name| diff --git a/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem b/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem deleted file mode 100644 index 9e6810ab70cf..000000000000 --- a/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- diff --git a/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem b/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem deleted file mode 100644 index 20585f1c01e1..000000000000 --- a/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- diff --git a/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem b/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem similarity index 100% rename from lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem rename to lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem diff --git a/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem b/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem new file mode 100644 index 000000000000..8afb219058fb --- /dev/null +++ b/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- diff --git a/lib/rubygems/stub_specification.rb b/lib/rubygems/stub_specification.rb index 5d4d761953b4..4246f9de8624 100644 --- a/lib/rubygems/stub_specification.rb +++ b/lib/rubygems/stub_specification.rb @@ -29,7 +29,7 @@ class StubLine # :nodoc: all # in their require paths, so lets take advantage of that by pre-allocating # a require path list for that case. REQUIRE_PATH_LIST = { # :nodoc: - 'lib' => ['lib'].freeze + 'lib' => ['lib'].freeze, }.freeze def initialize(data, extensions) diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index 09b91b6ac6c6..a8261ef5c210 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb @@ -252,14 +252,14 @@ def assert_contains_make_command(target, output, msg = nil) msg = message(msg) do 'Expected output containing make command "%s": %s' % [ ('%s %s' % [make_command, target]).rstrip, - output.inspect + output.inspect, ] end else msg = message(msg) do 'Expected make command "%s": %s' % [ ('%s %s' % [make_command, target]).rstrip, - output.inspect + output.inspect, ] end end @@ -335,6 +335,7 @@ def setup @git = ENV['GIT'] || (win_platform? ? 'git.exe' : 'git') Gem.ensure_gem_subdirectories @gemhome + Gem.ensure_default_gem_subdirectories @gemhome @orig_LOAD_PATH = $LOAD_PATH.dup $LOAD_PATH.map! do |s| @@ -360,26 +361,23 @@ def setup Gem.send :remove_instance_variable, :@ruby_version if Gem.instance_variables.include? :@ruby_version - FileUtils.mkdir_p @gemhome FileUtils.mkdir_p @userhome ENV['GEM_PRIVATE_KEY_PASSPHRASE'] = PRIVATE_KEY_PASSPHRASE - @default_dir = File.join @tempdir, 'default' - @default_spec_dir = File.join @default_dir, "specifications", "default" if Gem.java_platform? @orig_default_gem_home = RbConfig::CONFIG['default_gem_home'] - RbConfig::CONFIG['default_gem_home'] = @default_dir + RbConfig::CONFIG['default_gem_home'] = @gemhome else - Gem.instance_variable_set(:@default_dir, @default_dir) + Gem.instance_variable_set(:@default_dir, @gemhome) end - FileUtils.mkdir_p @default_spec_dir + + @orig_bindir = RbConfig::CONFIG["bindir"] + RbConfig::CONFIG["bindir"] = File.join @gemhome, "bin" Gem::Specification.unresolved_deps.clear Gem.use_paths(@gemhome) - Gem::Security.reset - Gem.loaded_specs.clear Gem.instance_variable_set(:@activated_gem_paths, 0) Gem.clear_default_specs @@ -448,6 +446,8 @@ def teardown Gem.ruby = @orig_ruby if @orig_ruby + RbConfig::CONFIG['bindir'] = @orig_bindir + if Gem.java_platform? RbConfig::CONFIG['default_gem_home'] = @orig_default_gem_home else @@ -741,7 +741,7 @@ def util_clear_gems def install_specs(*specs) specs.each do |spec| - Gem::Installer.for_spec(spec).install + Gem::Installer.for_spec(spec, :force => true).install end Gem.searcher = nil @@ -751,19 +751,6 @@ def install_specs(*specs) # Installs the provided default specs including writing the spec file def install_default_gems(*specs) - install_default_specs(*specs) - - specs.each do |spec| - File.open spec.loaded_from, 'w' do |io| - io.write spec.to_ruby_for_cache - end - end - end - - ## - # Install the provided default specs - - def install_default_specs(*specs) specs.each do |spec| installer = Gem::Installer.for_spec(spec, :install_as_default => true) installer.install @@ -792,7 +779,7 @@ def save_loaded_features def new_default_spec(name, version, deps = nil, *files) spec = util_spec name, version, deps - spec.loaded_from = File.join(@default_spec_dir, spec.spec_name) + spec.loaded_from = File.join(@gemhome, "specifications", "default", spec.spec_name) spec.files = files lib_dir = File.join(@tempdir, "default_gems", "lib") @@ -1517,7 +1504,7 @@ def self.key_path(key_name) PRIVATE_KEY = nil PUBLIC_KEY = nil PUBLIC_CERT = nil - end if defined?(OpenSSL::SSL) + end if Gem::HAVE_OPENSSL end require 'rubygems/test_utilities' diff --git a/lib/rubygems/uri_formatter.rb b/lib/rubygems/uri_formatter.rb index ab5cc78e67ec..3bda896875bc 100644 --- a/lib/rubygems/uri_formatter.rb +++ b/lib/rubygems/uri_formatter.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require 'cgi' ## # The UriFormatter handles URIs from user-input and escaping. @@ -18,6 +17,8 @@ class Gem::UriFormatter # Creates a new URI formatter for +uri+. def initialize(uri) + require 'cgi' + @uri = uri end diff --git a/lib/rubygems/version_option.rb b/lib/rubygems/version_option.rb index 458a7a660142..be71ef409b4b 100644 --- a/lib/rubygems/version_option.rb +++ b/lib/rubygems/version_option.rb @@ -73,4 +73,10 @@ def add_version_option(task = command, *wrap) end end + ## + # Extract platform given on the command line + + def get_platform_from_requirements(requirements) + Gem.platforms[1].to_s if requirements.key? :added_platform + end end diff --git a/rubygems-update.gemspec b/rubygems-update.gemspec index f447a1bbcf2e..3dd79980926a 100644 --- a/rubygems-update.gemspec +++ b/rubygems-update.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = "rubygems-update" - s.version = "3.2.0.rc.2" + s.version = "3.2.0" s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"] s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"] diff --git a/test/rubygems/test_bundled_ca.rb b/test/rubygems/test_bundled_ca.rb index 557298d8d519..6973758c4c27 100644 --- a/test/rubygems/test_bundled_ca.rb +++ b/test/rubygems/test_bundled_ca.rb @@ -3,7 +3,7 @@ require 'net/http' require 'rubygems/openssl' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping bundled certificates tests. openssl not found.' end @@ -46,11 +46,15 @@ def test_accessing_rubygems assert_https('rubygems.org') end - def test_accessing_fastly - assert_https('rubygems.global.ssl.fastly.net') + def test_accessing_www_rubygems + assert_https('www.rubygems.org') + end + + def test_accessing_staging + assert_https('staging.rubygems.org') end def test_accessing_new_index - assert_https('fastly.rubygems.org') + assert_https('index.rubygems.org') end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index cf5c9720b4d3..344b03be9b5f 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -164,7 +164,7 @@ def assert_self_install_permissions(format_executable: false) :prog_mode => win_platform? ? 0410 : 0510, :data_mode => 0640, :wrappers => true, - :format_executable => format_executable + :format_executable => format_executable, } Dir.chdir @tempdir do Dir.mkdir 'bin' @@ -765,7 +765,7 @@ def test_self_find_files_with_gemfile expected = [ File.expand_path('test/rubygems/sff/discover.rb', PROJECT_DIR), - File.join(foo1.full_gem_path, discover_path) + File.join(foo1.full_gem_path, discover_path), ].sort assert_equal expected, Gem.find_files('sff/discover').sort @@ -1532,7 +1532,7 @@ def test_gem_path_ordering tests = [ [:dir0, [ Gem.dir, Gem.user_dir], m0], - [:dir1, [ Gem.user_dir, Gem.dir], m1] + [:dir1, [ Gem.user_dir, Gem.dir], m1], ] tests.each do |_name, _paths, expected| diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb index 24c60473f2d4..fe537780be4b 100644 --- a/test/rubygems/test_gem_commands_build_command.rb +++ b/test/rubygems/test_gem_commands_build_command.rb @@ -231,7 +231,7 @@ def test_execute_missing_file end assert_equal '', @ui.output - assert_equal "ERROR: Gemspec file not found: some_gem.gemspec\n", @ui.error + assert_equal "ERROR: Couldn't find a gemspec file matching 'some_gem' in #{@tempdir}\n", @ui.error end def test_execute_outside_dir @@ -272,8 +272,200 @@ def test_execute_outside_dir assert_equal "this is a summary", spec.summary end + def test_execute_outside_dir_with_glob_argument + gemspec_dir = File.join @tempdir, 'build_command_gem' + gemspec_file = File.join gemspec_dir, @gem.spec_name + readme_file = File.join gemspec_dir, 'README.md' + + FileUtils.mkdir_p gemspec_dir + + File.open readme_file, 'w' do |f| + f.write "My awesome gem" + end + + File.open gemspec_file, 'w' do |gs| + gs.write @gem.to_ruby + end + + @cmd.options[:build_path] = gemspec_dir + @cmd.options[:args] = ["*.gemspec"] + + use_ui @ui do + @cmd.execute + end + + output = @ui.output.split "\n" + assert_equal " Successfully built RubyGem", output.shift + assert_equal " Name: some_gem", output.shift + assert_equal " Version: 2", output.shift + assert_equal " File: some_gem-2.gem", output.shift + assert_equal [], output + + gem_file = File.join gemspec_dir, File.basename(@gem.cache_file) + assert File.exist?(gem_file) + + spec = Gem::Package.new(gem_file).spec + + assert_equal "some_gem", spec.name + assert_equal "this is a summary", spec.summary + end + + def test_execute_outside_dir_no_gemspec_present + gemspec_dir = File.join @tempdir, 'build_command_gem' + gemspec_file = File.join @tempdir, @gem.spec_name + readme_file = File.join gemspec_dir, 'README.md' + + FileUtils.mkdir_p gemspec_dir + + File.open readme_file, 'w' do |f| + f.write "My awesome gem" + end + + File.open gemspec_file, 'w' do |gs| + gs.write @gem.to_ruby + end + + @cmd.options[:build_path] = gemspec_dir + @cmd.options[:args] = ["*.gemspec"] + + use_ui @ui do + assert_raises Gem::MockGemUi::TermError do + @cmd.execute + end + end + + assert_equal "", @ui.output + assert_equal "ERROR: Couldn't find a gemspec file matching '*.gemspec' in #{gemspec_dir}\n", @ui.error + + gem_file = File.join gemspec_dir, File.basename(@gem.cache_file) + refute File.exist?(gem_file) + end + + def test_execute_outside_dir_without_gem_name + gemspec_dir = File.join(@tempdir, 'build_command_gem') + gemspec_file = File.join(gemspec_dir, @gem.spec_name) + + readme_file = File.join gemspec_dir, 'README.md' + + FileUtils.mkdir_p(gemspec_dir) + + File.open readme_file, 'w' do |f| + f.write "My awesome gem" + end + + File.open(gemspec_file, "w") do |gs| + gs.write(@gem.to_ruby) + end + + @cmd.options[:build_path] = gemspec_dir + @cmd.options[:args] = [] + + use_ui @ui do + Dir.chdir(gemspec_dir) do + @cmd.execute + end + end + + output = @ui.output.split("\n") + assert_equal " Successfully built RubyGem", output.shift + assert_equal " Name: some_gem", output.shift + assert_equal " Version: 2", output.shift + assert_equal " File: some_gem-2.gem", output.shift + assert_equal [], output + + gem_file = File.join gemspec_dir, File.basename(@gem.cache_file) + assert File.exist?(gem_file) + + spec = Gem::Package.new(gem_file).spec + + assert_equal "some_gem", spec.name + assert_equal "this is a summary", spec.summary + end + + def test_execute_outside_dir_with_external_gemspec + gemspec_dir = File.join @tempdir, 'gemspec_dir' + gemspec_file = File.join gemspec_dir, @gem.spec_name + + gemcode_dir = File.join @tempdir, 'build_command_gem' + readme_file = File.join gemcode_dir, 'README.md' + + FileUtils.mkdir_p gemspec_dir + FileUtils.mkdir_p gemcode_dir + + File.open readme_file, 'w' do |f| + f.write "My awesome gem in nested directory" + end + + File.open gemspec_file, 'w' do |gs| + gs.write @gem.to_ruby + end + + @cmd.options[:build_path] = gemcode_dir + @cmd.options[:args] = [gemspec_file] + + use_ui @ui do + @cmd.execute + end + + output = @ui.output.split "\n" + assert_equal " Successfully built RubyGem", output.shift + assert_equal " Name: some_gem", output.shift + assert_equal " Version: 2", output.shift + assert_equal " File: some_gem-2.gem", output.shift + assert_equal [], output + + gem_file = File.join gemcode_dir, File.basename(@gem.cache_file) + assert File.exist?(gem_file) + + spec = Gem::Package.new(gem_file).spec + + assert_equal "some_gem", spec.name + assert_equal "this is a summary", spec.summary + end + + def test_execute_outside_dir_with_external_relative_gemspec + gemspec_dir = File.join @tempdir, 'gemspec_dir' + gemspec_file = File.join gemspec_dir, @gem.spec_name + + gemcode_dir = File.join @tempdir, 'build_command_gem' + readme_file = File.join gemcode_dir, 'README.md' + + FileUtils.mkdir_p gemspec_dir + FileUtils.mkdir_p gemcode_dir + + File.open readme_file, 'w' do |f| + f.write "My awesome gem in nested directory" + end + + File.open gemspec_file, 'w' do |gs| + gs.write @gem.to_ruby + end + + @cmd.options[:build_path] = gemcode_dir + @cmd.options[:args] = [File.join("..", "gemspec_dir", @gem.spec_name)] + + use_ui @ui do + @cmd.execute + end + + output = @ui.output.split "\n" + assert_equal " Successfully built RubyGem", output.shift + assert_equal " Name: some_gem", output.shift + assert_equal " Version: 2", output.shift + assert_equal " File: some_gem-2.gem", output.shift + assert_equal [], output + + gem_file = File.join gemcode_dir, File.basename(@gem.cache_file) + assert File.exist?(gem_file) + + spec = Gem::Package.new(gem_file).spec + + assert_equal "some_gem", spec.name + assert_equal "this is a summary", spec.summary + end + def test_can_find_gemspecs_without_dot_gemspec - gemspec_file = File.join(@tempdir, @gem.spec_name) + gemspec_file = File.join(@tempdir, @gem.name) File.open gemspec_file + ".gemspec", 'w' do |gs| gs.write @gem.to_ruby @@ -390,7 +582,7 @@ def test_execute_force end def test_build_signed_gem - skip 'openssl is missing' unless defined?(OpenSSL::SSL) && !java_platform? + skip 'openssl is missing' unless Gem::HAVE_OPENSSL && !java_platform? trust_dir = Gem::Security.trust_dir @@ -417,7 +609,7 @@ def test_build_signed_gem end def test_build_signed_gem_with_cert_expiration_length_days - skip 'openssl is missing' unless defined?(OpenSSL::SSL) && !java_platform? + skip 'openssl is missing' unless Gem::HAVE_OPENSSL && !java_platform? gem_path = File.join Gem.user_home, ".gem" Dir.mkdir gem_path @@ -461,7 +653,7 @@ def test_build_signed_gem_with_cert_expiration_length_days end def test_build_auto_resign_cert - skip 'openssl is missing' unless defined?(OpenSSL::SSL) && !java_platform? + skip 'openssl is missing' unless Gem::HAVE_OPENSSL && !java_platform? gem_path = File.join Gem.user_home, ".gem" Dir.mkdir gem_path diff --git a/test/rubygems/test_gem_commands_cert_command.rb b/test/rubygems/test_gem_commands_cert_command.rb index c4693b07cf5a..19867bf37aca 100644 --- a/test/rubygems/test_gem_commands_cert_command.rb +++ b/test/rubygems/test_gem_commands_cert_command.rb @@ -2,7 +2,7 @@ require 'rubygems/test_case' require 'rubygems/commands/cert_command' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping `gem cert` tests. openssl not found.' end @@ -805,4 +805,4 @@ def test_handle_options_sign_nonexistent assert_equal "invalid argument: --sign #{nonexistent}: does not exist", e.message end -end if defined?(OpenSSL::SSL) && !Gem.java_platform? +end if Gem::HAVE_OPENSSL && !Gem.java_platform? diff --git a/test/rubygems/test_gem_commands_cleanup_command.rb b/test/rubygems/test_gem_commands_cleanup_command.rb index 81f9a24db5e1..d937a5e549b4 100644 --- a/test/rubygems/test_gem_commands_cleanup_command.rb +++ b/test/rubygems/test_gem_commands_cleanup_command.rb @@ -221,7 +221,7 @@ def test_execute_ignore_default_gem_verbose @b_2 = util_spec 'b', 3 install_gem @b_1 - install_default_specs @b_default + install_default_gems @b_default install_gem @b_2 @cmd.options[:args] = [] diff --git a/test/rubygems/test_gem_commands_contents_command.rb b/test/rubygems/test_gem_commands_contents_command.rb index 07b0e0f34097..7c89c67dd49c 100644 --- a/test/rubygems/test_gem_commands_contents_command.rb +++ b/test/rubygems/test_gem_commands_contents_command.rb @@ -227,7 +227,7 @@ def test_execute_default_gem nil, "default/gem.rb") default_gem_spec.executables = ["default_command"] default_gem_spec.files += ["default_gem.so"] - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) @cmd.options[:args] = %w[default] @@ -238,7 +238,7 @@ def test_execute_default_gem expected = [ [RbConfig::CONFIG['bindir'], 'default_command'], [RbConfig::CONFIG['rubylibdir'], 'default/gem.rb'], - [RbConfig::CONFIG['archdir'], 'default_gem.so'] + [RbConfig::CONFIG['archdir'], 'default_gem.so'], ].sort.map{|a|File.join a }.join "\n" assert_equal expected, @ui.output.chomp diff --git a/test/rubygems/test_gem_commands_help_command.rb b/test/rubygems/test_gem_commands_help_command.rb index 26e22d79bed7..8d20563a6048 100644 --- a/test/rubygems/test_gem_commands_help_command.rb +++ b/test/rubygems/test_gem_commands_help_command.rb @@ -40,10 +40,12 @@ def test_gem_help_commands util_gem 'commands' do |out, err| mgr.command_names.each do |cmd| - assert_match(/\s+#{cmd}\s+\S+/, out) + unless mgr[cmd].deprecated? + assert_match(/\s+#{cmd}\s+\S+/, out) + end end - if defined?(OpenSSL::SSL) + if Gem::HAVE_OPENSSL assert_empty err refute_match 'No command found for ', out @@ -51,6 +53,17 @@ def test_gem_help_commands end end + def test_gem_help_commands_omits_deprecated_commands + mgr = Gem::CommandManager.new + + util_gem 'commands' do |out, err| + deprecated_commands = mgr.command_names.select {|cmd| mgr[cmd].deprecated? } + deprecated_commands.each do |cmd| + refute_match(/\A\s+#{cmd}\s+\S+\z/, out) + end + end + end + def test_gem_no_args_shows_help util_gem do |out, err| assert_match(/Usage:/, out) diff --git a/test/rubygems/test_gem_commands_install_command.rb b/test/rubygems/test_gem_commands_install_command.rb index ccaa4ec2dc01..08530bfecaa8 100644 --- a/test/rubygems/test_gem_commands_install_command.rb +++ b/test/rubygems/test_gem_commands_install_command.rb @@ -410,7 +410,7 @@ def test_execute_nonexistent_with_dashes expected = [ "ERROR: Could not find a valid gem 'non-existent_with-hint' (>= 0) in any repository", - "ERROR: Possible alternatives: nonexistent-with_hint" + "ERROR: Possible alternatives: nonexistent-with_hint", ] output = @ui.error.split "\n" diff --git a/test/rubygems/test_gem_commands_owner_command.rb b/test/rubygems/test_gem_commands_owner_command.rb index 1602ae6839b9..4280fedff3e3 100644 --- a/test/rubygems/test_gem_commands_owner_command.rb +++ b/test/rubygems/test_gem_commands_owner_command.rb @@ -247,7 +247,7 @@ def test_otp_verified_success @stub_fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners"] = [ [response_fail, 401, 'Unauthorized'], - [response_success, 200, 'OK'] + [response_success, 200, 'OK'], ] @otp_ui = Gem::MockGemUi.new "111111\n" @@ -275,4 +275,52 @@ def test_otp_verified_failure assert_match 'Code: ', @otp_ui.output assert_equal '111111', @stub_fetcher.last_request['OTP'] end + + def test_remove_owners_unathorized_api_key + response_forbidden = "The API key doesn't have access" + response_success = "Owner removed successfully." + + @stub_fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners"] = [ + [response_forbidden, 403, 'Forbidden'], + [response_success, 200, "OK"], + ] + @stub_fetcher.data["#{Gem.host}/api/v1/api_key"] = ["", 200, "OK"] + @cmd.instance_variable_set :@scope, :remove_owner + + @stub_ui = Gem::MockGemUi.new "some@mail.com\npass\n" + use_ui @stub_ui do + @cmd.remove_owners("freewill", ["some@example"]) + end + + access_notice = "The existing key doesn't have access of remove_owner on RubyGems.org. Please sign in to update access." + assert_match access_notice, @stub_ui.output + assert_match "Email:", @stub_ui.output + assert_match "Password:", @stub_ui.output + assert_match "Added remove_owner scope to the existing API key", @stub_ui.output + assert_match response_success, @stub_ui.output + end + + def test_add_owners_unathorized_api_key + response_forbidden = "The API key doesn't have access" + response_success = "Owner added successfully." + + @stub_fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners"] = [ + [response_forbidden, 403, 'Forbidden'], + [response_success, 200, "OK"], + ] + @stub_fetcher.data["#{Gem.host}/api/v1/api_key"] = ["", 200, "OK"] + @cmd.instance_variable_set :@scope, :add_owner + + @stub_ui = Gem::MockGemUi.new "some@mail.com\npass\n" + use_ui @stub_ui do + @cmd.add_owners("freewill", ["some@example"]) + end + + access_notice = "The existing key doesn't have access of add_owner on RubyGems.org. Please sign in to update access." + assert_match access_notice, @stub_ui.output + assert_match "Email:", @stub_ui.output + assert_match "Password:", @stub_ui.output + assert_match "Added add_owner scope to the existing API key", @stub_ui.output + assert_match response_success, @stub_ui.output + end end diff --git a/test/rubygems/test_gem_commands_pristine_command.rb b/test/rubygems/test_gem_commands_pristine_command.rb index 75243e5fa25d..59f34af249af 100644 --- a/test/rubygems/test_gem_commands_pristine_command.rb +++ b/test/rubygems/test_gem_commands_pristine_command.rb @@ -568,7 +568,7 @@ def test_execute_unknown_gem_at_remote_source assert_equal([ "Restoring gems to pristine condition...", "Cached gem for a-2 not found, attempting to fetch...", - "Skipped a-2, it was not found from cache and remote sources" + "Skipped a-2, it was not found from cache and remote sources", ], @ui.output.split("\n")) assert_empty @ui.error @@ -577,7 +577,7 @@ def test_execute_unknown_gem_at_remote_source def test_execute_default_gem default_gem_spec = new_default_spec("default", "2.0.0.0", nil, "default/gem.rb") - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) @cmd.options[:args] = %w[default] diff --git a/test/rubygems/test_gem_commands_push_command.rb b/test/rubygems/test_gem_commands_push_command.rb index c23760a8ca90..68681af22fa7 100644 --- a/test/rubygems/test_gem_commands_push_command.rb +++ b/test/rubygems/test_gem_commands_push_command.rb @@ -152,7 +152,7 @@ def test_sending_gem_to_metadata_host keys = { :rubygems_api_key => 'KEY', - @host => @api_key + @host => @api_key, } FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path @@ -187,7 +187,7 @@ def test_sending_gem_to_allowed_push_host keys = { :rubygems_api_key => 'KEY', - @host => @api_key + @host => @api_key, } FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path @@ -271,7 +271,7 @@ def test_sending_gem_to_disallowed_push_host keys = { :rubygems_api_key => 'KEY', - @host => @api_key + @host => @api_key, } FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path @@ -302,7 +302,7 @@ def test_sending_gem_defaulting_to_allowed_push_host api_key = "PRIVKEY" keys = { - host => api_key + host => api_key, } FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path @@ -373,7 +373,7 @@ def test_otp_verified_success @fetcher.data["#{Gem.host}/api/v1/gems"] = [ [response_fail, 401, 'Unauthorized'], - [response_success, 200, 'OK'] + [response_success, 200, 'OK'], ] @otp_ui = Gem::MockGemUi.new "111111\n" @@ -404,6 +404,32 @@ def test_otp_verified_failure assert_equal '111111', @fetcher.last_request['OTP'] end + def test_sending_gem_unathorized_api_key + response_forbidden = "The API key doesn't have access" + response_success = 'Successfully registered gem: freewill (1.0.0)' + + @fetcher.data["#{@host}/api/v1/gems"] = [ + [response_forbidden, 403, 'Forbidden'], + [response_success, 200, "OK"], + ] + + @fetcher.data["#{@host}/api/v1/api_key"] = ["", 200, "OK"] + @cmd.instance_variable_set :@host, @host + @cmd.instance_variable_set :@scope, :push_rubygem + + @ui = Gem::MockGemUi.new "some@mail.com\npass\n" + use_ui @ui do + @cmd.send_gem(@path) + end + + access_notice = "The existing key doesn't have access of push_rubygem on https://rubygems.example. Please sign in to update access." + assert_match access_notice, @ui.output + assert_match "Email:", @ui.output + assert_match "Password:", @ui.output + assert_match "Added push_rubygem scope to the existing API key", @ui.output + assert_match response_success, @ui.output + end + private def singleton_gem_class diff --git a/test/rubygems/test_gem_commands_query_command.rb b/test/rubygems/test_gem_commands_query_command.rb index f2f70a10ff48..a21bc690fbd7 100644 --- a/test/rubygems/test_gem_commands_query_command.rb +++ b/test/rubygems/test_gem_commands_query_command.rb @@ -644,7 +644,7 @@ def test_execute_show_default_gems spec_fetcher {|fetcher| fetcher.spec 'a', 2 } a1 = new_default_spec 'a', 1 - install_default_specs a1 + install_default_gems a1 use_ui @stub_ui do @cmd.execute @@ -663,7 +663,7 @@ def test_execute_show_default_gems def test_execute_show_default_gems_with_platform a1 = new_default_spec 'a', 1 a1.platform = 'java' - install_default_specs a1 + install_default_gems a1 use_ui @stub_ui do @cmd.execute @@ -685,7 +685,7 @@ def test_execute_default_details end a1 = new_default_spec 'a', 1 - install_default_specs a1 + install_default_gems a1 @cmd.handle_options %w[-l -d] diff --git a/test/rubygems/test_gem_commands_setup_command.rb b/test/rubygems/test_gem_commands_setup_command.rb index 9b6aa87861bd..afdc5d09798c 100644 --- a/test/rubygems/test_gem_commands_setup_command.rb +++ b/test/rubygems/test_gem_commands_setup_command.rb @@ -26,12 +26,12 @@ def setup bundler/exe/bundle bundler/lib/bundler.rb bundler/lib/bundler/b.rb + bundler/lib/bundler/man/bundle-b.1.ronn + bundler/lib/bundler/man/gemfile.5.ronn bundler/lib/bundler/templates/.circleci/config.yml bundler/lib/bundler/templates/.travis.yml bundler/man/bundle-b.1 - bundler/man/bundle-b.1.ronn bundler/man/gemfile.5 - bundler/man/gemfile.5.ronn ] create_dummy_files(filelist) @@ -155,23 +155,18 @@ def test_env_shebang_flag assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(gem_bin_path) end - def test_pem_files_in - assert_equal %w[rubygems/ssl_certs/rubygems.org/foo.pem], - @cmd.pem_files_in('lib').sort - end - - def test_rb_files_in - assert_equal %w[rubygems.rb rubygems/test_case.rb], - @cmd.rb_files_in('lib').sort + def test_files_in + assert_equal %w[rubygems.rb rubygems/ssl_certs/rubygems.org/foo.pem rubygems/test_case.rb], + @cmd.files_in('lib').sort end def test_bundler_man1_files_in - assert_equal %w[bundle-b.1 bundle-b.1.ronn], + assert_equal %w[bundle-b.1], @cmd.bundler_man1_files_in('bundler/man').sort end def test_bundler_man5_files_in - assert_equal %w[gemfile.5 gemfile.5.ronn], + assert_equal %w[gemfile.5], @cmd.bundler_man5_files_in('bundler/man').sort end @@ -187,7 +182,7 @@ def test_install_lib assert_path_exists File.join(dir, 'bundler.rb') assert_path_exists File.join(dir, 'bundler/b.rb') - assert_path_exists File.join(dir, 'bundler/templates/.circleci/config.yml') + assert_path_exists File.join(dir, 'bundler/templates/.circleci/config.yml') unless RUBY_ENGINE == "truffleruby" # https://github.com/oracle/truffleruby/issues/2116 assert_path_exists File.join(dir, 'bundler/templates/.travis.yml') end end @@ -199,9 +194,9 @@ def test_install_man @cmd.install_man dir assert_path_exists File.join("#{dir}/man1", 'bundle-b.1') - assert_path_exists File.join("#{dir}/man1", 'bundle-b.1.ronn') + refute_path_exists File.join("#{dir}/man1", 'bundle-b.1.ronn') assert_path_exists File.join("#{dir}/man5", 'gemfile.5') - assert_path_exists File.join("#{dir}/man5", 'gemfile.5.ronn') + refute_path_exists File.join("#{dir}/man5", 'gemfile.5.ronn') end end @@ -297,7 +292,7 @@ def test_remove_old_lib_files @cmd.remove_old_lib_files lib - files_that_go.each {|file| refute_path_exists file } + files_that_go.each {|file| refute_path_exists(file) unless file == old_bundler_ci && RUBY_ENGINE == "truffleruby" } # https://github.com/oracle/truffleruby/issues/2116 files_that_stay.each {|file| assert_path_exists file } end @@ -313,8 +308,8 @@ def test_remove_old_man_files gemfile_5_ronn = File.join man, 'man5', 'gemfile.5.ronn' gemfile_5_txt = File.join man, 'man5', 'gemfile.5.txt' - files_that_go = [bundle_b_1_txt, gemfile_5_txt] - files_that_stay = [ruby_1, bundle_b_1, bundle_b_1_ronn, gemfile_5, gemfile_5_ronn] + files_that_go = [bundle_b_1_txt, bundle_b_1_ronn, gemfile_5_txt, gemfile_5_ronn] + files_that_stay = [ruby_1, bundle_b_1, gemfile_5] create_dummy_files(files_that_go + files_that_stay) diff --git a/test/rubygems/test_gem_commands_signin_command.rb b/test/rubygems/test_gem_commands_signin_command.rb index 21d19fffc9d9..f8262466b125 100644 --- a/test/rubygems/test_gem_commands_signin_command.rb +++ b/test/rubygems/test_gem_commands_signin_command.rb @@ -73,14 +73,38 @@ def test_execute_with_valid_creds_set_for_default_host assert_equal api_key, credentials[:rubygems_api_key] end + def test_excute_with_key_name_and_scope + email = 'you@example.com' + password = 'secret' + api_key = '1234' + fetcher = Gem::RemoteFetcher.fetcher + + key_name_ui = Gem::MockGemUi.new "#{email}\n#{password}\ntest-key\n\ny\n\n\n\n\n\n" + util_capture(key_name_ui, nil, api_key, fetcher) { @cmd.execute } + + user = ENV["USER"] || ENV["USERNAME"] + + assert_match "API Key name [#{Socket.gethostname}-#{user}", key_name_ui.output + assert_match "index_rubygems [y/N]", key_name_ui.output + assert_match "push_rubygem [y/N]", key_name_ui.output + assert_match "yank_rubygem [y/N]", key_name_ui.output + assert_match "add_owner [y/N]", key_name_ui.output + assert_match "remove_owner [y/N]", key_name_ui.output + assert_match "access_webhooks [y/N]", key_name_ui.output + assert_match "show_dashboard [y/N]", key_name_ui.output + assert_equal "name=test-key&push_rubygem=true", fetcher.last_request.body + + credentials = YAML.load_file Gem.configuration.credentials_path + assert_equal api_key, credentials[:rubygems_api_key] + end + # Utility method to capture IO/UI within the block passed - def util_capture(ui_stub = nil, host = nil, api_key = nil) + def util_capture(ui_stub = nil, host = nil, api_key = nil, fetcher = Gem::FakeFetcher.new) api_key ||= 'a5fdbb6ba150cbb83aad2bb2fede64cf040453903' response = [api_key, 200, 'OK'] email = 'you@example.com' password = 'secret' - fetcher = Gem::FakeFetcher.new # Set the expected response for the Web-API supplied ENV['RUBYGEMS_HOST'] = host || Gem::DEFAULT_HOST @@ -88,7 +112,7 @@ def util_capture(ui_stub = nil, host = nil, api_key = nil) fetcher.data[data_key] = response Gem::RemoteFetcher.fetcher = fetcher - sign_in_ui = ui_stub || Gem::MockGemUi.new("#{email}\n#{password}\n") + sign_in_ui = ui_stub || Gem::MockGemUi.new("#{email}\n#{password}\n\n\n\n\n\n\n\n\n") use_ui sign_in_ui do yield diff --git a/test/rubygems/test_gem_commands_sources_command.rb b/test/rubygems/test_gem_commands_sources_command.rb index ff00b9aa23e7..59acfb1ed6a0 100644 --- a/test/rubygems/test_gem_commands_sources_command.rb +++ b/test/rubygems/test_gem_commands_sources_command.rb @@ -107,6 +107,36 @@ def test_execute_add_allow_typo_squatting_source assert_empty ui.error end + def test_execute_add_allow_typo_squatting_source_forced + rubygems_org = "https://rubyems.org" + + spec_fetcher do |fetcher| + fetcher.spec("a", 1) + end + + specs = Gem::Specification.map do |spec| + [spec.name, spec.version, spec.original_platform] + end + + specs_dump_gz = StringIO.new + Zlib::GzipWriter.wrap(specs_dump_gz) do |io| + Marshal.dump(specs, io) + end + + @fetcher.data["#{rubygems_org}/specs.#{@marshal_version}.gz"] = specs_dump_gz.string + @cmd.handle_options %W[--force --add #{rubygems_org}] + + @cmd.execute + + expected = "https://rubyems.org added to sources\n" + assert_equal expected, ui.output + + source = Gem::Source.new(rubygems_org) + assert Gem.sources.include?(source) + + assert_empty ui.error + end + def test_execute_add_deny_typo_squatting_source rubygems_org = "https://rubyems.org" @@ -283,6 +313,36 @@ def test_execute_add_http_rubygems_org assert_empty @ui.error end + def test_execute_add_http_rubygems_org_forced + rubygems_org = "http://rubygems.org" + + spec_fetcher do |fetcher| + fetcher.spec("a", 1) + end + + specs = Gem::Specification.map do |spec| + [spec.name, spec.version, spec.original_platform] + end + + specs_dump_gz = StringIO.new + Zlib::GzipWriter.wrap(specs_dump_gz) do |io| + Marshal.dump(specs, io) + end + + @fetcher.data["#{rubygems_org}/specs.#{@marshal_version}.gz"] = specs_dump_gz.string + @cmd.handle_options %W[--force --add #{rubygems_org}] + + @cmd.execute + + expected = "http://rubygems.org added to sources\n" + assert_equal expected, ui.output + + source = Gem::Source.new(rubygems_org) + assert Gem.sources.include?(source) + + assert_empty ui.error + end + def test_execute_add_https_rubygems_org https_rubygems_org = 'https://rubygems.org/' diff --git a/test/rubygems/test_gem_commands_specification_command.rb b/test/rubygems/test_gem_commands_specification_command.rb index e055246cdc70..732278eb6f9e 100644 --- a/test/rubygems/test_gem_commands_specification_command.rb +++ b/test/rubygems/test_gem_commands_specification_command.rb @@ -186,6 +186,34 @@ def test_execute_remote_with_version assert_equal Gem::Version.new("1"), spec.version end + def test_execute_remote_with_version_and_platform + original_platforms = Gem.platforms.dup + + spec_fetcher do |fetcher| + fetcher.spec 'foo', "1" + fetcher.spec 'foo', "1" do |s| + s.platform = 'x86_64-linux' + end + end + + @cmd.options[:args] = %w[foo] + @cmd.options[:version] = "1" + @cmd.options[:domain] = :remote + @cmd.options[:added_platform] = true + Gem.platforms = [Gem::Platform::RUBY, Gem::Platform.new("x86_64-linux")] + + use_ui @ui do + @cmd.execute + end + + spec = Gem::Specification.from_yaml @ui.output + + assert_equal Gem::Version.new("1"), spec.version + assert_equal Gem::Platform.new("x86_64-linux"), spec.platform + ensure + Gem.platforms = original_platforms + end + def test_execute_remote_without_prerelease spec_fetcher do |fetcher| fetcher.spec 'foo', '2.0.0' diff --git a/test/rubygems/test_gem_commands_update_command.rb b/test/rubygems/test_gem_commands_update_command.rb index cacde06fd589..749e9bee203f 100644 --- a/test/rubygems/test_gem_commands_update_command.rb +++ b/test/rubygems/test_gem_commands_update_command.rb @@ -198,13 +198,13 @@ def test_execute_system_specific_older_than_3_2_removes_plugins_dir def test_execute_system_specific_newer_than_or_equal_to_3_2_leaves_plugins_dir_alone spec_fetcher do |fetcher| - fetcher.download 'rubygems-update', 3.2 do |s| + fetcher.download 'rubygems-update', "3.2.a" do |s| s.files = %w[setup.rb] end end @cmd.options[:args] = [] - @cmd.options[:system] = "3.2" + @cmd.options[:system] = "3.2.a" FileUtils.mkdir_p Gem.plugindir plugin_file = File.join(Gem.plugindir, 'a_plugin.rb') diff --git a/test/rubygems/test_gem_commands_yank_command.rb b/test/rubygems/test_gem_commands_yank_command.rb index 8e453dfabffd..3046655aa85d 100644 --- a/test/rubygems/test_gem_commands_yank_command.rb +++ b/test/rubygems/test_gem_commands_yank_command.rb @@ -70,7 +70,7 @@ def test_execute_with_otp_success yank_uri = 'http://example/api/v1/gems/yank' @fetcher.data[yank_uri] = [ [response_fail, 401, 'Unauthorized'], - ['Successfully yanked', 200, 'OK'] + ['Successfully yanked', 200, 'OK'], ] @cmd.options[:args] = %w[a] @@ -147,4 +147,34 @@ def test_execute_host assert_equal 'key', @fetcher.last_request['Authorization'] assert_equal [yank_uri], @fetcher.paths end + + def test_yank_gem_unathorized_api_key + response_forbidden = "The API key doesn't have access" + response_success = 'Successfully yanked' + host = 'http://example' + + @fetcher.data["#{host}/api/v1/gems/yank"] = [ + [response_forbidden, 403, 'Forbidden'], + [response_success, 200, "OK"], + ] + + @fetcher.data["#{host}/api/v1/api_key"] = ["", 200, "OK"] + @cmd.options[:args] = %w[a] + @cmd.options[:added_platform] = true + @cmd.options[:version] = req('= 1.0') + @cmd.instance_variable_set :@host, host + @cmd.instance_variable_set :@scope, :yank_rubygem + + @ui = Gem::MockGemUi.new "some@mail.com\npass\n" + use_ui @ui do + @cmd.execute + end + + access_notice = "The existing key doesn't have access of yank_rubygem on http://example. Please sign in to update access." + assert_match access_notice, @ui.output + assert_match "Email:", @ui.output + assert_match "Password:", @ui.output + assert_match "Added yank_rubygem scope to the existing API key", @ui.output + assert_match response_success, @ui.output + end end diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb index 803b95e88c10..fe8a74c75079 100644 --- a/test/rubygems/test_gem_dependency_installer.rb +++ b/test/rubygems/test_gem_dependency_installer.rb @@ -528,6 +528,40 @@ def test_install_minimal_deps assert_equal %w[a-1 e-1], inst.installed_gems.map {|s| s.full_name } end + def test_install_no_minimal_deps + util_setup_gems + + _, e1_gem = util_gem 'e', '1' do |s| + s.add_dependency 'b' + end + + _, b2_gem = util_gem 'b', '2' do |s| + s.add_dependency 'a' + end + + FileUtils.mv @a1_gem, @tempdir + FileUtils.mv @b1_gem, @tempdir + FileUtils.mv b2_gem, @tempdir + FileUtils.mv e1_gem, @tempdir + + inst = nil + + Dir.chdir @tempdir do + inst = Gem::DependencyInstaller.new :ignore_dependencies => true + inst.install 'b', req('= 1') + end + + assert_equal %w[b-1], inst.installed_gems.map {|s| s.full_name }, + 'sanity check' + + Dir.chdir @tempdir do + inst = Gem::DependencyInstaller.new :minimal_deps => false + inst.install 'e' + end + + assert_equal %w[a-1 b-2 e-1], inst.installed_gems.map {|s| s.full_name } + end + def test_install_no_document util_setup_gems @@ -749,7 +783,7 @@ def test_install_reinstall inst = nil Dir.chdir @tempdir do - inst = Gem::DependencyInstaller.new + inst = Gem::DependencyInstaller.new :force => true inst.install 'a' end @@ -842,7 +876,7 @@ def test_install_platform_is_ignored_when_a_file_is_specified require 'rubygems/openssl' - if defined? OpenSSL + if Gem::HAVE_OPENSSL def test_install_security_policy util_setup_gems diff --git a/test/rubygems/test_gem_dependency_list.rb b/test/rubygems/test_gem_dependency_list.rb index d8ef3d4f0e21..097e680596c1 100644 --- a/test/rubygems/test_gem_dependency_list.rb +++ b/test/rubygems/test_gem_dependency_list.rb @@ -139,8 +139,8 @@ def test_why_not_ok_eh exp = { "b" => [ - Gem::Dependency.new("a", ">= 1") - ] + Gem::Dependency.new("a", ">= 1"), + ], } assert_equal exp, @deplist.why_not_ok? diff --git a/test/rubygems/test_gem_ext_builder.rb b/test/rubygems/test_gem_ext_builder.rb index abd33d237a64..6e6bf89f9c1c 100644 --- a/test/rubygems/test_gem_ext_builder.rb +++ b/test/rubygems/test_gem_ext_builder.rb @@ -30,9 +30,8 @@ def test_class_make ENV['DESTDIR'] = 'destination' results = [] - Dir.chdir @ext do - File.open 'Makefile', 'w' do |io| - io.puts <<-MAKEFILE + File.open File.join(@ext, 'Makefile'), 'w' do |io| + io.puts <<-MAKEFILE all: \t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}" @@ -41,12 +40,11 @@ def test_class_make install: \t@#{Gem.ruby} -e "puts %Q{install: \#{ENV['DESTDIR']}}" - MAKEFILE - end - - Gem::Ext::Builder.make @dest_path, results + MAKEFILE end + Gem::Ext::Builder.make @dest_path, results, @ext + results = results.join("\n").b assert_match %r{"DESTDIR=#{ENV['DESTDIR']}" clean$}, results @@ -64,20 +62,18 @@ def test_class_make_no_clean ENV['DESTDIR'] = 'destination' results = [] - Dir.chdir @ext do - File.open 'Makefile', 'w' do |io| - io.puts <<-MAKEFILE + File.open File.join(@ext, 'Makefile'), 'w' do |io| + io.puts <<-MAKEFILE all: \t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}" install: \t@#{Gem.ruby} -e "puts %Q{install: \#{ENV['DESTDIR']}}" - MAKEFILE - end - - Gem::Ext::Builder.make @dest_path, results + MAKEFILE end + Gem::Ext::Builder.make @dest_path, results, @ext + results = results.join("\n").b assert_match %r{"DESTDIR=#{ENV['DESTDIR']}" clean$}, results diff --git a/test/rubygems/test_gem_ext_cmake_builder.rb b/test/rubygems/test_gem_ext_cmake_builder.rb index 60a1fa13f61c..e34735967948 100644 --- a/test/rubygems/test_gem_ext_cmake_builder.rb +++ b/test/rubygems/test_gem_ext_cmake_builder.rb @@ -36,9 +36,7 @@ def test_self_build output = [] - Dir.chdir @ext do - Gem::Ext::CmakeBuilder.build nil, @dest_path, output - end + Gem::Ext::CmakeBuilder.build nil, @dest_path, output, [], nil, @ext output = output.join "\n" @@ -54,9 +52,7 @@ def test_self_build_fail output = [] error = assert_raises Gem::InstallError do - Dir.chdir @ext do - Gem::Ext::CmakeBuilder.build nil, @dest_path, output - end + Gem::Ext::CmakeBuilder.build nil, @dest_path, output, [], nil, @ext end output = output.join "\n" @@ -77,9 +73,7 @@ def test_self_build_has_makefile output = [] - Dir.chdir @ext do - Gem::Ext::CmakeBuilder.build nil, @dest_path, output - end + Gem::Ext::CmakeBuilder.build nil, @dest_path, output, [], nil, @ext output = output.join "\n" diff --git a/test/rubygems/test_gem_ext_configure_builder.rb b/test/rubygems/test_gem_ext_configure_builder.rb index 7d7f3759ea6a..a74f5ce0559d 100644 --- a/test/rubygems/test_gem_ext_configure_builder.rb +++ b/test/rubygems/test_gem_ext_configure_builder.rb @@ -25,9 +25,7 @@ def test_self_build output = [] - Dir.chdir @ext do - Gem::Ext::ConfigureBuilder.build nil, @dest_path, output - end + Gem::Ext::ConfigureBuilder.build nil, @dest_path, output, [], nil, @ext assert_match(/^current directory:/, output.shift) assert_equal "sh ./configure --prefix=#{@dest_path}", output.shift @@ -48,9 +46,7 @@ def test_self_build_fail output = [] error = assert_raises Gem::InstallError do - Dir.chdir @ext do - Gem::Ext::ConfigureBuilder.build nil, @dest_path, output - end + Gem::Ext::ConfigureBuilder.build nil, @dest_path, output, [], nil, @ext end shell_error_msg = %r{(\./configure: .*)|((?:[Cc]an't|cannot) open '?\./configure'?(?:: No such file or directory)?)} @@ -74,9 +70,7 @@ def test_self_build_has_makefile end output = [] - Dir.chdir @ext do - Gem::Ext::ConfigureBuilder.build nil, @dest_path, output - end + Gem::Ext::ConfigureBuilder.build nil, @dest_path, output, [], nil, @ext assert_contains_make_command 'clean', output[1] assert_contains_make_command '', output[4] diff --git a/test/rubygems/test_gem_ext_ext_conf_builder.rb b/test/rubygems/test_gem_ext_ext_conf_builder.rb index 05ac538ec271..21fe27166b89 100644 --- a/test/rubygems/test_gem_ext_ext_conf_builder.rb +++ b/test/rubygems/test_gem_ext_ext_conf_builder.rb @@ -29,12 +29,9 @@ def test_class_build output = [] - Dir.chdir @ext do - result = - Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output + result = Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output, [], nil, @ext - assert_same result, output - end + assert_same result, output assert_match(/^current directory:/, output[0]) assert_match(/^#{Gem.ruby}.* extconf.rb/, output[1]) @@ -59,9 +56,7 @@ def test_class_build_rbconfig_make_prog output = [] - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output - end + Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output, [], nil, @ext assert_equal "creating Makefile\n", output[2] assert_contains_make_command 'clean', output[4] @@ -86,9 +81,7 @@ def test_class_build_env_make output = [] assert_raises Gem::InstallError do - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output - end + Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output, [], nil, @ext end assert_equal "creating Makefile\n", output[2] @@ -112,9 +105,7 @@ def test_class_build_extconf_fail output = [] error = assert_raises Gem::InstallError do - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output - end + Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output, [], nil, @ext end assert_equal 'extconf failed, exit code 1', error.message @@ -139,9 +130,7 @@ def test_class_build_extconf_success_without_warning output = [] - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output - end + Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output, [], nil, @ext refute_includes(output, "To see why this extension failed to compile, please check the mkmf.log which can be found here:\n") @@ -181,9 +170,7 @@ def test_class_build_unconventional output = [] - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output - end + Gem::Ext::ExtConfBuilder.build 'extconf.rb', @dest_path, output, [], nil, @ext assert_contains_make_command 'clean', output[4] assert_contains_make_command '', output[7] @@ -207,9 +194,7 @@ def test_class_make makefile.puts "install:" end - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.make @ext, output - end + Gem::Ext::ExtConfBuilder.make @ext, output, @ext assert_contains_make_command 'clean', output[1] assert_contains_make_command '', output[4] @@ -218,9 +203,7 @@ def test_class_make def test_class_make_no_Makefile error = assert_raises Gem::InstallError do - Dir.chdir @ext do - Gem::Ext::ExtConfBuilder.make @ext, ['output'] - end + Gem::Ext::ExtConfBuilder.make @ext, ['output'], @ext end assert_equal 'Makefile not found', error.message diff --git a/test/rubygems/test_gem_ext_rake_builder.rb b/test/rubygems/test_gem_ext_rake_builder.rb index a13b09c98b02..8cb96f7dd33f 100644 --- a/test/rubygems/test_gem_ext_rake_builder.rb +++ b/test/rubygems/test_gem_ext_rake_builder.rb @@ -18,9 +18,7 @@ def test_class_build output = [] build_rake_in do |rake| - Dir.chdir @ext do - Gem::Ext::RakeBuilder.build 'mkrf_conf.rb', @dest_path, output - end + Gem::Ext::RakeBuilder.build 'mkrf_conf.rb', @dest_path, output, [], nil, @ext output = output.join "\n" @@ -38,10 +36,8 @@ def test_class_build_with_args output = [] build_rake_in do |rake| - Dir.chdir @ext do - non_empty_args_list = [''] - Gem::Ext::RakeBuilder.build 'mkrf_conf.rb', @dest_path, output, non_empty_args_list - end + non_empty_args_list = [''] + Gem::Ext::RakeBuilder.build 'mkrf_conf.rb', @dest_path, output, non_empty_args_list, nil, @ext output = output.join "\n" @@ -55,9 +51,7 @@ def test_class_build_no_mkrf_passes_args output = [] build_rake_in do |rake| - Dir.chdir @ext do - Gem::Ext::RakeBuilder.build "ext/Rakefile", @dest_path, output, ["test1", "test2"] - end + Gem::Ext::RakeBuilder.build "ext/Rakefile", @dest_path, output, ["test1", "test2"], nil, @ext output = output.join "\n" @@ -72,9 +66,7 @@ def test_class_build_fail build_rake_in(false) do |rake| error = assert_raises Gem::InstallError do - Dir.chdir @ext do - Gem::Ext::RakeBuilder.build "mkrf_conf.rb", @dest_path, output - end + Gem::Ext::RakeBuilder.build "mkrf_conf.rb", @dest_path, output, [], nil, @ext end assert_match %r{^rake failed}, error.message diff --git a/test/rubygems/test_gem_gem_runner.rb b/test/rubygems/test_gem_gem_runner.rb index 72a5c83431fc..8df11ecebc8b 100644 --- a/test/rubygems/test_gem_gem_runner.rb +++ b/test/rubygems/test_gem_gem_runner.rb @@ -74,17 +74,18 @@ def test_query_is_deprecated args = %w[query] use_ui @ui do - assert_nil @runner.run(args) + @runner.run(args) end assert_match(/WARNING: query command is deprecated. It will be removed in Rubygems [0-9]+/, @ui.error) + assert_match(/WARNING: It is recommended that you use `gem search` or `gem list` instead/, @ui.error) end def test_info_succeeds args = %w[info] use_ui @ui do - assert_nil @runner.run(args) + @runner.run(args) end assert_empty @ui.error @@ -94,7 +95,7 @@ def test_list_succeeds args = %w[list] use_ui @ui do - assert_nil @runner.run(args) + @runner.run(args) end assert_empty @ui.error @@ -104,7 +105,7 @@ def test_search_succeeds args = %w[search] use_ui @ui do - assert_nil @runner.run(args) + @runner.run(args) end assert_empty @ui.error diff --git a/test/rubygems/test_gem_gemcutter_utilities.rb b/test/rubygems/test_gem_gemcutter_utilities.rb index 48f6b0971537..3290a3a90861 100644 --- a/test/rubygems/test_gem_gemcutter_utilities.rb +++ b/test/rubygems/test_gem_gemcutter_utilities.rb @@ -32,7 +32,7 @@ def teardown def test_alternate_key_alternate_host keys = { :rubygems_api_key => 'KEY', - "http://rubygems.engineyard.com" => "EYKEY" + "http://rubygems.engineyard.com" => "EYKEY", } FileUtils.mkdir_p File.dirname Gem.configuration.credentials_path @@ -202,7 +202,7 @@ def test_sign_in_with_correct_otp_code assert_match 'You have enabled multi-factor authentication. Please enter OTP code.', @sign_in_ui.output assert_match 'Code: ', @sign_in_ui.output - assert_match 'Signed in.', @sign_in_ui.output + assert_match 'Signed in with API key:', @sign_in_ui.output assert_equal '111111', @fetcher.last_request['OTP'] end @@ -233,7 +233,7 @@ def util_sign_in(response, host = nil, args = [], extra_input = '') @fetcher.data["#{host}/api/v1/api_key"] = response Gem::RemoteFetcher.fetcher = @fetcher - @sign_in_ui = Gem::MockGemUi.new("#{email}\n#{password}\n" + extra_input) + @sign_in_ui = Gem::MockGemUi.new("#{email}\n#{password}\n\n\n\n\n\n\n\n\n" + extra_input) use_ui @sign_in_ui do if args.length > 0 diff --git a/test/rubygems/test_gem_install_update_options.rb b/test/rubygems/test_gem_install_update_options.rb index d9da22b129d3..b4528dba178d 100644 --- a/test/rubygems/test_gem_install_update_options.rb +++ b/test/rubygems/test_gem_install_update_options.rb @@ -30,7 +30,7 @@ def test_add_install_update_options args.concat %w[--vendor] unless Gem.java_platform? - args.concat %w[-P HighSecurity] if defined?(OpenSSL::SSL) + args.concat %w[-P HighSecurity] if Gem::HAVE_OPENSSL assert @cmd.handles?(args) end @@ -92,7 +92,7 @@ def test_document_rdoc end def test_security_policy - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @cmd.handle_options %w[-P HighSecurity] @@ -100,7 +100,7 @@ def test_security_policy end def test_security_policy_unknown - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @cmd.add_install_update_options @@ -192,4 +192,16 @@ def test_post_install_message assert_equal true, @cmd.options[:post_install_message] end + + def test_minimal_deps_no + @cmd.handle_options %w[--no-minimal-deps] + + assert_equal false, @cmd.options[:minimal_deps] + end + + def test_minimal_deps + @cmd.handle_options %w[--minimal-deps] + + assert_equal true, @cmd.options[:minimal_deps] + end end diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index e984c7079c31..0a9a2e38dd8f 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -83,7 +83,7 @@ def test_check_executable_overwrite end def test_check_executable_overwrite_default_bin_dir - installer = setup_base_installer + installer = setup_base_installer(false) bindir(Gem.bindir) do util_conflict_executable false @@ -143,7 +143,7 @@ def test_check_executable_overwrite_format_executable end def test_check_executable_overwrite_other_gem - installer = setup_base_installer + installer = setup_base_installer(false) util_conflict_executable true @@ -287,7 +287,7 @@ def test_ensure_loadable_spec end def test_ensure_loadable_spec_security_policy - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL _, a_gem = util_gem 'a', 2 do |s| s.add_dependency 'garbage ~> 5' @@ -345,7 +345,7 @@ def test_generate_bin_bindir_with_user_install_warning options = { :bin_dir => bin_dir, - :install_dir => "/non/existent" + :install_dir => "/non/existent", } inst = Gem::Installer.at '', options @@ -794,10 +794,35 @@ def test_generate_plugins_with_user_install assert_equal spec, installer.install - assert !File.exist?(system_path), 'plugin not written to user plugins_dir' + assert !File.exist?(system_path), 'plugin incorrectly written to system plugins_dir' assert File.exist?(user_path), 'plugin not written to user plugins_dir' end + def test_generate_plugins_with_build_root + spec = quick_gem 'a' do |s| + write_file File.join(@tempdir, 'lib', 'rubygems_plugin.rb') do |io| + io.write "puts __FILE__" + end + + s.files += %w[lib/rubygems_plugin.rb] + end + + util_build_gem spec + + File.chmod(0555, Gem.plugindir) + system_path = File.join(Gem.plugindir, 'a_plugin.rb') + + build_root = File.join(@tempdir, 'build_root') + build_root_path = File.join(build_root, Gem.plugindir.gsub(/^[a-zA-Z]:/, ''), 'a_plugin.rb') + + installer = Gem::Installer.at spec.cache_file, :build_root => build_root + + assert_equal spec, installer.install + + assert !File.exist?(system_path), 'plugin written incorrect written to system plugins_dir' + assert File.exist?(build_root_path), 'plugin not written to build_root' + end + def test_keeps_plugins_up_to_date # NOTE: version a-2 is already installed by setup hooks @@ -1134,7 +1159,7 @@ def test_install_with_no_prior_files Gem::Package.build @spec end end - installer = Gem::Installer.at @gem + installer = Gem::Installer.at @gem, :force => true build_rake_in do use_ui @ui do assert_equal @spec, installer.install @@ -1156,6 +1181,15 @@ def test_install_force assert_path_exists gem_dir end + def test_install_build_root + build_root = File.join(@tempdir, 'build_root') + + @gem = setup_base_gem + installer = Gem::Installer.at @gem, :build_root => build_root + + assert_equal @spec, installer.install + end + def test_install_missing_dirs installer = setup_base_installer @@ -1337,7 +1371,7 @@ def test_install_extension_dir_is_removed_on_reinstall # reinstall the gem, this is also the same as pristine use_ui @ui do - installer = Gem::Installer.at path + installer = Gem::Installer.at path, :force => true installer.install end @@ -1537,6 +1571,7 @@ def test_pre_install_checks_dependencies installer = setup_base_installer @spec.add_dependency 'b', '> 5' installer = util_setup_gem + installer.force = false use_ui @ui do assert_raises Gem::InstallError do @@ -1781,13 +1816,24 @@ def test_process_options def test_process_options_build_root build_root = File.join @tempdir, 'build_root' + bin_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'bin') + gem_home = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, '')) + plugins_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'plugins') @gem = setup_base_gem - installer = Gem::Installer.at @gem, :build_root => build_root + installer = use_ui(@ui) { Gem::Installer.at @gem, :build_root => build_root } + + assert_equal build_root, installer.build_root + assert_equal bin_dir, installer.bin_dir + assert_equal gem_home, installer.gem_home - assert_equal Pathname(build_root), installer.build_root - assert_equal File.join(build_root, @gemhome, 'bin'), installer.bin_dir - assert_equal File.join(build_root, @gemhome), installer.gem_home + errors = @ui.error.split("\n") + + assert_equal "WARNING: You build with buildroot.", errors.shift + assert_equal " Build root: #{build_root}", errors.shift + assert_equal " Bin dir: #{bin_dir}", errors.shift + assert_equal " Gem home: #{gem_home}", errors.shift + assert_equal " Plugins dir: #{plugins_dir}", errors.shift end def test_shebang_arguments @@ -2169,6 +2215,23 @@ def test_default_gem_with_exe_as_bindir assert_equal ['exe/executable'], default_spec.files end + def test_default_gem_to_specific_install_dir + @gem = setup_base_gem + installer = util_installer @spec, "#{@gemhome}2" + installer.options[:install_as_default] = true + + use_ui @ui do + installer.install + end + + assert_directory_exists File.join("#{@gemhome}2", 'specifications') + assert_directory_exists File.join("#{@gemhome}2", 'specifications', 'default') + + default_spec = eval File.read File.join("#{@gemhome}2", 'specifications', 'default', 'a-2.gemspec') + assert_equal Gem::Version.new("2"), default_spec.version + assert_equal ['bin/executable'], default_spec.files + end + def test_package_attribute gem = quick_gem 'c' do |spec| util_make_exec spec, '#!/usr/bin/ruby', 'exe' diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb index 5e9c3b7b8116..fd28f9a2a576 100644 --- a/test/rubygems/test_gem_package.rb +++ b/test/rubygems/test_gem_package.rb @@ -95,7 +95,7 @@ def test_add_checksums 'SHA256' => { 'metadata.gz' => metadata_sha256, 'data.tar.gz' => Digest::SHA256.hexdigest(tar), - } + }, } assert_equal expected, YAML.load(checksums) @@ -252,7 +252,7 @@ def test_build end def test_build_auto_signed - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL FileUtils.mkdir_p File.join(Gem.user_home, '.gem') @@ -295,7 +295,7 @@ def test_build_auto_signed end def test_build_auto_signed_encrypted_key - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL FileUtils.mkdir_p File.join(Gem.user_home, '.gem') @@ -364,7 +364,7 @@ def test_build_invalid_arguments end def test_build_signed - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL spec = Gem::Specification.new 'build', '1' spec.summary = 'build' @@ -401,7 +401,7 @@ def test_build_signed end def test_build_signed_encrypted_key - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL spec = Gem::Specification.new 'build', '1' spec.summary = 'build' @@ -957,7 +957,7 @@ def test_verify_duplicate_file end def test_verify_security_policy - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL package = Gem::Package.new @gem package.security_policy = Gem::Security::HighSecurity @@ -974,7 +974,7 @@ def test_verify_security_policy end def test_verify_security_policy_low_security - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @spec.cert_chain = [PUBLIC_CERT.to_pem] @spec.signing_key = PRIVATE_KEY @@ -994,7 +994,7 @@ def test_verify_security_policy_low_security end def test_verify_security_policy_checksum_missing - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @spec.cert_chain = [PUBLIC_CERT.to_pem] @spec.signing_key = PRIVATE_KEY diff --git a/test/rubygems/test_gem_package_old.rb b/test/rubygems/test_gem_package_old.rb index f2b1719dc3b1..8c4c20006bef 100644 --- a/test/rubygems/test_gem_package_old.rb +++ b/test/rubygems/test_gem_package_old.rb @@ -23,7 +23,7 @@ def test_contents end def test_contents_security_policy - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @package.security_policy = Gem::Security::AlmostNoSecurity @@ -44,7 +44,7 @@ def test_extract_files end def test_extract_files_security_policy - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @package.security_policy = Gem::Security::AlmostNoSecurity @@ -58,7 +58,7 @@ def test_spec end def test_spec_security_policy - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL @package.security_policy = Gem::Security::AlmostNoSecurity @@ -68,7 +68,7 @@ def test_spec_security_policy end def test_verify - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL assert @package.verify diff --git a/test/rubygems/test_gem_package_tar_writer.rb b/test/rubygems/test_gem_package_tar_writer.rb index e31efdd55ff4..25dac5f148fd 100644 --- a/test/rubygems/test_gem_package_tar_writer.rb +++ b/test/rubygems/test_gem_package_tar_writer.rb @@ -117,7 +117,7 @@ def test_add_file_digest_multiple end def test_add_file_signer - skip 'openssl is missing' unless defined?(OpenSSL::SSL) + skip 'openssl is missing' unless Gem::HAVE_OPENSSL signer = Gem::Security::Signer.new PRIVATE_KEY, [PUBLIC_CERT] diff --git a/test/rubygems/test_gem_platform.rb b/test/rubygems/test_gem_platform.rb index 030033d2af7b..83a6f24de431 100644 --- a/test/rubygems/test_gem_platform.rb +++ b/test/rubygems/test_gem_platform.rb @@ -11,10 +11,69 @@ def test_self_local end def test_self_match - assert Gem::Platform.match(nil), 'nil == ruby' - assert Gem::Platform.match(Gem::Platform.local), 'exact match' - assert Gem::Platform.match(Gem::Platform.local.to_s), '=~ match' - assert Gem::Platform.match(Gem::Platform::RUBY), 'ruby' + Gem::Deprecate.skip_during do + assert Gem::Platform.match(nil), 'nil == ruby' + assert Gem::Platform.match(Gem::Platform.local), 'exact match' + assert Gem::Platform.match(Gem::Platform.local.to_s), '=~ match' + assert Gem::Platform.match(Gem::Platform::RUBY), 'ruby' + end + end + + def test_self_match_gem? + assert Gem::Platform.match_gem?(nil, 'json'), 'nil == ruby' + assert Gem::Platform.match_gem?(Gem::Platform.local, 'json'), 'exact match' + assert Gem::Platform.match_gem?(Gem::Platform.local.to_s, 'json'), '=~ match' + assert Gem::Platform.match_gem?(Gem::Platform::RUBY, 'json'), 'ruby' + end + + def test_self_match_spec? + make_spec = -> platform do + util_spec 'mygem-for-platform-match_spec', '1' do |s| + s.platform = platform + end + end + + assert Gem::Platform.match_spec?(make_spec.call(nil)), 'nil == ruby' + assert Gem::Platform.match_spec?(make_spec.call(Gem::Platform.local)), 'exact match' + assert Gem::Platform.match_spec?(make_spec.call(Gem::Platform.local.to_s)), '=~ match' + assert Gem::Platform.match_spec?(make_spec.call(Gem::Platform::RUBY)), 'ruby' + end + + def test_self_match_spec_with_match_gem_override + make_spec = -> name, platform do + util_spec name, '1' do |s| + s.platform = platform + end + end + + class << Gem::Platform + alias_method :original_match_gem?, :match_gem? + def match_gem?(platform, gem_name) + # e.g., sassc and libv8 are such gems, their native extensions do not use the Ruby C API + if gem_name == 'gem-with-ruby-impl-independent-precompiled-ext' + match_platforms?(platform, [Gem::Platform::RUBY, Gem::Platform.local]) + else + match_platforms?(platform, Gem.platforms) + end + end + end + + platforms = Gem.platforms + Gem.platforms = [Gem::Platform::RUBY] + begin + assert_equal true, Gem::Platform.match_spec?(make_spec.call('mygem', Gem::Platform::RUBY)) + assert_equal false, Gem::Platform.match_spec?(make_spec.call('mygem', Gem::Platform.local)) + + name = 'gem-with-ruby-impl-independent-precompiled-ext' + assert_equal true, Gem::Platform.match_spec?(make_spec.call(name, Gem::Platform.local)) + ensure + Gem.platforms = platforms + class << Gem::Platform + remove_method :match_gem? + alias_method :match_gem?, :original_match_gem? # rubocop:disable Lint/DuplicateMethods + remove_method :original_match_gem? + end + end end def test_self_new diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index f6ca00589f96..371998497b09 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -2,13 +2,9 @@ require 'rubygems/test_case' require 'webrick' -begin - require 'webrick/https' -rescue LoadError => e - raise unless e.path == 'openssl' -end +require 'webrick/https' if Gem::HAVE_OPENSSL -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping Gem::RemoteFetcher tests. openssl not found.' end @@ -667,7 +663,7 @@ def s3_uri_signer.ec2_metadata_credentials_json def test_fetch_s3_config_creds Gem.configuration[:s3_source] = { - 'my-bucket' => {:id => 'testuser', :secret => 'testpass'} + 'my-bucket' => {:id => 'testuser', :secret => 'testpass'}, } url = 's3://my-bucket/gems/specs.4.8.gz' Time.stub :now, Time.at(1561353581) do @@ -679,7 +675,7 @@ def test_fetch_s3_config_creds def test_fetch_s3_config_creds_with_region Gem.configuration[:s3_source] = { - 'my-bucket' => {:id => 'testuser', :secret => 'testpass', :region => 'us-west-2'} + 'my-bucket' => {:id => 'testuser', :secret => 'testpass', :region => 'us-west-2'}, } url = 's3://my-bucket/gems/specs.4.8.gz' Time.stub :now, Time.at(1561353581) do @@ -691,7 +687,7 @@ def test_fetch_s3_config_creds_with_region def test_fetch_s3_config_creds_with_token Gem.configuration[:s3_source] = { - 'my-bucket' => {:id => 'testuser', :secret => 'testpass', :security_token => 'testtoken'} + 'my-bucket' => {:id => 'testuser', :secret => 'testpass', :security_token => 'testtoken'}, } url = 's3://my-bucket/gems/specs.4.8.gz' Time.stub :now, Time.at(1561353581) do @@ -706,7 +702,7 @@ def test_fetch_s3_env_creds ENV['AWS_SECRET_ACCESS_KEY'] = 'testpass' ENV['AWS_SESSION_TOKEN'] = nil Gem.configuration[:s3_source] = { - 'my-bucket' => {:provider => 'env'} + 'my-bucket' => {:provider => 'env'}, } url = 's3://my-bucket/gems/specs.4.8.gz' Time.stub :now, Time.at(1561353581) do @@ -722,7 +718,7 @@ def test_fetch_s3_env_creds_with_region ENV['AWS_SECRET_ACCESS_KEY'] = 'testpass' ENV['AWS_SESSION_TOKEN'] = nil Gem.configuration[:s3_source] = { - 'my-bucket' => {:provider => 'env', :region => 'us-west-2'} + 'my-bucket' => {:provider => 'env', :region => 'us-west-2'}, } url = 's3://my-bucket/gems/specs.4.8.gz' Time.stub :now, Time.at(1561353581) do @@ -738,7 +734,7 @@ def test_fetch_s3_env_creds_with_token ENV['AWS_SECRET_ACCESS_KEY'] = 'testpass' ENV['AWS_SESSION_TOKEN'] = 'testtoken' Gem.configuration[:s3_source] = { - 'my-bucket' => {:provider => 'env'} + 'my-bucket' => {:provider => 'env'}, } url = 's3://my-bucket/gems/specs.4.8.gz' Time.stub :now, Time.at(1561353581) do @@ -758,7 +754,7 @@ def test_fetch_s3_url_creds def test_fetch_s3_instance_profile_creds Gem.configuration[:s3_source] = { - 'my-bucket' => {:provider => 'instance_profile'} + 'my-bucket' => {:provider => 'instance_profile'}, } url = 's3://my-bucket/gems/specs.4.8.gz' @@ -772,7 +768,7 @@ def test_fetch_s3_instance_profile_creds def test_fetch_s3_instance_profile_creds_with_region Gem.configuration[:s3_source] = { - 'my-bucket' => {:provider => 'instance_profile', :region => 'us-west-2'} + 'my-bucket' => {:provider => 'instance_profile', :region => 'us-west-2'}, } url = 's3://my-bucket/gems/specs.4.8.gz' @@ -786,7 +782,7 @@ def test_fetch_s3_instance_profile_creds_with_region def test_fetch_s3_instance_profile_creds_with_token Gem.configuration[:s3_source] = { - 'my-bucket' => {:provider => 'instance_profile'} + 'my-bucket' => {:provider => 'instance_profile'}, } url = 's3://my-bucket/gems/specs.4.8.gz' @@ -816,7 +812,7 @@ def test_fetch_s3_no_source_key def test_fetch_s3_no_host Gem.configuration[:s3_source] = { - 'my-bucket' => {:id => 'testuser', :secret => 'testpass'} + 'my-bucket' => {:id => 'testuser', :secret => 'testpass'}, } url = 's3://other-bucket/gems/specs.4.8.gz' @@ -1062,7 +1058,7 @@ def start_ssl_server(config = {}) :SSLCertificate => cert('ssl_cert.pem'), :SSLPrivateKey => key('ssl_key.pem'), :SSLVerifyClient => nil, - :SSLCertName => nil + :SSLCertName => nil, }.merge(config)) server.mount_proc("/yaml") do |req, res| res.body = "--- true\n" @@ -1145,4 +1141,4 @@ def cert(filename) def key(filename) OpenSSL::PKey::RSA.new(File.read(File.join(__dir__, filename))) end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/test/rubygems/test_gem_request.rb b/test/rubygems/test_gem_request.rb index 82b95b47c382..47e5f9707494 100644 --- a/test/rubygems/test_gem_request.rb +++ b/test/rubygems/test_gem_request.rb @@ -4,7 +4,7 @@ require 'ostruct' require 'base64' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping Gem::Request tests. openssl not found.' end @@ -506,4 +506,4 @@ def request(req) @response end end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/test/rubygems/test_gem_request_set_lockfile.rb b/test/rubygems/test_gem_request_set_lockfile.rb index e7921d6b26af..44a47f2e00eb 100644 --- a/test/rubygems/test_gem_request_set_lockfile.rb +++ b/test/rubygems/test_gem_request_set_lockfile.rb @@ -51,7 +51,7 @@ def test_add_DEPENDENCIES expected = [ 'DEPENDENCIES', ' a', - nil + nil, ] assert_equal expected, out @@ -78,7 +78,7 @@ def test_add_DEPENDENCIES_from_gem_deps expected = [ 'DEPENDENCIES', ' a (~> 2.0)', - nil + nil, ] assert_equal expected, out @@ -111,7 +111,7 @@ def test_add_GEM ' a (2)', ' b', ' b (2)', - nil + nil, ] assert_equal expected, out @@ -139,7 +139,7 @@ def test_add_PLATFORMS 'PLATFORMS', ' ruby', ' x86-darwin-8', - nil + nil, ] assert_equal expected, out diff --git a/test/rubygems/test_gem_resolver_api_set.rb b/test/rubygems/test_gem_resolver_api_set.rb index 6942b8587ded..4b545b1b9a09 100644 --- a/test/rubygems/test_gem_resolver_api_set.rb +++ b/test/rubygems/test_gem_resolver_api_set.rb @@ -39,7 +39,7 @@ def test_find_all { :name => 'a', :number => '1', :platform => 'ruby', - :dependencies => [], }, + :dependencies => [] }, ] @fetcher.data["#{@dep_uri}?gems=a"] = Marshal.dump data @@ -49,7 +49,7 @@ def test_find_all a_dep = @DR::DependencyRequest.new dep('a'), nil expected = [ - @DR::APISpecification.new(set, data.first) + @DR::APISpecification.new(set, data.first), ] assert_equal expected, set.find_all(a_dep) @@ -62,7 +62,7 @@ def test_find_all_cache { :name => 'a', :number => '1', :platform => 'ruby', - :dependencies => [], }, + :dependencies => [] }, ] @fetcher.data["#{@dep_uri}?gems=a"] = Marshal.dump data @@ -74,7 +74,7 @@ def test_find_all_cache set.prefetch [a_dep] expected = [ - @DR::APISpecification.new(set, data.first) + @DR::APISpecification.new(set, data.first), ] assert_equal expected, set.find_all(a_dep) @@ -114,7 +114,7 @@ def test_prefetch { :name => 'a', :number => '1', :platform => 'ruby', - :dependencies => [], }, + :dependencies => [] }, ] @fetcher.data["#{@dep_uri}?gems=a,b"] = Marshal.dump data @@ -138,7 +138,7 @@ def test_prefetch_cache { :name => 'a', :number => '1', :platform => 'ruby', - :dependencies => [], }, + :dependencies => [] }, ] @fetcher.data["#{@dep_uri}?gems=a"] = Marshal.dump data @@ -163,7 +163,7 @@ def test_prefetch_cache_missing { :name => 'a', :number => '1', :platform => 'ruby', - :dependencies => [], }, + :dependencies => [] }, ] @fetcher.data["#{@dep_uri}?gems=a,b"] = Marshal.dump data @@ -187,7 +187,7 @@ def test_prefetch_local { :name => 'a', :number => '1', :platform => 'ruby', - :dependencies => [], }, + :dependencies => [] }, ] @fetcher.data["#{@dep_uri}?gems=a,b"] = Marshal.dump data diff --git a/test/rubygems/test_gem_resolver_conflict.rb b/test/rubygems/test_gem_resolver_conflict.rb index 5a3ed8067062..ff5fe9bae379 100644 --- a/test/rubygems/test_gem_resolver_conflict.rb +++ b/test/rubygems/test_gem_resolver_conflict.rb @@ -73,7 +73,7 @@ def test_request_path expected = [ 'net-ssh (>= 2.0.13), 2.2.2 activated', - 'rye (= 0.9.8), 0.9.8 activated' + 'rye (= 0.9.8), 0.9.8 activated', ] assert_equal expected, conflict.request_path(child.requester) diff --git a/test/rubygems/test_gem_resolver_vendor_set.rb b/test/rubygems/test_gem_resolver_vendor_set.rb index 99e2c5ae5f8d..d14b877b4575 100644 --- a/test/rubygems/test_gem_resolver_vendor_set.rb +++ b/test/rubygems/test_gem_resolver_vendor_set.rb @@ -51,7 +51,7 @@ def test_find_all source = Gem::Source::Vendor.new directory expected = [ - Gem::Resolver::VendorSpecification.new(@set, spec, source) + Gem::Resolver::VendorSpecification.new(@set, spec, source), ] assert_equal expected, found diff --git a/test/rubygems/test_gem_security.rb b/test/rubygems/test_gem_security.rb index 4d07887d3675..92f9e55b211d 100644 --- a/test/rubygems/test_gem_security.rb +++ b/test/rubygems/test_gem_security.rb @@ -2,7 +2,7 @@ require 'rubygems/test_case' require 'rubygems/security' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping Gem::Security tests. openssl not found.' end @@ -309,4 +309,4 @@ def test_class_write_encrypted_cipher assert_equal key.to_pem, key_from_file.to_pem end -end if defined?(OpenSSL::SSL) && !Gem.java_platform? +end if Gem::HAVE_OPENSSL && !Gem.java_platform? diff --git a/test/rubygems/test_gem_security_policy.rb b/test/rubygems/test_gem_security_policy.rb index 86100d7c74a5..85e459065544 100644 --- a/test/rubygems/test_gem_security_policy.rb +++ b/test/rubygems/test_gem_security_policy.rb @@ -2,7 +2,7 @@ require 'rubygems/test_case' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping Gem::Security::Policy tests. openssl not found.' end @@ -532,4 +532,4 @@ def dummy_signatures(key = PRIVATE_KEY) return digests, signatures end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/test/rubygems/test_gem_security_signer.rb b/test/rubygems/test_gem_security_signer.rb index 050748a8b527..8a09f97f26d9 100644 --- a/test/rubygems/test_gem_security_signer.rb +++ b/test/rubygems/test_gem_security_signer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'rubygems/test_case' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping Gem::Security::Signer tests. openssl not found.' end @@ -214,4 +214,4 @@ def test_sign_no_certs signer.sign 'hello' end end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/test/rubygems/test_gem_security_trust_dir.rb b/test/rubygems/test_gem_security_trust_dir.rb index 64871f7bd35d..201de9d36b0f 100644 --- a/test/rubygems/test_gem_security_trust_dir.rb +++ b/test/rubygems/test_gem_security_trust_dir.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'rubygems/test_case' -unless defined?(OpenSSL::SSL) +unless Gem::HAVE_OPENSSL warn 'Skipping Gem::Security::TrustDir tests. openssl not found.' end @@ -95,4 +95,4 @@ def test_verify_wrong_permissions assert_equal mask, File.stat(@dest_dir).mode unless win_platform? end -end if defined?(OpenSSL::SSL) +end if Gem::HAVE_OPENSSL diff --git a/test/rubygems/test_gem_source.rb b/test/rubygems/test_gem_source.rb index 599d490d9542..09c510f09601 100644 --- a/test/rubygems/test_gem_source.rb +++ b/test/rubygems/test_gem_source.rb @@ -240,6 +240,11 @@ def test_typo_squatting refute rubygems_source.typo_squatting?("rubysertgems.org") end + def test_typo_squatting_false_positive + rubygems_source = Gem::Source.new("https://rubygems.org") + refute rubygems_source.typo_squatting?("rubygems.org") + end + def test_typo_squatting_custom_distance_threshold rubygems_source = Gem::Source.new("https://rubgems.org") distance_threshold = 5 diff --git a/test/rubygems/test_gem_source_subpath_problem.rb b/test/rubygems/test_gem_source_subpath_problem.rb new file mode 100644 index 000000000000..eb92b7d4040a --- /dev/null +++ b/test/rubygems/test_gem_source_subpath_problem.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true +require 'rubygems/test_case' +require 'rubygems/source' + +class TestGemSourceSubpathProblem < Gem::TestCase + def tuple(*args) + Gem::NameTuple.new(*args) + end + + def setup + super + + @gem_repo = "http://gems.example.com/private" + + spec_fetcher + + @source = Gem::Source.new(@gem_repo) + + util_make_gems + end + + def test_dependency_resolver_set + response = Net::HTTPResponse.new '1.1', 200, 'OK' + response.uri = URI('http://example') if response.respond_to? :uri + + @fetcher.data["#{@gem_repo}/api/v1/dependencies"] = response + + set = @source.dependency_resolver_set + + assert_kind_of Gem::Resolver::APISet, set + end + + def test_fetch_spec + @fetcher.data["#{@gem_repo}/#{Gem::MARSHAL_SPEC_DIR}#{@a1.spec_name}.rz"] = Zlib::Deflate.deflate(Marshal.dump(@a1)) + + spec = @source.fetch_spec tuple('a', Gem::Version.new(1), 'ruby') + assert_equal @a1.full_name, spec.full_name + end + + def test_load_specs + @fetcher.data["#{@gem_repo}/latest_specs.#{Gem.marshal_version}.gz"] = util_gzip(Marshal.dump([ + Gem::NameTuple.new(@a1.name, @a1.version, 'ruby'), + Gem::NameTuple.new(@b2.name, @b2.version, 'ruby'), + ])) + + released = @source.load_specs(:latest).map {|spec| spec.full_name } + assert_equal %W[a-1 b-2], released + end +end diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index f635be859bd9..76072184bd9f 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'benchmark' require 'rubygems/test_case' +require 'date' require 'pathname' require 'stringio' require 'rubygems/ext' @@ -1999,7 +2000,7 @@ def test_full_name_windows test_cases = { 'i386-mswin32' => 'a-1-x86-mswin32-60', 'i386-mswin32_80' => 'a-1-x86-mswin32-80', - 'i386-mingw32' => 'a-1-x86-mingw32' + 'i386-mingw32' => 'a-1-x86-mingw32', } test_cases.each do |arch, expected| @@ -3035,7 +3036,7 @@ def test_unresolved_specs_with_versions specification.define_singleton_method(:find_all_by_name) do |dep_name| [ specification.new {|s| s.name = "z", s.version = Gem::Version.new("1") }, - specification.new {|s| s.name = "z", s.version = Gem::Version.new("2") } + specification.new {|s| s.name = "z", s.version = Gem::Version.new("2") }, ] end @@ -3578,7 +3579,7 @@ def test_metadata_validates_ok "one" => "two", "home" => "three", "homepage_uri" => "https://example.com/user/repo", - "funding_uri" => "https://example.com/donate" + "funding_uri" => "https://example.com/donate", } end @@ -3838,7 +3839,7 @@ def test_load_default_gem default_gem_spec = new_default_spec("default", "2.0.0.0", nil, "default/gem.rb") - spec_path = File.join(@default_spec_dir, default_gem_spec.spec_name) + spec_path = File.join(@gemhome, "specifications", "default", default_gem_spec.spec_name) write_file(spec_path) do |file| file.print(default_gem_spec.to_ruby) end diff --git a/test/rubygems/test_gem_uninstaller.rb b/test/rubygems/test_gem_uninstaller.rb index 1c084c4c5dd1..1ca4991d1e78 100644 --- a/test/rubygems/test_gem_uninstaller.rb +++ b/test/rubygems/test_gem_uninstaller.rb @@ -177,7 +177,7 @@ def test_remove_plugins @spec.files += %w[lib/rubygems_plugin.rb] - Gem::Installer.at(Gem::Package.build(@spec)).install + Gem::Installer.at(Gem::Package.build(@spec), :force => true).install plugin_path = File.join Gem.plugindir, 'a_plugin.rb' assert File.exist?(plugin_path), 'plugin not written' @@ -194,7 +194,7 @@ def test_remove_plugins_with_install_dir @spec.files += %w[lib/rubygems_plugin.rb] - Gem::Installer.at(Gem::Package.build(@spec)).install + Gem::Installer.at(Gem::Package.build(@spec), :force => true).install plugin_path = File.join Gem.plugindir, 'a_plugin.rb' assert File.exist?(plugin_path), 'plugin not written' @@ -212,7 +212,7 @@ def test_regenerate_plugins_for @spec.files += %w[lib/rubygems_plugin.rb] - Gem::Installer.at(Gem::Package.build(@spec)).install + Gem::Installer.at(Gem::Package.build(@spec), :force => true).install plugin_path = File.join Gem.plugindir, 'a_plugin.rb' assert File.exist?(plugin_path), 'plugin not written' @@ -314,7 +314,7 @@ def test_uninstall_extension use_ui @ui do path = Gem::Package.build @spec - installer = Gem::Installer.at path + installer = Gem::Installer.at path, :force => true installer.install end @@ -633,19 +633,19 @@ def test_uninstall_keeps_plugins_up_to_date plugin_path = File.join Gem.plugindir, 'a_plugin.rb' @spec.version = '1' - Gem::Installer.at(Gem::Package.build(@spec)).install + Gem::Installer.at(Gem::Package.build(@spec), :force => true).install refute File.exist?(plugin_path), 'version without plugin installed, but plugin written' @spec.files += %w[lib/rubygems_plugin.rb] @spec.version = '2' - Gem::Installer.at(Gem::Package.build(@spec)).install + Gem::Installer.at(Gem::Package.build(@spec), :force => true).install assert File.exist?(plugin_path), 'version with plugin installed, but plugin not written' assert_match %r{\Arequire.*a-2/lib/rubygems_plugin\.rb}, File.read(plugin_path), 'written plugin has incorrect content' @spec.version = '3' - Gem::Installer.at(Gem::Package.build(@spec)).install + Gem::Installer.at(Gem::Package.build(@spec), :force => true).install assert File.exist?(plugin_path), 'version with plugin installed, but plugin removed' assert_match %r{\Arequire.*a-3/lib/rubygems_plugin\.rb}, File.read(plugin_path), 'old version installed, but plugin updated' diff --git a/test/rubygems/test_gem_validator.rb b/test/rubygems/test_gem_validator.rb index d4159d59e275..5158543fa945 100644 --- a/test/rubygems/test_gem_validator.rb +++ b/test/rubygems/test_gem_validator.rb @@ -26,7 +26,7 @@ def test_alien @spec.file_name => [ Gem::Validator::ErrorData.new('lib/b.rb', 'Missing file'), Gem::Validator::ErrorData.new('lib/c.rb', 'Extra file'), - ] + ], } assert_equal expected, alien diff --git a/test/rubygems/test_gem_version_option.rb b/test/rubygems/test_gem_version_option.rb index 396fc6277c18..49a8513dbe82 100644 --- a/test/rubygems/test_gem_version_option.rb +++ b/test/rubygems/test_gem_version_option.rb @@ -56,7 +56,7 @@ def test_platform_option_ruby @cmd.handle_options %w[--platform ruby] expected = [ - Gem::Platform::RUBY + Gem::Platform::RUBY, ] assert_equal expected, Gem.platforms diff --git a/test/rubygems/test_require.rb b/test/rubygems/test_require.rb index 2b6620cc65ec..8c7d06edc3c1 100644 --- a/test/rubygems/test_require.rb +++ b/test/rubygems/test_require.rb @@ -120,7 +120,7 @@ def test_dash_i_beats_default_gems c1 = new_default_spec "c", "1", nil, "c/c.rb" c2 = new_default_spec "c", "2", nil, "c/c.rb" - install_default_specs c1, c2, b1, a1 + install_default_gems c1, c2, b1, a1 dir = Dir.mktmpdir("test_require", @tempdir) dash_i_arg = File.join dir, 'lib' @@ -405,8 +405,8 @@ def test_require_works_after_cleanup # Remove an old default gem version directly from disk as if someone ran # gem cleanup. - FileUtils.rm_rf(File.join @default_dir, "#{b1.full_name}") - FileUtils.rm_rf(File.join @default_spec_dir, "#{b1.full_name}.gemspec") + FileUtils.rm_rf(File.join @gemhome, "#{b1.full_name}") + FileUtils.rm_rf(File.join @gemhome, "specifications", "default", "#{b1.full_name}.gemspec") # Require gems that have not been removed. assert_require 'a/b' @@ -433,7 +433,7 @@ def test_require_doesnt_traverse_development_dependencies def test_default_gem_only default_gem_spec = new_default_spec("default", "2.0.0.0", nil, "default/gem.rb") - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) assert_require "default/gem" assert_equal %w[default-2.0.0.0], loaded_spec_names end @@ -441,7 +441,7 @@ def test_default_gem_only def test_default_gem_require_activates_just_once default_gem_spec = new_default_spec("default", "2.0.0.0", nil, "default/gem.rb") - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) assert_require "default/gem" @@ -506,7 +506,7 @@ def test_realworld_upgraded_default_gem def test_default_gem_and_normal_gem default_gem_spec = new_default_spec("default", "2.0.0.0", nil, "default/gem.rb") - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) normal_gem_spec = util_spec("default", "3.0", nil, "lib/default/gem.rb") install_specs(normal_gem_spec) @@ -544,11 +544,11 @@ def message def test_default_gem_prerelease default_gem_spec = new_default_spec("default", "2.0.0", nil, "default/gem.rb") - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) normal_gem_higher_prerelease_spec = util_spec("default", "3.0.0.rc2", nil, "lib/default/gem.rb") - install_default_specs(normal_gem_higher_prerelease_spec) + install_default_gems(normal_gem_higher_prerelease_spec) assert_require "default/gem" assert_equal %w[default-3.0.0.rc2], loaded_spec_names @@ -586,7 +586,7 @@ class << ::Gem def test_require_when_gem_defined default_gem_spec = new_default_spec("default", "2.0.0.0", nil, "default/gem.rb") - install_default_specs(default_gem_spec) + install_default_gems(default_gem_spec) c = Class.new do def self.gem(*args) raise "received #gem with #{args.inspect}" @@ -677,6 +677,47 @@ def test_require_bundler_with_bundler_version end end end + + def test_no_crash_when_overriding_warn_with_warning_module + skip "https://github.com/oracle/truffleruby/issues/2109" if RUBY_ENGINE == "truffleruby" + + Dir.mktmpdir("warn_test") do |dir| + File.write(dir + "/main.rb", "module Warning; def warn(str); super; end; end; warn 'Foo Bar'") + _, err = capture_subprocess_io do + system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "main.rb") + end + assert_match(/Foo Bar\n$/, err) + _, err = capture_subprocess_io do + system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "main.rb") + end + assert_match(/Foo Bar\n$/, err) + end + end + + def test_expected_backtrace_location_when_inheriting_from_basic_object_and_including_kernel + Dir.mktmpdir("warn_test") do |dir| + File.write(dir + "/main.rb", "\nrequire 'sub'\n") + File.write(dir + "/sub.rb", <<-'RUBY') + require 'rubygems' + class C < BasicObject + include ::Kernel + def deprecated + warn "This is a deprecated method", uplevel: 2 + end + end + C.new.deprecated + RUBY + + _, err = capture_subprocess_io do + system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "-I", dir, "main.rb") + end + assert_match(/main\.rb:2: warning: This is a deprecated method$/, err) + _, err = capture_subprocess_io do + system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "-I", dir, "main.rb") + end + assert_match(/main\.rb:2: warning: This is a deprecated method$/, err) + end + end end private diff --git a/util/create_certs.rb b/util/create_certs.rb index d1001ecfcbfd..86545fe3ead9 100644 --- a/util/create_certs.rb +++ b/util/create_certs.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true require 'openssl' -require 'time' class CertificateBuilder attr_reader :start @@ -55,7 +54,7 @@ def create_certificate(key, subject, issuer_key, issuer_cert, cert.extensions = [ ef.create_extension('subjectAltName', "email:#{subject}@example"), - ef.create_extension('subjectKeyIdentifier', 'hash') + ef.create_extension('subjectKeyIdentifier', 'hash'), ] if cert != issuer_cert # not self-signed cert diff --git a/util/remove_openssl.rb b/util/remove_openssl.rb deleted file mode 100644 index a98f227f28de..000000000000 --- a/util/remove_openssl.rb +++ /dev/null @@ -1,55 +0,0 @@ -# frozen_string_literal: true - -require "rbconfig" -require "fileutils" - -class OpensslSimulator - attr_reader :openssl_rb, :openssl_gemspec, :openssl_ext - - def initialize - archdir = RbConfig::CONFIG["archdir"] - rubylibdir = RbConfig::CONFIG["rubylibdir"] - default_specifications_dir = Gem.default_specifications_dir - - @openssl_rb = File.join(rubylibdir, "openssl.rb") - @openssl_gemspec = Dir.glob("#{default_specifications_dir}/openssl-*.gemspec").first - - @openssl_ext = if RUBY_PLATFORM == "java" - File.join(rubylibdir, "jopenssl.jar") - else - File.join(archdir, "openssl.so") - end - end - - def hide_openssl - hide_file openssl_rb - hide_file openssl_ext - hide_file openssl_gemspec if openssl_gemspec - end - - def unhide_openssl - unhide_file openssl_gemspec if openssl_gemspec - unhide_file openssl_ext - unhide_file openssl_rb - end - - private - - def hide_file(file) - FileUtils.mv file, file + "_" - end - - def unhide_file(file) - FileUtils.mv file + "_", file - end -end - -if $0 == __FILE__ - openssl_simulate = OpensslSimulator.new - - if ARGV[0] == "--revert" - openssl_simulate.unhide_openssl - else - openssl_simulate.hide_openssl - end -end diff --git a/util/update_bundled_ca_certificates.rb b/util/update_bundled_ca_certificates.rb index 8acef9486db9..e17fc1ca7a79 100644 --- a/util/update_bundled_ca_certificates.rb +++ b/util/update_bundled_ca_certificates.rb @@ -5,16 +5,13 @@ URIS = [ URI('https://rubygems.org'), + URI('https://www.rubygems.org'), URI('https://index.rubygems.org'), URI('https://staging.rubygems.org'), - URI('https://fastly.rubygems.org'), - URI('https://rubygems.global.ssl.fastly.net'), ].freeze HOSTNAMES_TO_MAP = [ - 'rubygems.global.ssl.fastly.net', 'rubygems.org', - 'index.rubygems.org' ].freeze def connect_to(uri, store)