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