-
Notifications
You must be signed in to change notification settings - Fork 15
/
Rakefile
51 lines (43 loc) · 1.56 KB
/
Rakefile
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
require 'rubygems'
require 'fileutils'
rubyforge_name = "ultraviolet"
begin
require 'hoe'
class Hoe
# Dirty hack to eliminate Hoe from gem dependencies
def extra_deps
@extra_deps.delete_if{ |x| x.first == 'hoe' }
end
end
version = /^== *(\d+\.\d+\.\d+)/.match( File.read( 'History.txt' ) )[1]
h = Hoe.new('ultraviolet', version) do |p|
p.rubyforge_name = 'ultraviolet'
p.author = ['Dizan Vasquez']
p.email = ['[email protected]']
p.email = '[email protected]'
p.summary = 'Syntax highlighting engine'
p.description = p.paragraphs_of('README.txt', 1 ).join('\n\n')
p.url = 'http://ultraviolet.rubyforge.org'
p.rdoc_pattern = /^(lib|bin|ext)|txt$/
p.changes = p.paragraphs_of('History.txt', 0).join("\n\n")
p.extra_deps << ['textpow', '>= 0.10.0']
p.clean_globs = ["manual/*"]
end
desc 'Create MaMa documentation'
task :mama => :clean do
system "mm -c -t refresh -o manual mm/manual.mm"
end
desc 'Publish MaMa documentation to RubyForge'
task :mama_publish => [:clean, :mama] do
config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
host = "#{config["username"]}@rubyforge.org"
remote_dir = "/var/www/gforge-projects/#{h.rubyforge_name}"
local_dir = 'manual'
system "rsync -av --delete #{local_dir}/ #{host}:#{remote_dir}"
end
rescue LoadError => e
desc 'Run the test suite.'
task :test do
system "ruby -Ibin:lib:test test_#{rubyforge_name}.rb"
end
end