From 1ae29debf4efbf5406221376bb062ff7d0efe310 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Wed, 8 Dec 2021 01:23:51 +0000 Subject: [PATCH] Fix redmine:plugins:assets rake task fails (#36287, #32938). Patch by Mizuki ISHIKAWA. git-svn-id: http://svn.redmine.org/redmine/trunk@21300 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/plugin_loader.rb | 8 ++++++-- lib/tasks/redmine.rake | 2 +- test/unit/lib/redmine/plugin_loader_test.rb | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/redmine/plugin_loader.rb b/lib/redmine/plugin_loader.rb index 7b05a8a3d..1d2f2db48 100644 --- a/lib/redmine/plugin_loader.rb +++ b/lib/redmine/plugin_loader.rb @@ -136,8 +136,12 @@ module Redmine @plugin_directories end - def self.mirror_assets - directories.each(&:mirror_assets) + def self.mirror_assets(name=nil) + if name.present? + directories.find{|d| d.to_s == File.join(directory, name)}.mirror_assets + else + directories.each(&:mirror_assets) + end end end end diff --git a/lib/tasks/redmine.rake b/lib/tasks/redmine.rake index 2bebaf18c..c7c257bfc 100644 --- a/lib/tasks/redmine.rake +++ b/lib/tasks/redmine.rake @@ -150,7 +150,7 @@ DESC name = ENV['NAME'] begin - Redmine::Plugin.mirror_assets(name) + Redmine::PluginLoader.mirror_assets(name) rescue Redmine::PluginNotFound abort "Plugin #{name} was not found." end diff --git a/test/unit/lib/redmine/plugin_loader_test.rb b/test/unit/lib/redmine/plugin_loader_test.rb index 43d100521..2b103420e 100644 --- a/test/unit/lib/redmine/plugin_loader_test.rb +++ b/test/unit/lib/redmine/plugin_loader_test.rb @@ -41,6 +41,20 @@ class Redmine::PluginLoaderTest < ActiveSupport::TestCase assert File.exist?("#{@klass.public_directory}/foo_plugin/stylesheets/foo.css") end + def test_mirror_assets + Redmine::PluginLoader.mirror_assets + + assert File.exist?("#{@klass.public_directory}/foo_plugin") + assert File.exist?("#{@klass.public_directory}/foo_plugin/stylesheets/foo.css") + end + + def test_mirror_assets_with_plugin_name + Redmine::PluginLoader.mirror_assets('foo_plugin') + + assert File.exist?("#{@klass.public_directory}/foo_plugin") + assert File.exist?("#{@klass.public_directory}/foo_plugin/stylesheets/foo.css") + end + def clear_public FileUtils.rm_rf 'tmp/public' end -- 2.39.5