Rakefile in newgem-0.11.0 vs Rakefile in newgem-0.13.0

- old
+ new

@@ -1,113 +1,11 @@ require 'rubygems' require 'rake' require 'rake/clean' -require 'rake/testtask' -require 'rake/packagetask' -require 'rake/gempackagetask' -require 'rake/rdoctask' -require 'rake/contrib/rubyforgepublisher' require 'fileutils' -require 'hoe' include FileUtils -require File.join(File.dirname(__FILE__), 'lib', 'newgem', 'version') -AUTHOR = "Dr Nic Williams" -EMAIL = "drnicwilliams@gmail.com" -DESCRIPTION = "Make your own gems at home" -GEM_NAME = "newgem" # what ppl will type to install your gem -config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml"))) -RUBYFORGE_USERNAME = config["username"] -RUBYFORGE_PROJECT = "newgem" -HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org" -DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}" +$:.unshift 'lib' +require 'config/hoe' # setup Hoe + all gem configuration +require 'config/svn_branch' # install svn_branch tasks if gem available +require 'newgem/tasks' # load /tasks/*.rake -REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil -# REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil -VERS = Newgem::VERSION::STRING + (REV ? ".#{REV}" : "") -CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] -RDOC_OPTS = ['--quiet', '--title', "newgem documentation", - "--opname", "index.html", - "--line-numbers", - "--main", "README", - "--inline-source"] - -# Generate all the Rake tasks -# Run 'rake -T' to see list of generated tasks (from gem root directory) -hoe = Hoe.new(GEM_NAME, VERS) do |p| - p.author = AUTHOR - p.description = DESCRIPTION - p.email = EMAIL - p.summary = DESCRIPTION - p.url = HOMEPATH - p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT - p.test_globs = ["test/**/test*.rb"] - p.clean_globs |= CLEAN #An array of file patterns to delete on clean. - - # == Optional - p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n") - p.extra_deps = [ - ['hoe', '>=1.2.1'], - ['RedCloth','>=3.0.4'], - ['syntax','>=1.0.0'], - ['activesupport','>=1.4.2'] - ] - #p.spec_extras - A hash of extra values to set in the gemspec. -end - -CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n") -PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "\#{RUBYFORGE_PROJECT}/\#{GEM_NAME}" -hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc') - -desc 'Generate website files' -task :website_generate => :load_consts do - (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt| - sh %{ ruby scripts/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} } - end - sh %{ ruby scripts/txt2js website/version.txt > website/version.js } - sh %{ ruby scripts/txt2js website/version-raw.txt > website/version-raw.js } -end - -desc 'Upload website files to rubyforge' -task :website_upload do - config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml"))) - host = "#{config["username"]}@rubyforge.org" - remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/" - local_dir = 'website' - sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}} -end - -desc 'Generate and upload website files' -task :website => [:website_generate, :website_upload, :publish_docs] - -task :load_consts do - ENV['AUTHOR'] = AUTHOR - ENV['EMAIL'] = EMAIL - ENV['DESCRIPTION'] = DESCRIPTION - ENV['GEM_NAME'] = GEM_NAME - ENV['RUBYFORGE_PROJECT'] = RUBYFORGE_PROJECT - ENV['HOMEPATH'] = HOMEPATH - ENV['DOWNLOAD_PATH'] = DOWNLOAD_PATH -end - -desc 'Release the website and new gem version' -task :deploy => [:check_version, :website, :release] do - puts "Remember to create SVN tag:" - puts "svn copy svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/trunk " + - "svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} " - puts "Suggested comment:" - puts "Tagging release #{CHANGES}" -end - -desc 'Runs tasks website_generate and install_gem as a local deployment of the gem' -task :local_deploy => [:website_generate, :install_gem] - -task :check_version do - unless ENV['VERSION'] - puts 'Must pass a VERSION=x.y.z release version' - exit - end - unless ENV['VERSION'] == VERS - puts "Please update your version.rb to match the release version, currently #{VERS}" - exit - end -end