require 'rubygems' require 'rake' begin require 'jeweler' Jeweler::Tasks.new do |gem| gem.name = 'existing-project-with-version' gem.summary = %(Summarize your gem) gem.email = 'josh@technicalpickles.com' gem.homepage = 'http://github.com/technicalpickles/existing-project-with-version' gem.authors = ['Josh Nichols'] # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings end rescue LoadError puts 'Jeweler not available. Install it with: gem install technicalpickles-jeweler -s http://gems.github.com' end require 'rake/testtask' Rake::TestTask.new(:test) do |test| test.libs << 'lib' << 'test' test.pattern = 'test/**/*_test.rb' test.verbose = false end begin require 'rcov/rcovtask' Rcov::RcovTask.new do |test| test.libs << 'test' test.pattern = 'test/**/*_test.rb' test.verbose = true end rescue LoadError task :rcov do abort 'RCov is not available. In order to run rcov, you must: gem install spicycode-rcov' end end task default: :test require 'rdoc/task' Rake::RDocTask.new do |rdoc| if File.exist?('VERSION.yml') require 'yaml' config = YAML.load(File.read('VERSION.yml')) version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}" else version = '' end rdoc.rdoc_dir = 'rdoc' rdoc.title = "existing-project-with-version #{version}" rdoc.options << '--line-numbers' << '--inline-source' rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('lib/**/*.rb') end # Rubyforge documentation task begin require 'rake/contrib/sshpublisher' namespace :rubyforge do desc 'Release gem and RDoc documentation to RubyForge' task release: ['rubyforge:release:gem', 'rubyforge:release:docs'] namespace :release do desc 'Publish RDoc to RubyForge.' task docs: [:rdoc] do require 'yaml' config = YAML.load( File.read(File.expand_path('~/.rubyforge/user-config.yml')) ) host = "#{config['username']}@rubyforge.org" remote_dir = '/var/www/gforge-projects/existing-project-with-version/' local_dir = 'rdoc' Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload end end end rescue LoadError puts 'Rake SshDirPublisher is unavailable or your rubyforge environment is not configured.' end