Blob of Rakefile (raw blob data)

1 require 'rubygems'
2 require 'hoe'
3
4 $:.unshift "lib"
5 require 'ditz'
6
7 class Hoe
8 def extra_deps; @extra_deps.reject { |x| Array(x).first == "hoe" } end
9 end # thanks to "Mike H"
10
11 Hoe.new('ditz', Ditz::VERSION) do |p|
12 p.rubyforge_name = 'ditz'
13 p.author = "William Morgan"
14 p.summary = "A simple issue tracker designed to integrate well with distributed version control systems like git and darcs. State is saved to a YAML file kept under version control, allowing issues to be closed/added/modified as part of a commit."
15
16 p.description = p.paragraphs_of('README.txt', 4..11).join("\n\n").gsub(/== SYNOPSIS/, "Synopsis:")
17 p.url = "http://ditz.rubyforge.org"
18 p.changes = p.paragraphs_of('Changelog', 0..0).join("\n\n")
19 p.email = "wmorgan-ditz@masanjin.net"
20 p.extra_deps = [['trollop', '>= 1.7']]
21 end
22
23 WWW_FILES = FileList["www/*"] + %w(README.txt)
24 SCREENSHOTS = FileList["www/ss?.png"]
25 SCREENSHOTS_SMALL = []
26 SCREENSHOTS.each do |fn|
27 fn =~ /ss(\d+)\.png/
28 sfn = "www/ss#{$1}-small.png"
29 file sfn => [fn] do |t|
30 sh "cat #{fn} | pngtopnm | pnmscale -xysize 320 240 | pnmtopng > #{sfn}"
31 end
32 SCREENSHOTS_SMALL << sfn
33 end
34
35 task :upload_webpage => WWW_FILES do |t|
36 sh "rsync -essh -cavz #{t.prerequisites * ' '} wmorgan@rubyforge.org:/var/www/gforge-projects/ditz/"
37 end
38
39 task :upload_webpage_images => (SCREENSHOTS + SCREENSHOTS_SMALL) do |t|
40 sh "rsync -essh -cavs #{t.prerequisites * ' '} wmorgan@rubyforge.org:/var/www/gforge-projects/ditz/"
41 end
42
43 task :upload_report do |t|
44 sh "ruby -Ilib bin/ditz html ditz"
45 sh "rsync -essh -cavz ditz wmorgan@rubyforge.org:/var/www/gforge-projects/ditz/"
46 end
47
48 # vim: syntax=ruby