forked from mislav/hub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
93 lines (76 loc) · 2.22 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
require 'rake/testtask'
task :default => :test
Rake::TestTask.new do |t|
t.libs << 'lib'
t.pattern = 'test/**/*_test.rb'
t.verbose = false
end
desc "Launch Kicker (like autotest)"
task :kicker do
puts "Kicking... (ctrl+c to cancel)"
exec "kicker -e rake test bin"
end
desc "Build a gem"
task :gem => [ :gemspec, :build ]
desc "Build standalone script"
task :standalone => [ :test, :load_hub ] do
Hub::Standalone.save('hub')
end
task :load_hub do
$LOAD_PATH.unshift 'lib'
require 'hub'
end
begin
require 'jeweler'
$LOAD_PATH.unshift 'lib'
require 'hub'
Jeweler::Tasks.new do |gemspec|
gemspec.name = "hub"
gemspec.summary = gemspec.description = "hub introduces git to GitHub"
gemspec.homepage = "http://github.com/defunkt/hub"
gemspec.version = Hub::Version
gemspec.authors = ["Chris Wanstrath"]
gemspec.email = "chris@ozmm.org"
gemspec.post_install_message = <<-message
------------------------------------------------------------
You there! Wait, I say!
=======================
If you are a heavy user of `git` on the command
line you may want to install `hub` the old
fashioned way. Faster startup time, you see.
Check out the installation instructions at
http://github.com/defunkt/hub#readme under the
"Standalone" section.
Cheers,
defunkt
------------------------------------------------------------
message
end
rescue LoadError
puts "Jeweler not available."
puts "Install it with: gem install jeweler"
end
desc "Push a new version to Gemcutter"
task :publish => [ :test, :gemspec, :build ] do
system "git tag v#{Hub::Version}"
system "git push origin v#{Hub::Version}"
system "git push origin master"
system "gem push pkg/hub-#{Hub::Version}.gem"
system "git clean -fd"
exec "rake pages"
end
desc "Publish to GitHub Pages"
task :pages => [ :check_dirty, :standalone ] do
`git checkout gh-pages`
`mv hub standalone`
`git add standalone*`
`git commit -m "update standalone"`
`git push origin gh-pages`
`git checkout master`
puts :done
end
task :check_dirty do
if !`git status`.include?('nothing to commit')
abort "dirty index - not publishing!"
end
end