From 2c667814c8ea47a5e73b60a2bd846bd31fef3a32 Mon Sep 17 00:00:00 2001 From: bogdanvlviv Date: Sat, 11 Aug 2018 18:51:10 +0300 Subject: [PATCH] `bundle binstubs bundler` should be executed after `bundle install` Fixes: `bundle binstubs bundler` doesn't generate `bin/bundle` for newly generated Rails app. ``` ... (snip) run bundle binstubs bundler The git source https://github.com/rails/web-console.git is not yet checked out. Please run `bundle install` before trying to start your application run bundle install Fetching https://github.com/rails/web-console.git (snip) ... ``` Related to #33202 --- railties/lib/rails/generators/rails/app/app_generator.rb | 5 ++--- railties/test/generators/app_generator_test.rb | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index dd6ec127dc7c0..a6d160f1eb22f 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -298,8 +298,6 @@ def create_bin_files build(:bin) end - public_task :generate_bundler_binstub - def update_bin_files build(:bin_when_updating) end @@ -471,7 +469,8 @@ def finish_template end public_task :apply_rails_template, :run_bundle - public_task :run_webpack, :generate_spring_binstubs + public_task :generate_bundler_binstub, :generate_spring_binstubs + public_task :run_webpack def run_after_bundle_callbacks @after_bundle_callbacks.each(&:call) diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 0d6c1338bec3f..f33a7bd99dd5d 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -972,7 +972,7 @@ def test_after_bundle_callback template end - sequence = ["git init", "binstubs bundler", "install", "exec spring binstub --all", "echo ran after_bundle"] + sequence = ["git init", "install", "binstubs bundler", "exec spring binstub --all", "echo ran after_bundle"] @sequence_step ||= 0 ensure_bundler_first = -> command, options = nil do assert_equal sequence[@sequence_step], command, "commands should be called in sequence #{sequence}"