From 5985713335eb8579c1df1bee271c6e350797c172 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 28 Apr 2012 11:07:59 +0000 Subject: [PATCH] Restores plugin assets mirroring on startup, but it can now be disabled in configuration.yml. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9561 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- config/configuration.yml.example | 6 ++++++ config/initializers/30-redmine.rb | 3 +++ lib/redmine/plugin.rb | 7 +++++++ lib/tasks/redmine.rake | 5 +---- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/config/configuration.yml.example b/config/configuration.yml.example index 50de2edcf..9fefdde22 100644 --- a/config/configuration.yml.example +++ b/config/configuration.yml.example @@ -148,6 +148,12 @@ default: # * encrypt data using 'rake db:encrypt RAILS_ENV=production' database_cipher_key: + # Set this to false to disable plugins' assets mirroring on startup. + # You can use `rake redmine:plugins:assets` to manually mirror assets + # to public/plugin_assets when you install/upgrade a Redmine plugin. + # + #mirror_plugins_assets_on_startup: false + # specific configuration options for production environment # that overrides the default ones production: diff --git a/config/initializers/30-redmine.rb b/config/initializers/30-redmine.rb index 4286081db..58972b023 100644 --- a/config/initializers/30-redmine.rb +++ b/config/initializers/30-redmine.rb @@ -5,3 +5,6 @@ I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks) require 'redmine' Redmine::Plugin.load +unless Redmine::Configuration['mirror_plugins_assets_on_startup'] == false + Redmine::Plugin.mirror_assets +end diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index 1f57c4d0c..090deb535 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -359,6 +359,13 @@ module Redmine #:nodoc: end end + # Mirrors all plugins' assets to public/plugin_assets + def self.mirror_assets + all.each do |plugin| + plugin.mirror_assets + end + end + # The directory containing this plugin's migrations (plugin/db/migrate) def migration_directory File.join(Rails.root, 'plugins', id.to_s, 'db', 'migrate') diff --git a/lib/tasks/redmine.rake b/lib/tasks/redmine.rake index 8a6b98b44..0422785ce 100644 --- a/lib/tasks/redmine.rake +++ b/lib/tasks/redmine.rake @@ -59,10 +59,7 @@ namespace :redmine do desc 'Copies plugins assets into the public directory.' task :assets => :environment do - Redmine::Plugin.all.each do |plugin| - puts "Copying #{plugin.name} assets..." - plugin.mirror_assets - end + Redmine::Plugin.mirror_assets end end end