From a685a8643f3897913aa0aeeca3f1392bb9da1cf8 Mon Sep 17 00:00:00 2001 From: David Rodríguez Date: Tue, 11 Jun 2019 11:45:09 +0200 Subject: [bundler/bundler] Fix `rake release` not prompting for OTP code Co-authored-by: Colby Swandale Co-authored-by: Kevin Deisz https://github.com/bundler/bundler/commit/1b2bbc7364 --- lib/bundler/gem_helper.rb | 9 ++++++++- spec/bundler/bundler/gem_helper_spec.rb | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/bundler/gem_helper.rb b/lib/bundler/gem_helper.rb index 33f1d51592..68f5e636ff 100644 --- a/lib/bundler/gem_helper.rb +++ b/lib/bundler/gem_helper.rb @@ -106,7 +106,7 @@ module Bundler unless allowed_push_host || Bundler.user_home.join(".gem/credentials").file? raise "Your rubygems.org credentials aren't set. Run `gem push` to set them." end - sh(gem_command) + sh_with_input(gem_command) Bundler.ui.confirm "Pushed #{name} #{version} to #{gem_push_host}" end @@ -180,6 +180,13 @@ module Bundler gemspec.name end + def sh_with_input(cmd) + Bundler.ui.debug(cmd) + SharedHelpers.chdir(base) do + abort unless Kernel.system(*cmd) + end + end + def sh(cmd, &block) out, status = sh_with_status(cmd, &block) unless status.success? diff --git a/spec/bundler/bundler/gem_helper_spec.rb b/spec/bundler/bundler/gem_helper_spec.rb index d104925de4..a21fd4c835 100644 --- a/spec/bundler/bundler/gem_helper_spec.rb +++ b/spec/bundler/bundler/gem_helper_spec.rb @@ -233,6 +233,12 @@ RSpec.describe Bundler::GemHelper do Rake.application["release"].invoke end + + it "uses Kernel.system" do + expect(Kernel).to receive(:system).with("gem", "push", app_gem_path.to_s, "--host", "http://example.org").and_return(true) + + Rake.application["release"].invoke + end end it "even if tag already exists" do @@ -255,7 +261,7 @@ RSpec.describe Bundler::GemHelper do before(:each) do Rake.application = Rake::Application.new subject.install - allow(subject).to receive(:sh) + allow(subject).to receive(:sh_with_input) end after(:each) do -- cgit v1.2.3