tasks/release.rake in manveru-nagoro-2009.03.28 vs tasks/release.rake in manveru-nagoro-2009.05
- old
+ new
@@ -1,12 +1,52 @@
-desc 'publish to github'
-task :release => [:reversion, :gemspec] do
- name, version = GEMSPEC.name, GEMSPEC.version
+namespace :release do
+ task :all => [:release_github, :release_rubyforge]
- sh("git add MANIFEST CHANGELOG #{name}.gemspec lib/#{name}/version.rb")
+ desc 'Display instructions to release on github'
+ task :github => [:reversion, :gemspec] do
+ name, version = GEMSPEC.name, GEMSPEC.version
- puts "I added the relevant files, you can now run:", ''
- puts "git commit -m 'Version #{version}'"
- puts "git tag -a -m '#{version}' '#{version}'"
- puts "git push"
- puts
+ puts <<INSTRUCTIONS
+First add the relevant files:
+
+git add MANIFEST CHANGELOG #{name}.gemspec lib/#{name}/version.rb
+
+Then commit them, tag the commit, and push:
+
+git commit -m 'Version #{version}'
+git tag -a -m '#{version}' '#{version}'
+git push
+
+INSTRUCTIONS
+
+ end
+
+ # TODO: Not tested
+ desc 'Display instructions to release on rubyforge'
+ task :rubyforge => [:reversion, :gemspec, :package] do
+ name, version = GEMSPEC.name, GEMSPEC.version
+
+ puts <<INSTRUCTIONS
+To publish to rubyforge do following:
+
+rubyforge login
+rubyforge add_release #{name} #{name} '#{version}' pkg/#{name}-#{version}.gem
+
+After you have done these steps, see:
+
+rake release:rubyforge_archives
+
+INSTRUCTIONS
+ end
+
+ desc 'Display instructions to add archives after release:rubyforge'
+ task :rubyforge_archives do
+ name, version = GEMSPEC.name, GEMSPEC.version
+ puts "Adding archives for distro packagers is:", ""
+
+ Dir["pkg/#{name}-#{version}.{tgz,zip}"].each do |file|
+ puts "rubyforge add_file #{name} #{name} '#{version}' '#{file}'"
+ end
+
+ puts
+ end
end