diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2018-10-02 16:05:03 -0700 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2018-10-02 16:05:03 -0700 |
commit | e11f84ee3a6d9a7fe77e3b1e112a6625c1df0ee4 (patch) | |
tree | d5bfaadb69565208c7ee8e778cc72b1f74ff01c9 /lib | |
parent | d28ce034b51a7ea08e81ee319383ab35ca25cb32 (diff) | |
download | rails-e11f84ee3a6d9a7fe77e3b1e112a6625c1df0ee4.tar.gz rails-e11f84ee3a6d9a7fe77e3b1e112a6625c1df0ee4.tar.bz2 rails-e11f84ee3a6d9a7fe77e3b1e112a6625c1df0ee4.zip |
Use an app template installer instead for nicer overwriting checks
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tasks/actiontext.rake | 32 | ||||
-rw-r--r-- | lib/templates/installer.rb | 9 |
2 files changed, 15 insertions, 26 deletions
diff --git a/lib/tasks/actiontext.rake b/lib/tasks/actiontext.rake index 6ec30f86e7..4f90e4930c 100644 --- a/lib/tasks/actiontext.rake +++ b/lib/tasks/actiontext.rake @@ -5,36 +5,16 @@ namespace :action_text do Rake::Task["install:migrations"].clear_comments desc "Copy over the migration, stylesheet, and JavaScript files" - task install: %w( environment copy_migrations copy_stylesheet copy_fixtures yarn_add ) + task install: %w( environment run_installer copy_migrations ) + + task :run_installer do + installer_template = File.expand_path("../templates/installer.rb", __dir__) + system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{installer_template}" + end task :copy_migrations do Rake::Task["active_storage:install:migrations"].invoke Rake::Task["railties:install:migrations"].reenable # Otherwise you can't run 2 migration copy tasks in one invocation Rake::Task["action_text:install:migrations"].invoke end - - STYLESHEET_TEMPLATE_PATH = File.expand_path("../templates/actiontext.css", __dir__) - STYLESHEET_APP_PATH = Rails.root.join("app/assets/stylesheets/actiontext.css") - - task :copy_stylesheet do - unless File.exist?(STYLESHEET_APP_PATH) - FileUtils.cp STYLESHEET_TEMPLATE_PATH, STYLESHEET_APP_PATH - end - end - - FIXTURE_TEMPLATE_PATH = File.expand_path("../templates/fixtures.yml", __dir__) - FIXTURE_APP_DIR_PATH = Rails.root.join("test/fixtures/action_text") - FIXTURE_APP_PATH = FIXTURE_APP_DIR_PATH.join("rich_texts.yml") - - task :copy_fixtures do - unless File.exist?(FIXTURE_APP_PATH) - FileUtils.mkdir FIXTURE_APP_DIR_PATH - FileUtils.cp FIXTURE_TEMPLATE_PATH, FIXTURE_APP_PATH - end - end - - task :yarn_add do - # FIXME: Replace with release version on release - system "yarn add https://github.com/basecamp/actiontext" - end end diff --git a/lib/templates/installer.rb b/lib/templates/installer.rb new file mode 100644 index 0000000000..4019b35490 --- /dev/null +++ b/lib/templates/installer.rb @@ -0,0 +1,9 @@ +say "Copying actiontext.css to app/assets/stylesheets" +copy_file "#{__dir__}/actiontext.css", "app/assets/stylesheets/actiontext.css" + +say "Copying fixtures to test/fixtures/action_text/rich_texts.yml" +copy_file "#{__dir__}/fixtures.yml", "test/fixtures/action_text/rich_texts.yml" + +# FIXME: Replace with release version on release +say "Installing JavaScript dependency" +run "yarn add https://github.com/basecamp/actiontext" |