diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-06-06 10:53:35 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-06-06 10:53:35 +0200 |
commit | 49e880da1dbab3850c4eb1682bafad6b57267817 (patch) | |
tree | f2bba3048b297189ef51fe304edbb4ec34736801 /ruby/ffi-k8055/tasks/rubyforge.rake | |
parent | 5e0aad9befe6214134a77cb267b8c89596945109 (diff) | |
download | k8055-49e880da1dbab3850c4eb1682bafad6b57267817.zip k8055-49e880da1dbab3850c4eb1682bafad6b57267817.tar.gz |
add ruby/ffi-k8055
Diffstat (limited to 'ruby/ffi-k8055/tasks/rubyforge.rake')
-rw-r--r-- | ruby/ffi-k8055/tasks/rubyforge.rake | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/ruby/ffi-k8055/tasks/rubyforge.rake b/ruby/ffi-k8055/tasks/rubyforge.rake new file mode 100644 index 0000000..73be292 --- /dev/null +++ b/ruby/ffi-k8055/tasks/rubyforge.rake @@ -0,0 +1,54 @@ +# -*- coding: UTF-8 -*- +# +if PROJ.rubyforge.name.valid? && HAVE_RUBYFORGE + +require 'rubyforge' +require 'rake/contrib/sshpublisher' + +namespace :gem do + desc 'Package and upload to RubyForge' + task :release => [:clobber, 'gem'] do |t| + v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z' + abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version + pkg = "pkg/#{PROJ.gem._spec.full_name}" + + if $DEBUG then + puts "release_id = rf.add_release #{PROJ.rubyforge.name.inspect}, #{PROJ.name.inspect}, #{PROJ.version.inspect}, \"#{pkg}.tgz\"" + puts "rf.add_file #{PROJ.rubyforge.name.inspect}, #{PROJ.name.inspect}, release_id, \"#{pkg}.gem\"" + end + + rf = RubyForge.new + rf.configure rescue nil + puts 'Logging in' + rf.login + + c = rf.userconfig + c['release_notes'] = PROJ.description if PROJ.description + c['release_changes'] = PROJ.changes if PROJ.changes + c['preformatted'] = true + + files = Dir.glob("#{pkg}*.*") + + puts "Releasing #{PROJ.name} v. #{PROJ.version}" + rf.add_release PROJ.rubyforge.name, PROJ.name, PROJ.version, *files + end +end # namespace :gem + + +namespace :doc do + desc "Publish RDoc to RubyForge" + task :release => %w(doc:clobber_rdoc doc:rdoc) do + config = YAML.load(File.read(File.expand_path('~/.rubyforge/user-config.yml'))) + + host = "#{config['username']}@rubyforge.org" + remote_dir = "/var/www/gforge-projects/#{PROJ.rubyforge.name}/" + remote_dir << PROJ.rdoc.remote_dir if PROJ.rdoc.remote_dir + local_dir = PROJ.rdoc.dir + + Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload + end +end # namespace :doc + +end # if HAVE_RUBYFORGE + +# EOF |