Rakefile in cutep-1.0.0 vs Rakefile in cutep-1.1.0

- old
+ new

@@ -1,194 +1,6 @@ -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' -begin - require 'spec/rake/spectask' -rescue LoadError - puts 'To use rspec for testing you must install rspec gem:' - puts '$ sudo gem install rspec' - exit -end - -include FileUtils -require File.join(File.dirname(__FILE__), 'lib', 'qp') - -AUTHOR = 'Kouichirou Eto' -EMAIL = "eto _at_ rubyforge _dot_ org" -DESCRIPTION = '"Cute p" provide more human readable "p" function.' -GEM_NAME = 'cutep' - -@config_file = "~/.rubyforge/user-config.yml" -@config = nil -def rubyforge_username - unless @config - begin - @config = YAML.load(File.read(File.expand_path(@config_file))) - rescue - puts <<-EOS -ERROR: No rubyforge config file found: #{@config_file}" -Run 'rubyforge setup' to prepare your env for access to Rubyforge - - See http://newgem.rubyforge.org/rubyforge.html for more details - EOS -# " - exit - end - end - @rubyforge_username ||= @config["username"] -end - -RUBYFORGE_PROJECT = 'cutep' # The unix name for your project -HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org" -DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}" -RUBYFORGE_ACCOUNT = 'eto' - -NAME = "cutep" -REV = nil -# UNCOMMENT IF REQUIRED: -# REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil -VERS = QP::VERSION::STRING + (REV ? ".#{REV}" : "") -CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] -CLEAN.include ['*~'] -RDOC_OPTS = ['--quiet', '--title', 'cutep documentation', - "--opname", "index.html", - "--line-numbers", - "--main", "README", - "--inline-source"] - -class Hoe - def extra_deps - @extra_deps.reject { |x| Array(x).first == 'hoe' } - end -end - -# 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 = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ] - #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 do - Dir['website/**/*.txt'].each do |txt| - sh %{ ruby scripts/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} } - end -end - -# add chmod. -task :website_generate do - sh %{ chmod -R go+rx website } -end - -desc 'Upload website files to rubyforge' -task :website_upload do - host = "#{rubyforge_username}@rubyforge.org" - remote_dir = "/var/www/gforge-projects/#{PATH}/" - 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] - -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 - -desc "Run the specs under spec/models" -Spec::Rake::SpecTask.new do |t| - t.spec_opts = ['--options', "spec/spec.opts"] - t.spec_files = FileList['spec/*_spec.rb'] - t.libs << "lib" -end - -# add chmod. -task :docs do - sh %{ chmod -R go+rx doc } -end - -# clear current task -module Rake - class Task - def clear_actions - @actions.clear - end - end -end - -# clear current task -t = Rake.application.lookup(:install_gem) -t.clear_actions if t - -# redefine task -task :install_gem => [:clean, :package] do - if /mswin32/ =~ RUBY_PLATFORM || /cygwin/ =~ RUBY_PLATFORM - sh "gem.cmd install pkg/*.gem" # for Cygwin - else - sh "sudo gem install pkg/*.gem" - end -end - -task :clean => [:chmod] - -desc 'Change mode to erase executable bits.' -task :chmod do - sh "chmod 644 Rakefile ChangeLog" - sh "chmod 644 *.txt */*.txt" - sh "chmod 644 */*.html" - sh "chmod 644 */*.rhtml" - sh "chmod 644 */*/*.js" - sh "chmod 644 */*/*.css" - sh "chmod 644 *.rb */*.rb" - sh "chmod 755 scripts/*" -end - -desc 'Create Manifest.txt file.' -task :manifest => [:chmod, :clean] do - ruby "scripts/makemanifest.rb" -end - -task :gem => [:manifest] - -desc "Default task is to run specs" -task :default => :spec +require "bundler/gem_tasks" +require "rspec/core/rake_task" + +RSpec::Core::RakeTask.new(:spec) + +task :default => :spec