Renamed helpers to correspond to renamed Controller classes.
[merb_radiant.git] / lib / tasks / .svn / text-base / release.rake.svn-base
blob5a67ef8e5be5a00273db2b6ff5bd81f8b148f6c1
1 require 'rubygems'
2 require 'rake/testtask'
3 require 'rake/rdoctask'
4 require 'rake/gempackagetask'
5 require 'radiant'
7 PKG_NAME = 'radiant'
8 PKG_VERSION = Radiant::Version.to_s
9 PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
10 RUBY_FORGE_PROJECT = PKG_NAME
11 RUBY_FORGE_USER = ENV['RUBY_FORGE_USER'] || 'jlong'
13 RELEASE_NAME  = PKG_VERSION
14 RUBY_FORGE_GROUPID = '1337'
15 RUBY_FORGE_PACKAGEID = '1638'
17 RDOC_TITLE = "Radiant -- Publishing for Small Teams"
18 RDOC_EXTRAS = ["README", "CONTRIBUTORS", "CHANGELOG", "INSTALL", "LICENSE"]
20 namespace 'radiant' do
21   spec = Gem::Specification.new do |s|
22     s.name = PKG_NAME
23     s.version = PKG_VERSION
24     s.summary = 'A no-fluff content management system designed for small teams.'
25     s.description = "Radiant is a simple and powerful publishing system designed for small teams.\nIt is built with Rails and is similar to Textpattern or MovableType, but is\na general purpose content managment system--not merely a blogging engine."
26     s.homepage = 'http://radiantcms.org'
27     s.rubyforge_project = RUBY_FORGE_PROJECT
28     s.platform = Gem::Platform::RUBY
29     s.bindir = 'bin'
30     s.executables = (Dir['bin/*'] + Dir['scripts/*']).map { |file| File.basename(file) } 
31     s.add_dependency 'rake', '>= 0.7.1'
32     s.autorequire = 'radiant'
33     s.has_rdoc = true
34     s.rdoc_options << '--title' << RDOC_TITLE << '--line-numbers' << '--main' << 'README'
35     rdoc_excludes = Dir["**"].reject { |f| !File.directory? f }
36     rdoc_excludes.each do |e|
37       s.rdoc_options << '--exclude' << e
38     end
39     s.extra_rdoc_files = RDOC_EXTRAS
40     files = FileList['**/*']
41     files.exclude '**/._*'
42     files.exclude '**/*.rej'
43     files.exclude 'cache/'
44     files.exclude 'config/database.yml'
45     files.exclude 'config/locomotive.yml'
46     files.exclude 'config/lighttpd.conf'
47     files.exclude 'config/mongrel_mimes.yml'
48     files.exclude 'db/*.db'
49     files.exclude /^doc/
50     files.exclude 'log/*.log'
51     files.exclude 'log/*.pid'
52     files.include 'log/.keep'
53     files.exclude /^pkg/
54     files.include 'public/.htaccess'
55     files.exclude 'tmp/'
56     s.files = files.to_a
57   end
59   Rake::GemPackageTask.new(spec) do |pkg|
60     pkg.need_zip = true
61     pkg.need_tar = true
62   end
64   namespace :gem do
65     desc "Uninstall Gem"
66     task :uninstall do
67       sh "gem uninstall #{PKG_NAME}" rescue nil
68     end
70     desc "Build and install Gem from source"
71     task :install => [:package, :uninstall] do
72       chdir("#{RADIANT_ROOT}/pkg") do
73         latest = Dir["#{PKG_NAME}-*.gem"].last
74         sh "gem install #{latest}"
75       end
76     end
77   end
79   desc "Publish the release files to RubyForge."
80   task :release => [:gem, :package] do
81     files = ["gem", "tgz", "zip"].map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" }
83     system %{rubyforge login --username #{RUBY_FORGE_USER}}
84   
85     files.each do |file|
86       system %{rubyforge add_release #{RUBY_FORGE_GROUPID} #{RUBY_FORGE_PACKAGEID} "#{RELEASE_NAME}" #{file}}
87     end
88   end
89 end