diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index 24f921f53..faa48f46a 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -359,10 +359,14 @@ module Redmine #:nodoc: end end - # Mirrors all plugins' assets to public/plugin_assets - def self.mirror_assets - all.each do |plugin| - plugin.mirror_assets + # Mirrors assets from one or all plugins to public/plugin_assets + def self.mirror_assets(name=nil) + if name.present? + find(name).mirror_assets + else + all.each do |plugin| + plugin.mirror_assets + end end end diff --git a/lib/tasks/redmine.rake b/lib/tasks/redmine.rake index a75483af2..90e642588 100644 --- a/lib/tasks/redmine.rake +++ b/lib/tasks/redmine.rake @@ -74,7 +74,13 @@ namespace :redmine do desc 'Copies plugins assets into the public directory.' task :assets => :environment do - Redmine::Plugin.mirror_assets + name = ENV['name'] + + begin + Redmine::Plugin.mirror_assets(name) + rescue Redmine::PluginNotFound + abort "Plugin #{name} was not found." + end end end end