From 63a986a634d03789e006fb267571bb4f61ec5e55 Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Tue, 3 Mar 2020 17:40:10 +0100 Subject: [PATCH 1/2] Rename the installation generator to solidus:install With this change we can provide a better experience to first-time users and avoid some confusion in the initial steps of onboarding. This is not a breaking change since the install process is done only when installing Solidus and existing users won't re-run this command again. --- README.md | 6 +++--- bin/rails-application-template | 2 +- bin/sandbox | 2 +- .../install/install_generator.rb | 3 ++- .../templates/config/initializers/spree.rb.tt | 0 .../vendor/assets/javascripts/spree/backend/all.js | 0 .../assets/javascripts/spree/frontend/all.js | 0 .../assets/stylesheets/spree/backend/all.css | 0 .../assets/stylesheets/spree/frontend/all.css | 0 core/lib/spree/testing_support/common_rake.rb | 6 +++--- .../first-time-installation.html.md | 6 +++--- .../getting-started/installation-options.html.md | 14 +++++++------- 12 files changed, 20 insertions(+), 19 deletions(-) rename core/lib/generators/{spree => solidus}/install/install_generator.rb (99%) rename core/lib/generators/{spree => solidus}/install/templates/config/initializers/spree.rb.tt (100%) rename core/lib/generators/{spree => solidus}/install/templates/vendor/assets/javascripts/spree/backend/all.js (100%) rename core/lib/generators/{spree => solidus}/install/templates/vendor/assets/javascripts/spree/frontend/all.js (100%) rename core/lib/generators/{spree => solidus}/install/templates/vendor/assets/stylesheets/spree/backend/all.css (100%) rename core/lib/generators/{spree => solidus}/install/templates/vendor/assets/stylesheets/spree/frontend/all.css (100%) diff --git a/README.md b/README.md index 03cc9d05e99..27e32ff86f0 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ After installing gems, you'll have to run the generators to create necessary configuration files and migrations. ```bash -bundle exec rails g spree:install +bundle exec rails g solidus:install bundle exec rails g solidus:auth:install bundle exec rake railties:install:migrations ``` @@ -156,11 +156,11 @@ gem 'solidus', github: 'solidusio/solidus' **Note: The master branch is not guaranteed to ever be in a fully functioning state. It is too risky to use this branch in production.** -By default, the installation generator (`rails g spree:install`) will run +By default, the installation generator (`rails g solidus:install`) will run migrations as well as adding seed and sample data. This can be disabled using ```bash -rails g spree:install --migrate=false --sample=false --seed=false +rails g solidus:install --migrate=false --sample=false --seed=false ``` You can always perform any of these steps later by using these commands. diff --git a/bin/rails-application-template b/bin/rails-application-template index a7c540f9bfc..bd8a8c16c72 100755 --- a/bin/rails-application-template +++ b/bin/rails-application-template @@ -118,7 +118,7 @@ RUBY after_bundle do generate( - "spree:install", + "solidus:install", "--auto-accept", "--user_class=Spree::User", "--enforce_available_locales=true", diff --git a/bin/sandbox b/bin/sandbox index 1b12896e096..808ff585325 100755 --- a/bin/sandbox +++ b/bin/sandbox @@ -61,7 +61,7 @@ RUBY unbundled bundle install --gemfile Gemfile unbundled bin/rails db:drop db:create -unbundled bin/rails generate spree:install \ +unbundled bin/rails generate solidus:install \ --auto-accept \ --user_class=Spree::User \ --enforce_available_locales=true \ diff --git a/core/lib/generators/spree/install/install_generator.rb b/core/lib/generators/solidus/install/install_generator.rb similarity index 99% rename from core/lib/generators/spree/install/install_generator.rb rename to core/lib/generators/solidus/install/install_generator.rb index 21975b5f05d..26701f1f161 100644 --- a/core/lib/generators/spree/install/install_generator.rb +++ b/core/lib/generators/solidus/install/install_generator.rb @@ -4,7 +4,7 @@ require 'bundler' require 'bundler/cli' -module Spree +module Solidus # @private class InstallGenerator < Rails::Generators::Base CORE_MOUNT_ROUTE = "mount Spree::Core::Engine" @@ -44,6 +44,7 @@ def add_files def additional_tweaks return unless File.exist? 'public/robots.txt' + append_file "public/robots.txt", <<-ROBOTS.strip_heredoc User-agent: * Disallow: /checkout diff --git a/core/lib/generators/spree/install/templates/config/initializers/spree.rb.tt b/core/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt similarity index 100% rename from core/lib/generators/spree/install/templates/config/initializers/spree.rb.tt rename to core/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt diff --git a/core/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js b/core/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/backend/all.js similarity index 100% rename from core/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js rename to core/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/backend/all.js diff --git a/core/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js b/core/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/frontend/all.js similarity index 100% rename from core/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js rename to core/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/frontend/all.js diff --git a/core/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css b/core/lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/backend/all.css similarity index 100% rename from core/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css rename to core/lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/backend/all.css diff --git a/core/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css b/core/lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/frontend/all.css similarity index 100% rename from core/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css rename to core/lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/frontend/all.css diff --git a/core/lib/spree/testing_support/common_rake.rb b/core/lib/spree/testing_support/common_rake.rb index d3b498fae42..c2e42c9f995 100644 --- a/core/lib/spree/testing_support/common_rake.rb +++ b/core/lib/spree/testing_support/common_rake.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -unless defined?(Spree::InstallGenerator) - require 'generators/spree/install/install_generator' +unless defined?(Solidus::InstallGenerator) + require 'generators/solidus/install/install_generator' end require 'generators/spree/dummy/dummy_generator' @@ -14,7 +14,7 @@ ENV["RAILS_ENV"] = 'test' Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--quiet"] - Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--auto-accept", "--migrate=false", "--seed=false", "--sample=false", "--quiet", "--user_class=#{args[:user_class]}"] + Solidus::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--auto-accept", "--migrate=false", "--seed=false", "--sample=false", "--quiet", "--user_class=#{args[:user_class]}"] puts "Setting up dummy database..." diff --git a/guides/source/developers/getting-started/first-time-installation.html.md b/guides/source/developers/getting-started/first-time-installation.html.md index a8e06ab523f..7e47ffe01a4 100644 --- a/guides/source/developers/getting-started/first-time-installation.html.md +++ b/guides/source/developers/getting-started/first-time-installation.html.md @@ -204,17 +204,17 @@ After the gems have been successfully installed, you need to create the necessary configuration files and instructions for the database using generators provided by Solidus and Railties. -First, run the `spree:install` generator: +First, run the `solidus:install` generator: ```bash -bundle exec rails generate spree:install +bundle exec rails generate solidus:install ``` This may take a few minutes to complete, and it requires some user confirmation. ### Set the administrator username and password -The `spree:install` generator prompts you to configure the Solidus administrator +The `solidus:install` generator prompts you to configure the Solidus administrator username and password values. The default values are as follows: diff --git a/guides/source/developers/getting-started/installation-options.html.md b/guides/source/developers/getting-started/installation-options.html.md index 936e6a48963..5bb1c0de780 100644 --- a/guides/source/developers/getting-started/installation-options.html.md +++ b/guides/source/developers/getting-started/installation-options.html.md @@ -11,29 +11,29 @@ gem 'solidus' ## Bleeding edge Solidus -If you want to use the bleeding edge version of Solidus, you can require the -Solidus GitHub repo's master branch: +If you want to use the bleeding edge version of Solidus, you can require the +Solidus GitHub repo's master branch: ```ruby gem 'solidus', github: 'solidusio/solidus' ``` The master branch is updated frequently and may break. Do not use this branch on -a production system. +a production system. -## Manually run migrations +## Manually run migrations -When you run the `spree:install` generator without arguments, it runs +When you run the `solidus:install` generator without arguments, it runs migrations, adds sample data, and seeds your database: ```bash -rails generate spree:install +rails generate solidus:install ``` You can use command arguments to skip any of these steps of the generator: ```bash -rails generate spree:install --migrate=false --sample=false --seed=false +rails generate solidus:install --migrate=false --sample=false --seed=false ``` If you want to perform these tasks later, you can use these commands. From 854e51c4d7a47b21c370923737eff2ad00023d7d Mon Sep 17 00:00:00 2001 From: Alberto Vena Date: Wed, 4 Mar 2020 11:15:27 +0100 Subject: [PATCH 2/2] Deprecate usage of spree:install generator This allows the old generator to continue working and it will print a deprecation warning at the end of the process to inform users that they need to switch to the new generator. I think that currently this is only used into other extensions or support gems, like solidus_dev_support. --- .../generators/spree/install/install_generator.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 core/lib/generators/spree/install/install_generator.rb diff --git a/core/lib/generators/spree/install/install_generator.rb b/core/lib/generators/spree/install/install_generator.rb new file mode 100644 index 00000000000..f65d23f4079 --- /dev/null +++ b/core/lib/generators/spree/install/install_generator.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require 'generators/solidus/install/install_generator' + +module Spree + # @private + class InstallGenerator < Solidus::InstallGenerator + def print_deprecation_warning + puts " " + puts "*" * 50 + puts "spree:install generator is deprecated, please use solidus:install." + puts " " + end + end +end