summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormurphy <murphy@rubychan.de>2011-06-12 01:38:36 +0000
committermurphy <murphy@rubychan.de>2011-06-12 01:38:36 +0000
commite750f1be81cb66743fdc5d4e9903788d9eb765c2 (patch)
tree2da7acc36b8b09cc42562cc7ef7a24defa4bd8b0
parent499eedc013b6178508186153831f7306221a7f8d (diff)
downloadcoderay-e750f1be81cb66743fdc5d4e9903788d9eb765c2.tar.gz
Rake task cleanups and updates. Not living in the past any more.
-rw-r--r--Rakefile9
-rw-r--r--rake_tasks/diff.rake2
-rw-r--r--rake_tasks/gem.rake32
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