From e750f1be81cb66743fdc5d4e9903788d9eb765c2 Mon Sep 17 00:00:00 2001 From: murphy Date: Sun, 12 Jun 2011 01:38:36 +0000 Subject: Rake task cleanups and updates. Not living in the past any more. --- Rakefile | 9 +++++---- rake_tasks/diff.rake | 2 ++ rake_tasks/gem.rake | 32 +++++++++++++++++++++----------- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/Rakefile b/Rakefile index 2a2a681..6bca085 100644 --- a/Rakefile +++ b/Rakefile @@ -2,7 +2,7 @@ $:.unshift File.dirname(__FILE__) unless $:.include? '.' ROOT = '.' LIB_ROOT = File.join ROOT, 'lib' -EXTRA_RDOC_FILES = %w(lib/README FOLDERS) +EXTRA_RDOC_FILES = %w(README.rdoc FOLDERS) task :default => :test @@ -22,13 +22,14 @@ else ruby './test/functional/for_redcloth.rb' end + gem 'rdoc' if defined? gem + require 'rdoc/task' desc 'Generate documentation for CodeRay' Rake::RDocTask.new :doc do |rd| rd.title = 'CodeRay Documentation' - rd.main = 'lib/README' + rd.main = 'README.rdoc' rd.rdoc_files.add Dir['lib'] - rd.rdoc_files.add 'lib/README' - rd.rdoc_files.add 'FOLDERS' + rd.rdoc_files.add 'README.rdoc' rd.rdoc_dir = 'doc' end diff --git a/rake_tasks/diff.rake b/rake_tasks/diff.rake index bdbb458..13e2662 100644 --- a/rake_tasks/diff.rake +++ b/rake_tasks/diff.rake @@ -1,6 +1,8 @@ # A simple differ using svn. Handles externals. class Differ < Hash + include Rake::DSL + def initialize path @path = path super 0 diff --git a/rake_tasks/gem.rake b/rake_tasks/gem.rake index 61945e6..bef2ac9 100644 --- a/rake_tasks/gem.rake +++ b/rake_tasks/gem.rake @@ -10,11 +10,11 @@ def coderay_version require 'coderay' version = CodeRay::VERSION - if ENV['pre'] - version + ".#{svn_head_revision}.pre" - elsif version[/.0$/] - version + ".#{svn_head_revision}" + unless ENV['final'] + version << ".#{svn_head_revision}.pre" end + + version end end @@ -29,17 +29,21 @@ def gemspec s.summary = 'Fast syntax highlighting for selected languages.' s.description = 'Fast and easy syntax highlighting for selected languages, written in Ruby. Comes with RedCloth integration and LOC counter.' - s.files = Dir['lib/**/*.rb'] + %w(Rakefile lib/README LICENSE) + Dir['test/functional/*.rb'] + s.files = Dir['lib/**/*.rb'] + %w(Rakefile README.rdoc LICENSE) + Dir['test/functional/*.rb'] s.test_files = Dir['test/functional/*.rb'] s.executables = [ 'coderay', 'coderay_stylesheet' ] s.require_paths = ['lib'] s.rubyforge_project = s.name - s.rdoc_options = '-SNw2', '-mlib/README', '-t CodeRay Documentation' + s.rdoc_options = '-SNw2', '-mREADME.rdoc', '-t CodeRay Documentation' s.extra_rdoc_files = EXTRA_RDOC_FILES end end +def gem_path + "pkg/coderay-#{coderay_version}.gem" +end + namespace :gem do Gem::PackageTask.new gemspec do |pkg| pkg.need_zip = true @@ -53,15 +57,21 @@ namespace :gem do desc 'Delete previously created Gems' task :clean do - Dir['pkg/*.gem'].each { |g| rm g } + rm_r Dir['pkg/*'] end - task :set_pre do - ENV['pre'] = 'true' + desc 'Install the gem' + task :install => [:make] do + sh "gem install #{gem_path}" end - desc 'Make a prerelease Gem.' - task :prerelease => [:set_pre, :make] + desc 'Release the gem on rubygems.org' + task :release => [:make] do + print "Releasing CodeRay #{coderay_version}. Are you sure? " + if $stdin.gets.chomp == 'yes' + sh "gem push #{gem_path}" + end + end end task :gem => 'gem:make' \ No newline at end of file -- cgit v1.2.1