From 3661d0521fa2cf4cdf9efa51c69cad4ea93fa2b3 Mon Sep 17 00:00:00 2001 From: hsbt Date: Mon, 18 Feb 2019 09:46:25 +0000 Subject: [PATCH] The ruby core applied the difference structure from bundler upstream repository. We need to modify a configuration for test-bundler. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/bundler/quality_spec.rb | 14 +++++++++++--- spec/bundler/support/helpers.rb | 12 ++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/spec/bundler/quality_spec.rb b/spec/bundler/quality_spec.rb index ce7058afc0..1b40ecce12 100644 --- a/spec/bundler/quality_spec.rb +++ b/spec/bundler/quality_spec.rb @@ -225,7 +225,16 @@ RSpec.describe "The library itself" do it "can still be built" do Dir.chdir(root) do begin - gem_command! :build, gemspec + if ruby_core? + spec = Gem::Specification.load(gemspec.to_s) + spec.bindir = "libexec" + File.open(root.join("bundler.gemspec").to_s, "w"){|f| f.write spec.to_ruby } + gem_command! :build, root.join("bundler.gemspec").to_s + FileUtils.rm(root.join("bundler.gemspec").to_s) + else + gem_command! :build, gemspec + end + if Bundler.rubygems.provides?(">= 2.4") # there's no way aroudn this warning last_command.stderr.sub!(/^YAML safe loading.*/, "") @@ -236,8 +245,7 @@ RSpec.describe "The library itself" do end ensure # clean up the .gem generated - path_prefix = ruby_core? ? "lib/" : "./" - FileUtils.rm("#{path_prefix}bundler-#{Bundler::VERSION}.gem") + FileUtils.rm("bundler-#{Bundler::VERSION}.gem") end end end diff --git a/spec/bundler/support/helpers.rb b/spec/bundler/support/helpers.rb index 43bf6af229..fbe63a2641 100644 --- a/spec/bundler/support/helpers.rb +++ b/spec/bundler/support/helpers.rb @@ -313,12 +313,16 @@ module Spec gem_repo = options.fetch(:gem_repo) { gem_repo1 } gems.each do |g| path = if g == :bundler - Dir.chdir(root) { gem_command! :build, gemspec.to_s } - bundler_path = if ruby_core? - root + "lib/bundler-#{Bundler::VERSION}.gem" + if ruby_core? + spec = Gem::Specification.load(gemspec.to_s) + spec.bindir = "libexec" + File.open(root.join("bundler.gemspec").to_s, "w"){|f| f.write spec.to_ruby } + Dir.chdir(root) { gem_command! :build, root.join("bundler.gemspec").to_s } + FileUtils.rm(root.join("bundler.gemspec")) else - root + "bundler-#{Bundler::VERSION}.gem" + Dir.chdir(root) { gem_command! :build, gemspec.to_s } end + bundler_path = root + "bundler-#{Bundler::VERSION}.gem" elsif g.to_s =~ %r{\A/.*\.gem\z} g else