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 'tasks/redis.rake'
require 'rake/testtask'
$LOAD_PATH.unshift 'lib'
require 'resque/tasks'
def command?(command)
system("type #{command} > /dev/null")
end
#
# Tests
#
task :default => :test
desc "Run the test suite"
task :test do
rg = command?(:rg)
Dir['test/**/*_test.rb'].each do |f|
rg ? sh("rg #{f}") : ruby(f)
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
#
# Gem
#
task :install => [ 'redis:install', 'dtach:install' ]
begin
require 'mg'
MG.new("resque.gemspec")
rescue LoadError
warn "mg not available."
warn "Install it with: gem i mg"
end
#
# Documentation
#
begin
require 'sdoc_helpers'
rescue LoadError
puts "sdoc support not enabled. Please gem install sdoc-helpers."
end
#
# Publishing
#
desc "Push a new version to Gemcutter"
task :publish => "gem:publish" do
require 'resque/version'
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