forked from resque/resque
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
78 lines (59 loc) · 1.12 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
#
# Setup
#
load 'lib/tasks/redis.rake'
$LOAD_PATH.unshift 'lib'
require 'resque/tasks'
def command?(command)
system("type #{command} > /dev/null 2>&1")
end
#
# Tests
#
require 'rake/testtask'
task :default => :test
if command?(:rg)
desc "Run the test suite with rg"
task :test do
Dir['test/**/*_test.rb'].each do |f|
sh("rg #{f}")
end
end
else
Rake::TestTask.new do |test|
test.libs << "test"
test.test_files = FileList['test/**/*_test.rb']
end
end
if command? :kicker
desc "Launch Kicker (like autotest)"
task :kicker do
puts "Kicking... (ctrl+c to cancel)"
exec "kicker -e rake test lib examples"
end
end
#
# Install
#
task :install => [ 'redis:install', 'dtach:install' ]
#
# Documentation
#
begin
require 'sdoc_helpers'
rescue LoadError
end
#
# Publishing
#
desc "Push a new version to Gemcutter"
task :publish do
require 'resque/version'
sh "gem build resque.gemspec"
sh "gem push resque-#{Resque::Version}.gem"
sh "git tag v#{Resque::Version}"
sh "git push origin v#{Resque::Version}"
sh "git push origin master"
sh "git clean -fd"
exec "rake pages"
end