-
Notifications
You must be signed in to change notification settings - Fork 1
/
rtt.rake
executable file
·66 lines (56 loc) · 1.67 KB
/
rtt.rake
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
require 'rake/clean'
require 'fileutils'
require 'date'
require 'spec/rake/spectask'
require 'mocha'
require 'hanna/rdoctask'
# Removes spec task defiened in dependency gems
module Rake
def self.remove_task(task_name)
Rake.application.instance_variable_get('@tasks').delete(task_name.to_s)
end
end
Rake.remove_task 'spec'
def source_version
line = File.read('lib/rtt.rb')[/^\s*VERSION = .*/]
line.match(/.*VERSION = '(.*)'/)[1]
end
# SPECS ===============================================================
Spec::Rake::SpecTask.new(:spec) do |t|
t.spec_opts = ['--color']
t.rcov = false
t.spec_files = FileList['spec/lib/**/*_spec.rb']
end
task :default => :spec
# Rcov ================================================================
namespace :spec do
desc 'Mesures test coverage'
task :coverage do
rm_f "coverage"
rcov = "rcov --text-summary -Ilib"
system("#{rcov} --no-html --no-color spec/lib/*_spec.rb")
end
end
# Website =============================================================
# Building docs requires HAML and the hanna gem:
# gem install mislav-hanna --source=http://gems.github.com
desc 'Generate RDoc under doc/api'
task 'doc' => ['doc:api']
task 'doc:api' => ['doc/api/index.html']
file 'doc/api/index.html' => FileList['lib/**/*.rb','README.rdoc'] do |f|
require 'rbconfig'
hanna = RbConfig::CONFIG['ruby_install_name'].sub('ruby', 'hanna')
rb_files = f.prerequisites
sh((<<-end).gsub(/\s+/, ' '))
#{hanna}
--charset utf8
--fmt html
--inline-source
--line-numbers
--main README.rdoc
--op doc/api
--title 'RTT API Documentation'
#{rb_files.join(' ')}
end
end
CLEAN.include 'doc/api'