blob: 8274a7be1bddea87dc9c459469b1fe86de4444f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
require 'rubygems/package_task'
def gemspec
Gem::Specification.new do |s|
# Basic Information
# s.name will be set later
s.rubyforge_project = 'coderay'
s.version = '0'
s.platform = Gem::Platform::RUBY
s.required_ruby_version = '>= 1.8.2'
s.requirements = []
s.date = Time.now.strftime '%Y-%m-%d'
s.rdoc_options = '-SNw2', '-mlib/README', '-t CodeRay Documentation'
s.extra_rdoc_files = EXTRA_RDOC_FILES
# Description
s.summary = <<-EOF
Fast syntax highlighting for selected languages.
EOF
s.description = <<-EOF
Fast and easy syntax highlighting for selected languages, written in Ruby.
Comes with RedCloth integration and LOC counter.
EOF
# Files
s.require_path = 'lib'
s.executables = [ 'coderay', 'coderay_stylesheet' ]
s.files = nil # defined later
# Credits
s.author = 'murphy'
s.email = 'murphy@rubychan.de'
s.homepage = 'http://coderay.rubychan.de'
end
end
def svn_head_revision
sh 'svn up --ignore-externals'
`svn info`[/Revision: (\d+)/,1]
end
namespace :gem do
gemtask = Gem::PackageTask.new(gemspec) do |pkg|
pkg.need_zip = true
pkg.need_tar = true
end
desc 'Create the Gem again'
task :make => [:make_gemspec, :clean, :gem]
desc 'Delete previously created Gems'
task :clean do
Dir['pkg/*.gem'].each { |g| rm g }
end
desc 'Find out the current CodeRay version'
task :get_version do
$gem_name = 'coderay'
unless $version
$:.unshift './lib'
require 'coderay'
$version = CodeRay::VERSION
end
puts 'Current Version: %s' % $version
if ENV['pre']
$version << '.' << svn_head_revision
$version << '.pre'
elsif $version[/.0$/]
$version << '.' << svn_head_revision
$gem_name << '-beta'
end
end
task :make_gemspec => :get_version do
s = gemtask.gem_spec
s.files = Dir['./lib/**/*.rb'] +
Dir['./demo/*.rb'] +
Dir['./Rakefile'] +
Dir['./test/functional/*'] +
%w(./lib/README ./LICENSE)
s.test_file = './test/functional/suite.rb'
gemtask.version = s.version = $version
gemtask.name = s.name = $gem_name
end
task :set_pre do
ENV['pre'] = 'true'
end
desc 'Make a prerelease Gem.'
task :prerelease => [:set_pre, :make]
end
task :gem => 'gem:make'
|