diff options
| author | Aaron Patterson <tenderlove@ruby-lang.org> | 2025-11-11 14:45:35 -0800 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2025-11-12 10:47:08 +0900 |
| commit | 9775d60222d5bbdbde662fd48f0273be65ff6cdb (patch) | |
| tree | 8bab333c53a593cdc1fd04b25ea2410350d0801b | |
| parent | b33da0a6aa886d6a7d17a20dd88f4de35c7fe066 (diff) | |
[ruby/rubygems] Shell out fewer times
This is a follow up to #9053. We can avoid shelling out for generating
the gem index.
https://github.com/ruby/rubygems/commit/e40bafe9f1
| -rw-r--r-- | spec/bundler/spec_helper.rb | 1 | ||||
| -rw-r--r-- | spec/bundler/support/builders.rb | 10 |
2 files changed, 3 insertions, 8 deletions
diff --git a/spec/bundler/spec_helper.rb b/spec/bundler/spec_helper.rb index d750218452..a3a7b57356 100644 --- a/spec/bundler/spec_helper.rb +++ b/spec/bundler/spec_helper.rb @@ -27,6 +27,7 @@ require "rspec/core" require "rspec/expectations" require "rspec/mocks" require "rspec/support/differ" +require "rubygems/indexer" require_relative "support/builders" require_relative "support/checksums" diff --git a/spec/bundler/support/builders.rb b/spec/bundler/support/builders.rb index 5ca227cf5b..1283dc4348 100644 --- a/spec/bundler/support/builders.rb +++ b/spec/bundler/support/builders.rb @@ -279,14 +279,8 @@ module Spec @_build_path = "#{path}/gems" @_build_repo = File.basename(path) yield - with_gem_path_as scoped_base_system_gem_path do - Dir[scoped_base_system_gem_path.join("gems/rubygems-generate_index*/lib")].first || - raise("Could not find rubygems-generate_index lib directory in #{scoped_base_system_gem_path}") - - command = "generate_index" - command += " --no-compact" if !build_compact_index && gem_command(command + " --help").include?("--[no-]compact") - gem_command command, dir: path - end + options = { build_compact: build_compact_index } + Gem::Indexer.new(path, options).generate_index ensure @_build_path = nil @_build_repo = nil |
