about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--Rakefile20
-rw-r--r--projects/gem_plugin/Rakefile6
-rw-r--r--projects/mongrel_config/Rakefile11
-rw-r--r--projects/mongrel_status/Rakefile6
-rw-r--r--tools/rakehelp.rb4
5 files changed, 35 insertions, 12 deletions
diff --git a/Rakefile b/Rakefile
index 0dcb663..8de27c3 100644
--- a/Rakefile
+++ b/Rakefile
@@ -17,7 +17,7 @@ task :default => [:compile, :test]
 
 desc "Compiles all extensions"
 task :compile => [:http11]
-task :package => [:clean,:compile]
+task :package => [:clean,:compile,:test]
 
 task :ragel do
   sh %{/usr/local/bin/ragel ext/http11/http11_parser.rl | /usr/local/bin/rlcodegen -G2 -o ext/http11/http11_parser.c}
@@ -72,10 +72,18 @@ task :package_win32 do
   end
 end
 
-task :gem_plugin_project do
-  sh %{cd projects/gem_plugin; rake gem_test; }
-end
 
-task :gem_test => [:gem_plugin_project, :package] do
+task :install do
+  sub_project("gem_plugin", :install)
+  sh %{rake package}
   sh %{sudo gem install pkg/mongrel-#{version}}
-end  
+  sub_project("mongrel_status", :install)
+  sub_project("mongrel_config", :install)
+end
+
+task :uninstall => [:clean] do
+  sub_project("mongrel_status", :uninstall)
+  sub_project("mongrel_config", :uninstall)
+  sh %{sudo gem uninstall mongrel}
+  sub_project("gem_plugin", :uninstall)
+end
diff --git a/projects/gem_plugin/Rakefile b/projects/gem_plugin/Rakefile
index 2a98b4c..0dbfcf2 100644
--- a/projects/gem_plugin/Rakefile
+++ b/projects/gem_plugin/Rakefile
@@ -26,10 +26,14 @@ setup_gem(name, version) do |spec|
   scripts=[]
 end
 
-task :gem_test => [:package] do
+task :install => [:test, :package] do
   sh %{sudo gem install pkg/#{name}-#{version}}
 end
 
+task :uninstall => [:clean] do
+  sh %{sudo gem uninstall #{name}}
+end
+
 task :site => [:rerdoc] do
   sh %{ scp -r doc/rdoc/* #{ENV['SSH_USER']}@rubyforge.org:/var/www/gforge-projects/mongrel/gem_plugin_rdoc/ }
 end
diff --git a/projects/mongrel_config/Rakefile b/projects/mongrel_config/Rakefile
index 0137dde..2c3c279 100644
--- a/projects/mongrel_config/Rakefile
+++ b/projects/mongrel_config/Rakefile
@@ -16,8 +16,9 @@ desc "Does a full compile, test run"
 task :default => [:test, :package, :gem_test]
 
 version="0.1"
+name="mongrel_config"
 
-setup_gem("mongrel_config", version) do |spec|
+setup_gem(name, version) do |spec|
   spec.summary = "Mongrel plugin that gives you web based config tool using Camping"
   spec.description = spec.summary
   spec.test_file = "test/test_config.rb"
@@ -29,7 +30,11 @@ setup_gem("mongrel_config", version) do |spec|
 end
 
 
-task :gem_test do
-  sh %{sudo gem install pkg/mongrel_config-#{version}.gem}
+task :install => [:test, :package] do
+  sh %{sudo gem install pkg/#{name}-#{version}.gem}
+end
+
+task :uninstall => [:clean] do
+  sh %{sudo gem uninstall #{name}}
 end
 
diff --git a/projects/mongrel_status/Rakefile b/projects/mongrel_status/Rakefile
index f55e680..cacfa84 100644
--- a/projects/mongrel_status/Rakefile
+++ b/projects/mongrel_status/Rakefile
@@ -27,6 +27,10 @@ setup_gem(name, version) do |spec|
   spec.add_dependency('gem_plugin', '>= 0.2')
 end
 
-task :gem_test do
+task :install => [:test, :package] do
   sh %{sudo gem install pkg/#{name}-#{version}.gem}
 end
+
+task :uninstall => [:clean] do
+  sh %{sudo gem uninstall #{name}}
+end
diff --git a/tools/rakehelp.rb b/tools/rakehelp.rb
index 35b9f9c..959175b 100644
--- a/tools/rakehelp.rb
+++ b/tools/rakehelp.rb
@@ -104,4 +104,6 @@ def setup_win32_gem(pkg_name, pkg_version)
   Gem::Builder.new(spec).build
 end
 
-
+def sub_project(project, target="")
+  sh %{cd projects/#{project}; rake #{target.to_s}; }
+end