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