aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2015-04-03 23:07:55 +1030
committerMatthew Draper <matthew@trebex.net>2015-04-03 23:07:55 +1030
commitfaa37c76521f954c75cd18ea8f9e736c304fdb68 (patch)
treed43a0b5a44d450c61ae71e5681889298f33ec863
parentca14f11b07cf7ae672cf60f10810c4511d096683 (diff)
parent2a5bb9d56e785e8b8f70c24621d469c473c9061a (diff)
downloadrails-faa37c76521f954c75cd18ea8f9e736c304fdb68.tar.gz
rails-faa37c76521f954c75cd18ea8f9e736c304fdb68.tar.bz2
rails-faa37c76521f954c75cd18ea8f9e736c304fdb68.zip
Merge pull request #19429 from mxhold/print_bundle_install_output_line_by_line
Print `bundle install` output in `rails new` as soon as it's available
-rw-r--r--railties/CHANGELOG.md7
-rw-r--r--railties/lib/rails/generators/app_base.rb12
2 files changed, 13 insertions, 6 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index a181823576..e60feed15f 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,3 +1,10 @@
+* Print `bundle install` output in `rails new` as soon as it's available
+
+ Running `rails new` will now print the output of `bundle install` as
+ it is available, instead of waiting until all gems finish installing.
+
+ *Max Holder*
+
* Respect `pluralize_table_names` when generating fixture file.
Fixes #19519.
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb
index 813f8b21fd..10deeb0ba2 100644
--- a/railties/lib/rails/generators/app_base.rb
+++ b/railties/lib/rails/generators/app_base.rb
@@ -315,10 +315,6 @@ module Rails
# its own vendored Thor, which could be a different version. Running both
# things in the same process is a recipe for a night with paracetamol.
#
- # We use backticks and #print here instead of vanilla #system because it
- # is easier to silence stdout in the existing test suite this way. The
- # end-user gets the bundler commands called anyway, so no big deal.
- #
# We unset temporary bundler variables to load proper bundler and Gemfile.
#
# Thanks to James Tucker for the Gem tricks involved in this call.
@@ -326,8 +322,12 @@ module Rails
require 'bundler'
Bundler.with_clean_env do
- output = `"#{Gem.ruby}" "#{_bundle_command}" #{command}`
- print output unless options[:quiet]
+ full_command = %Q["#{Gem.ruby}" "#{_bundle_command}" #{command}]
+ if options[:quiet]
+ system(full_command, out: File::NULL)
+ else
+ system(full_command)
+ end
end
end