You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by do...@apache.org on 2012/11/07 18:51:36 UTC

svn commit: r1406737 - in /buildr/trunk/rakelib: release.rake stage.rake

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