1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[bundler/bundler] Extract a with_root_gemspec helper

https://github.com/bundler/bundler/commit/f20c2bdf6a
This commit is contained in:
David Rodríguez 2019-08-15 18:53:51 +02:00 committed by Hiroshi SHIBATA
parent 20c5154f0b
commit 09455301ef
No known key found for this signature in database
GPG key ID: F9CF13417264FAC2
3 changed files with 14 additions and 14 deletions

View file

@ -225,13 +225,7 @@ RSpec.describe "The library itself" do
end
it "can still be built" do
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") }
FileUtils.rm(root.join("bundler.gemspec"))
else
with_root_gemspec do |gemspec|
Dir.chdir(root) { gem_command! :build, gemspec }
end

View file

@ -298,13 +298,7 @@ module Spec
gem_repo = options.fetch(:gem_repo) { gem_repo1 }
gems.each do |g|
path = if g == :bundler
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") }
FileUtils.rm(root.join("bundler.gemspec"))
else
with_root_gemspec do |gemspec|
Dir.chdir(root) { gem_command! :build, gemspec }
end
bundler_path = root.join("bundler-#{Bundler::VERSION}.gem")

View file

@ -132,6 +132,18 @@ module Spec
tmp "tmpdir", *args
end
def with_root_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 }
yield(root.join("bundler.gemspec"))
FileUtils.rm(root.join("bundler.gemspec"))
else
yield(gemspec)
end
end
def ruby_core?
# avoid to wornings
@ruby_core ||= nil