diff .svn/pristine/d6/d6fa2ab030f2e7ebc86e650e4acc6d8328176458.svn-base @ 1295:622f24f53b42 redmine-2.3

Update to Redmine SVN revision 11972 on 2.3-stable branch
author Chris Cannam
date Fri, 14 Jun 2013 09:02:21 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.svn/pristine/d6/d6fa2ab030f2e7ebc86e650e4acc6d8328176458.svn-base	Fri Jun 14 09:02:21 2013 +0100
@@ -0,0 +1,121 @@
+# Redmine - project management software
+# Copyright (C) 2006-2012  Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+namespace :redmine do
+  namespace :attachments do
+    desc 'Removes uploaded files left unattached after one day.'
+    task :prune => :environment do
+      Attachment.prune
+    end
+  end
+
+  namespace :tokens do
+    desc 'Removes expired tokens.'
+    task :prune => :environment do
+      Token.destroy_expired
+    end
+  end
+
+  namespace :watchers do
+    desc 'Removes watchers from what they can no longer view.'
+    task :prune => :environment do
+      Watcher.prune
+    end
+  end
+
+  desc 'Fetch changesets from the repositories'
+  task :fetch_changesets => :environment do
+    Repository.fetch_changesets
+  end
+
+  desc 'Migrates and copies plugins assets.'
+  task :plugins do
+    Rake::Task["redmine:plugins:migrate"].invoke
+    Rake::Task["redmine:plugins:assets"].invoke
+  end
+
+  namespace :plugins do
+    desc 'Migrates installed plugins.'
+    task :migrate => :environment do
+      name = ENV['NAME']
+      version = nil
+      version_string = ENV['VERSION']
+      if version_string
+        if version_string =~ /^\d+$/
+          version = version_string.to_i
+          if name.nil?
+            abort "The VERSION argument requires a plugin NAME."
+          end
+        else
+          abort "Invalid VERSION #{version_string} given."
+        end
+      end
+
+      begin
+        Redmine::Plugin.migrate(name, version)
+      rescue Redmine::PluginNotFound
+        abort "Plugin #{name} was not found."
+      end
+
+      Rake::Task["db:schema:dump"].invoke
+    end
+
+    desc 'Copies plugins assets into the public directory.'
+    task :assets => :environment do
+      name = ENV['NAME']
+
+      begin
+        Redmine::Plugin.mirror_assets(name)
+      rescue Redmine::PluginNotFound
+        abort "Plugin #{name} was not found."
+      end
+    end
+
+    desc 'Runs the plugins tests.'
+    task :test do
+      Rake::Task["redmine:plugins:test:units"].invoke
+      Rake::Task["redmine:plugins:test:functionals"].invoke
+      Rake::Task["redmine:plugins:test:integration"].invoke
+    end
+
+    namespace :test do
+      desc 'Runs the plugins unit tests.'
+      Rake::TestTask.new :units => "db:test:prepare" do |t|
+        t.libs << "test"
+        t.verbose = true
+        t.pattern = "plugins/#{ENV['NAME'] || '*'}/test/unit/**/*_test.rb"
+      end
+
+      desc 'Runs the plugins functional tests.'
+      Rake::TestTask.new :functionals => "db:test:prepare" do |t|
+        t.libs << "test"
+        t.verbose = true
+        t.pattern = "plugins/#{ENV['NAME'] || '*'}/test/functional/**/*_test.rb"
+      end
+
+      desc 'Runs the plugins integration tests.'
+      Rake::TestTask.new :integration => "db:test:prepare" do |t|
+        t.libs << "test"
+        t.verbose = true
+        t.pattern = "plugins/#{ENV['NAME'] || '*'}/test/integration/**/*_test.rb"
+      end
+    end
+  end
+end
+
+# Load plugins' rake tasks
+Dir[File.join(Rails.root, "plugins/*/lib/tasks/**/*.rake")].sort.each { |ext| load ext }