forked from technicalpickles/jeweler
/
Rakefile
103 lines (86 loc) · 2.7 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
require 'rake'
$LOAD_PATH.unshift('lib')
gem 'git'
require 'git'
begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "jeweler"
gem.summary = "Simple and opinionated helper for creating Rubygem projects on GitHub"
gem.email = "josh@technicalpickles.com"
gem.homepage = "http://github.com/technicalpickles/jeweler"
gem.description = "Simple and opinionated helper for creating Rubygem projects on GitHub"
gem.authors = ["Josh Nichols"]
gem.files.include %w(lib/jeweler/templates/.document lib/jeweler/templates/.gitignore)
gem.add_dependency "git", ">= 1.2.1"
gem.add_dependency "rubyforge"
gem.rubyforge_project = "pickles"
gem.add_development_dependency "thoughtbot-shoulda"
gem.add_development_dependency "mhennemeyer-output_catcher"
gem.add_development_dependency "rr"
gem.add_development_dependency "mocha"
gem.add_development_dependency "redgreen"
end
Jeweler::GemcutterTasks.new
Jeweler::RubyforgeTasks.new do |t|
t.doc_task = :yardoc
end
rescue LoadError
puts "Jeweler, or one of its dependencies, is not available. Install it with: sudo gem install jeweler"
end
require 'rake/testtask'
Rake::TestTask.new(:test) do |test|
test.test_files = FileList.new('test/**/test_*.rb') do |list|
list.exclude 'test/test_helper.rb'
end
test.libs << 'test'
test.verbose = true
end
begin
require 'yard'
YARD::Rake::YardocTask.new(:yardoc) do |t|
t.files = FileList['lib/**/*.rb'].exclude('lib/jeweler/templates/**/*.rb')
end
rescue LoadError
task :yardoc do
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
end
end
begin
require 'rcov/rcovtask'
Rcov::RcovTask.new(:rcov) do |rcov|
rcov.libs << 'test'
rcov.pattern = 'test/**/test_*.rb'
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
begin
require 'cucumber/rake/task'
Cucumber::Rake::Task.new(:features) do |features|
features.cucumber_opts = "features --format progress"
end
namespace :features do
Cucumber::Rake::Task.new(:pretty) do |features|
features.cucumber_opts = "features --format progress"
end
end
rescue LoadError
task :features do
abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
end
namespace :features do
task :pretty do
abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
end
end
end
if ENV["RUN_CODE_RUN"] == "true"
task :default => [:test, :features]
else
task :default => :test
end
task :test => :check_dependencies
task :features => :check_dependencies