forked from josedonizetti/ruby-duration
/
Rakefile
69 lines (62 loc) · 1.78 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
require 'rubygems'
require 'rake'
begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "ruby-duration"
gem.summary = %Q{Duration type}
gem.description = %Q{Duration type}
gem.email = "jose@peleteiro.net"
gem.homepage = "http://github.com/peleteiro/ruby-duration"
gem.authors = ["Jose Peleteiro"]
gem.add_development_dependency "minitest", ">= 0"
gem.add_development_dependency "yard", ">= 0"
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end
require 'rake/testtask'
Rake::TestTask.new(:test) do |test|
test.libs << 'lib' << 'test'
test.pattern = 'test/**/test_*.rb'
test.verbose = true
end
begin
require 'rcov/rcovtask'
Rcov::RcovTask.new do |test|
test.libs << 'test'
test.pattern = 'test/**/test_*.rb'
test.rcov_opts << %w{--exclude /Library,.bundle,test,gems,.rvm}
test.verbose = true
end
rescue LoadError
task :rcov do
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
end
end
namespace(:test) do
desc "Run tests on multiple ruby versions"
task(:portability) do
versions = %w{system 1.8.7 ree-1.8.7 1.9.2 jruby rubinius}
versions.each do |version|
system <<-BASH
bash -c 'source ~/.rvm/scripts/rvm;
rvm use #{version};
echo "-------- `ruby -v` ---------\n";
gem install jeweler activesupport minitest yard i18n
rake -s test'
BASH
end
end
end
task :test => :check_dependencies
task :default => :test
begin
require 'yard'
YARD::Rake::YardocTask.new
rescue LoadError
task :yardoc do
abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
end
end