mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Move Spring machinery to boot.rb
This partially reverts #39225, and folds `boot_with_spring.rb` into `boot.rb`. Fixes #39622.
This commit is contained in:
parent
2fefd53320
commit
a6c958b3a7
8 changed files with 13 additions and 28 deletions
|
@ -1219,7 +1219,7 @@ If you want to use Spring as your application preloader you need to:
|
||||||
|
|
||||||
1. Add `gem 'spring', group: :development` to your `Gemfile`.
|
1. Add `gem 'spring', group: :development` to your `Gemfile`.
|
||||||
2. Install spring using `bundle install`.
|
2. Install spring using `bundle install`.
|
||||||
3. Springify your binstubs with `bundle exec spring binstub --all`.
|
3. Generate the Spring binstub with `bundle exec spring binstub`.
|
||||||
|
|
||||||
NOTE: User defined rake tasks will run in the `development` environment by
|
NOTE: User defined rake tasks will run in the `development` environment by
|
||||||
default. If you want them to run in other environments consult the
|
default. If you want them to run in other environments consult the
|
||||||
|
|
|
@ -31,11 +31,6 @@
|
||||||
|
|
||||||
*Haroon Ahmed*, *Xavier Noria*
|
*Haroon Ahmed*, *Xavier Noria*
|
||||||
|
|
||||||
* Use explicit `config/boot_with_spring.rb` boot file for bin/rails and bin/rake, which allows us to restrict Spring loading
|
|
||||||
to only test and development, and everywhere to be able to skip spring by passing UNSPRUNG=1 as an env variable.
|
|
||||||
|
|
||||||
*DHH*
|
|
||||||
|
|
||||||
* The `classic` autoloader starts its deprecation cycle.
|
* The `classic` autoloader starts its deprecation cycle.
|
||||||
|
|
||||||
New Rails projects are strongly discouraged from using `classic`, and we recommend that existing projects running on `classic` switch to `zeitwerk` mode when upgrading. Please check the [_Upgrading Ruby on Rails_](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html) guide for tips.
|
New Rails projects are strongly discouraged from using `classic`, and we recommend that existing projects running on `classic` switch to `zeitwerk` mode when upgrading. Please check the [_Upgrading Ruby on Rails_](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html) guide for tips.
|
||||||
|
|
|
@ -388,11 +388,6 @@ module Rails
|
||||||
template "config/boot.rb"
|
template "config/boot.rb"
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_boot_with_spring_file
|
|
||||||
return if options[:skip_spring]
|
|
||||||
template "config/boot_with_spring.rb"
|
|
||||||
end
|
|
||||||
|
|
||||||
def create_active_record_files
|
def create_active_record_files
|
||||||
return if options[:skip_active_record]
|
return if options[:skip_active_record]
|
||||||
build(:database_yml)
|
build(:database_yml)
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
APP_PATH = File.expand_path('../config/application', __dir__)
|
APP_PATH = File.expand_path('../config/application', __dir__)
|
||||||
<% if options.skip_spring? -%>
|
|
||||||
require_relative "../config/boot"
|
require_relative "../config/boot"
|
||||||
<% else -%>
|
|
||||||
require_relative "../config/boot_with_spring"
|
|
||||||
<% end -%>
|
|
||||||
require "rails/commands"
|
require "rails/commands"
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
<% if options.skip_spring? -%>
|
|
||||||
require_relative "../config/boot"
|
require_relative "../config/boot"
|
||||||
<% else -%>
|
|
||||||
require_relative "../config/boot_with_spring"
|
|
||||||
<% end -%>
|
|
||||||
require "rake"
|
require "rake"
|
||||||
Rake.application.run
|
Rake.application.run
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
<% unless options.skip_spring? -%>
|
||||||
|
begin
|
||||||
|
load File.expand_path("../bin/spring", __dir__)
|
||||||
|
rescue LoadError => e
|
||||||
|
raise unless e.path.end_with?("/bin/spring")
|
||||||
|
end
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
||||||
|
|
||||||
require "bundler/setup" # Set up gems listed in the Gemfile.
|
require "bundler/setup" # Set up gems listed in the Gemfile.
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
if ENV["UNSPRUNG"].nil? && (ENV["RAILS_ENV"].nil? || ENV["RAILS_ENV"] == "development" || ENV["RAILS_ENV"] == "test")
|
|
||||||
begin
|
|
||||||
load File.expand_path("../../bin/spring", __FILE__)
|
|
||||||
rescue LoadError => e
|
|
||||||
raise unless e.message.include?("spring")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require_relative "boot"
|
|
|
@ -859,6 +859,7 @@ class AppGeneratorTest < Rails::Generators::TestCase
|
||||||
assert_match("config.cache_classes = false", contents)
|
assert_match("config.cache_classes = false", contents)
|
||||||
assert_match("config.action_view.cache_template_loading = true", contents)
|
assert_match("config.action_view.cache_template_loading = true", contents)
|
||||||
end
|
end
|
||||||
|
assert_file "config/boot.rb", %r{^\s*load .+/bin/spring"}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_bundler_binstub
|
def test_bundler_binstub
|
||||||
|
@ -892,6 +893,9 @@ class AppGeneratorTest < Rails::Generators::TestCase
|
||||||
assert_file("config/environments/test.rb") do |contents|
|
assert_file("config/environments/test.rb") do |contents|
|
||||||
assert_match("config.cache_classes = true", contents)
|
assert_match("config.cache_classes = true", contents)
|
||||||
end
|
end
|
||||||
|
assert_file "config/boot.rb" do |contents|
|
||||||
|
assert_no_match %r{bin/spring}, contents
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_spring_with_dev_option
|
def test_spring_with_dev_option
|
||||||
|
|
Loading…
Reference in a new issue