summary refs log tree commit
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-12-26 11:03:42 -0600
committerJoshua Peek <josh@joshpeek.com>2009-12-26 11:04:58 -0600
commit806e6e3be27d033037c993b3c1570d3fcbda5024 (patch)
tree80a9073af254790fbfb1fb0c179fe8c1bbf1619e
parent2a8c937af7dc9c1e7dc5fb59e8ba70c6cd1b86e8 (diff)
downloadrack-806e6e3be27d033037c993b3c1570d3fcbda5024.tar.gz
Restore old school tar release tools
-rw-r--r--Rakefile25
1 files changed, 25 insertions, 0 deletions
diff --git a/Rakefile b/Rakefile
index 67610d59..373f5889 100644
--- a/Rakefile
+++ b/Rakefile
@@ -6,6 +6,31 @@ require 'rake/testtask'
 desc "Run all the tests"
 task :default => [:test]
 
+desc "Make an archive as .tar.gz"
+task :dist => [:chmod, :changelog, :rdoc, "SPEC"] do
+  FileUtils.touch("RDOX")
+  sh "git archive --format=tar --prefix=#{release}/ HEAD^{tree} >#{release}.ta~
+  sh "pax -waf #{release}.tar -s ':^:#{release}/:' RDOX SPEC ChangeLog doc rac~
+  sh "gzip -f -9 #{release}.tar"
+end
+
+desc "Make an official release"
+task :officialrelease do
+  puts "Official build for #{release}..."
+  sh "rm -rf stage"
+  sh "git clone --shared . stage"
+  sh "cd stage && rake officialrelease_really"
+  sh "mv stage/#{release}.tar.gz stage/#{release}.gem ."
+end
+
+task :officialrelease_really => [:fulltest, "RDOX", "SPEC", :dist, :gem] do
+  sh "sha1sum #{release}.tar.gz #{release}.gem"
+end
+
+def release
+  require File.dirname(__FILE__) + "/lib/rack"
+  "rack-#{Rack.release}"
+end
 
 desc "Make binaries executable"
 task :chmod do