Author: donaldp
Date: Wed Nov 7 17:51:36 2012
New Revision: 1406737
URL: http://svn.apache.org/viewvc?rev=1406737&view=rev
Log:
Re-add rubyforge into the release process
Modified:
buildr/trunk/rakelib/release.rake
buildr/trunk/rakelib/stage.rake
Modified: buildr/trunk/rakelib/release.rake
URL:
http://svn.apache.org/viewvc/buildr/trunk/rakelib/release.rake?rev=1406737&r1=1406736&r2=1406737&view=diff
==============================================================================
--- buildr/trunk/rakelib/release.rake (original)
+++ buildr/trunk/rakelib/release.rake Wed Nov 7 17:51:36 2012
@@ -42,6 +42,24 @@ task 'release' do
puts "[X] Uploaded new site to #{spec.name}.apache.org"
end.call
+ # Upload binary and source packages to RubyForge.
+ lambda do
+ # update rubyforge projects, processors, etc. in local config
+ sh 'rubyforge', 'config'
+ files = FileList["_release/#{spec.version}/dist/*.{gem,tgz,zip}"]
+ puts "Uploading #{spec.version} to RubyForge ... "
+ rubyforge = RubyForge.new.configure
+ rubyforge.login
+
rubyforge.userconfig.merge!('release_changes'=>"_release/#{spec.version}/CHANGES",
'preformatted' => true)
+ rubyforge.add_release spec.rubyforge_project.downcase, spec.name.downcase,
spec.version.to_s, *files
+
+ puts "Posting news to RubyForge ... "
+ changes = File.read("_release/#{spec.version}/CHANGES")[/.*?\n(.*)/m, 1]
+ rubyforge.post_news spec.rubyforge_project.downcase, "Buildr
#{spec.version} released",
+ "#{spec.description}\n\nNew in Buildr
#{spec.version}:\n#{changes.gsub(/^/, ' ')}\n"
+ puts "[X] Uploaded gems and source files to #{spec.name}.rubyforge.org"
+ end.call
+
# Push gems to Rubyforge.org / Gemcutter
lambda do
files = FileList["_release/#{spec.version}/dist/*.{gem}"]
Modified: buildr/trunk/rakelib/stage.rake
URL:
http://svn.apache.org/viewvc/buildr/trunk/rakelib/stage.rake?rev=1406737&r1=1406736&r2=1406737&view=diff
==============================================================================
--- buildr/trunk/rakelib/stage.rake (original)
+++ buildr/trunk/rakelib/stage.rake Wed Nov 7 17:51:36 2012
@@ -76,6 +76,14 @@ task 'prepare' do |task, args|
puts '[X] We have prince available'
end.call
+ # Need RubyForge to upload new release files.
+ lambda do
+ puts "[!] Make sure you have admin privileges to make a release on
RubyForge"
+ rubyforge = RubyForge.new.configure
+ rubyforge.login
+ rubyforge.scrape_project(spec.name)
+ end.call
+
raise "Can not run stage process under jruby" if RUBY_PLATFORM[/java/]
raise "Can not run staging process under older rubies" unless RUBY_VERSION
>= '1.9'
end