forked from ruport/ruport
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Rakefile
83 lines (75 loc) · 2.45 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
require "rake/rdoctask"
require "rake/testtask"
require "lib/ruport/version"
begin
require "rubygems"
rescue LoadError
nil
end
task :default => [:test]
Rake::TestTask.new do |test|
test.libs << "test"
test.test_files = Dir[ "test/*_test.rb" ]
test.verbose = true
end
begin
require 'jeweler'
Jeweler::Tasks.new do |gemspec|
gemspec.name = 'ruport'
gemspec.rubyforge_project = 'ruport'
gemspec.version = Ruport::VERSION
gemspec.summary = 'A generalized Ruby report generation and templating engine.'
gemspec.description = <<-END_DESC
Ruby Reports is a software library that aims to make the task of reporting
less tedious and painful. It provides tools for data acquisition,
database interaction, formatting, and parsing/munging.
END_DESC
gemspec.email = 'gregory.t.brown@gmail.com'
gemspec.homepage = 'http://rubyreports.org'
gemspec.authors = ['Gregory Brown', 'Mike Milner', 'Andrew France']
gemspec.rdoc_options = ['--title', 'Ruport Documentation', '--main', 'README.rdoc', '-q']
gemspec.add_dependency 'fastercsv'
gemspec.add_dependency 'pdf-writer', '= 1.1.8'
end
rescue LoadError
puts "Jeweler gem not available."
end
Rake::RDocTask.new do |rdoc|
rdoc.rdoc_files.include( "README.rdoc",
#"CHANGELOG",
"AUTHORS", "COPYING",
"LICENSE", "lib/" )
rdoc.main = "README.rdoc"
rdoc.rdoc_dir = "doc/html"
rdoc.title = "Ruport Documentation"
end
task :build_archives => [:package,:rcov,:rdoc] do
mv "pkg/ruport-#{Ruport::VERSION}.tgz", "pkg/ruport-#{Ruport::VERSION}.tar.gz"
sh "tar cjvf pkg/ruport_coverage-#{Ruport::VERSION}.tar.bz2 coverage"
sh "tar cjvf pkg/ruport_doc-#{Ruport::VERSION}.tar.bz2 doc/html"
cd "pkg"
sh "tar cjvf ruport-#{Ruport::VERSION}.tar.bz2 ruport-#{Ruport::VERSION}"
end
task :run_benchmarks do
files = FileList["util/bench/**/**/*.rb"]
files.sort!
files.uniq!
names = files.map { |r| r.sub("util/bench","").split("/").map { |e| e.capitalize } }
names.map! { |e| e[1..-2].join("::") + " <BENCH: #{e[-1].sub('Bench_','').sub('.rb','')}>" }
start_time = Time.now
files.zip(names).each { |f,n|
puts "\n#{n}\n\n"
sh "ruby -Ilib #{f}"
puts "\n"
}
end_time = Time.now
puts "\n** Total Run Time: #{end_time-start_time}s **"
end
begin
require 'rcov/rcovtask'
Rcov::RcovTask.new do |t|
t.test_files = Dir[ "test/*_test.rb" ]
end
rescue LoadError
nil
end