1 require 'rake/testtask'
5 desc "Run all Radiant extension migrations"
6 task :extensions => :environment do
7 require 'radiant/extension_migrator'
8 Radiant::ExtensionMigrator.migrate_extensions
11 namespace :remigrate do
12 desc "Migrate down and back up all Radiant extension migrations"
13 task :extensions => :environment do
14 require 'highline/import'
15 if agree("This task will destroy any data stored by extensions in the database. Are you sure you want to \ncontinue? [yn] ")
16 require 'radiant/extension_migrator'
17 Radiant::Extension.descendants.map(&:migrator).each {|m| m.migrate(0) }
18 Rake::Task['db:migrate:extensions'].invoke
25 desc "Runs tests on all available Radiant extensions, pass EXT=extension_name to test a single extension"
26 task :extensions => "db:test:prepare" do
27 extension_roots = Radiant::Extension.descendants.map(&:root)
29 extension_roots = extension_roots.select {|x| /\/(\d+_)?#{ENV["EXT"]}$/ === x }
30 if extension_roots.empty?
31 puts "Sorry, that extension is not installed."
34 extension_roots.each do |directory|
36 if RUBY_PLATFORM =~ /win32/
37 system "rake.cmd test"
47 desc "Runs specs on all available Radiant extensions, pass EXT=extension_name to test a single extension"
48 task :extensions => "db:test:prepare" do
49 extension_roots = Radiant::Extension.descendants.map(&:root)
51 extension_roots = extension_roots.select {|x| /\/(\d+_)?#{ENV["EXT"]}$/ === x }
52 if extension_roots.empty?
53 puts "Sorry, that extension is not installed."
56 extension_roots.each do |directory|
58 if RUBY_PLATFORM =~ /win32/
59 system "rake.cmd spec"
68 # Load any custom rakefiles from extensions
69 [Merb.root, RADIANT_ROOT].uniq.each do |root|
70 Dir[root + '/vendor/extensions/**/tasks/**/*.rake'].sort.each { |ext| load ext }