class Jeweler::RubyforgeTasks
Rake
tasks for putting a Jeweler
gem on Rubyforge.
Jeweler::Tasks.new
needs to be used before this.
Basic usage:
Jeweler::RubyforgeTasks.new
Easy enough, right?
There are a few options you can tweak:
* project: the rubyforge project to operate on. This defaults to whatever you specified in your gemspec. Defaults to your gem name. * remote_doc_path: the place to upload docs to on Rubyforge under /var/www/gforge-projects/#{project}/
Attributes
doc_task[RW]
Task to be used for generating documentation, before they are uploaded. Defaults to rdoc.
jeweler[RW]
project[RW]
The RubyForge project to interact with. Defaults to whatever is in your jeweler gemspec.
remote_doc_path[RW]
The path to upload docs to. It is relative to /var/www/gforge-projects/#{project}/, and defaults to your gemspec's name
Public Class Methods
new() { |self| ... }
click to toggle source
# File lib/jeweler/rubyforge_tasks.rb, line 31 def initialize yield self if block_given? $stderr.puts 'Releasing gems to Rubyforge is deprecated. See details at http://wiki.github.com/technicalpickles/jeweler/migrating-from-releasing-gems-to-rubyforge' define end
Public Instance Methods
define()
click to toggle source
# File lib/jeweler/rubyforge_tasks.rb, line 51 def define namespace :rubyforge do namespace :release do desc 'Release the current gem version to RubyForge.' task :gem do $stderr.puts 'DEPRECATION: Releasing gems to RubyForge is deprecated. You should see about releasing to Gemcutter instead: http://wiki.github.com/technicalpickles/jeweler/gemcutter' end if publish_documentation? desc 'Publish docs to RubyForge.' task docs: doc_task do config = YAML.load( File.read(File.expand_path('~/.rubyforge/user-config.yml')) ) host = "#{config['username']}@rubyforge.org" remote_dir = "/var/www/gforge-projects/#{project}/#{remote_doc_path}" local_dir = case doc_task.to_sym when :rdoc then 'rdoc' when :yardoc then 'doc' when 'doc:app'.to_sym then 'doc/app' else raise 'Unsure what to run to generate documentation. Please set doc_task and re-run.' end sh %(rsync --archive --verbose --delete #{local_dir}/ #{host}:#{remote_dir}) end end end if publish_documentation? desc 'Release RDoc documentation to RubyForge' task release: 'rubyforge:release:docs' end end task release: 'rubyforge:release' end
publish_documentation?()
click to toggle source
# File lib/jeweler/rubyforge_tasks.rb, line 91 def publish_documentation? ! (doc_task == false || doc_task == :none) end