forked from heroku/legacy-cli
/
Rakefile
102 lines (82 loc) · 2 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
require "rubygems"
require "bundler/setup"
PROJECT_ROOT = File.expand_path("..", __FILE__)
$:.unshift "#{PROJECT_ROOT}/lib"
require "heroku/version"
require "rspec/core/rake_task"
desc "Run all specs"
RSpec::Core::RakeTask.new(:spec) do |t|
t.verbose = true
end
task :default => :spec
def builder(action, type, ext=type)
package_file = "pkg/heroku-#{Heroku::VERSION}.#{ext}"
puts "#{action}: #{package_file}"
system %{ ruby build/#{type}/#{action} "#{PROJECT_ROOT}" "#{package_file}" }
end
namespace :package do
desc "package the deb version"
task :deb do
if RUBY_PLATFORM =~ /linux/
builder :package, :deb, "apt.tgz"
end
end
desc "package the pkg version"
task :pkg do
if RUBY_PLATFORM =~ /darwin/
builder :package, :pkg
end
end
desc "package the exe version"
task :exe do
if RUBY_PLATFORM =~ /mingw32/
builder :package, :exe
end
end
desc "package the gem version"
task :gem do
builder :package, :gem
end
desc "package the tgz version"
task :tgz do
builder :package, :tgz
end
desc "package the zip version"
task :zip do
builder :package, :zip
end
end
namespace :release do
desc "release the deb version"
task :deb => "package:deb" do
builder :release, :deb, "apt.tgz"
end
desc "release the deb version"
task :pkg => "package:pkg" do
builder :release, :pkg
end
desc "release the exe version"
task :exe => "package:exe" do
builder :release, :exe
end
desc "release the gem version"
task :gem => "package:gem" do
builder :release, :gem
end
desc "release the tgz version"
task :tgz => "package:tgz" do
builder :release, :tgz
end
desc "release the zip version"
task :zip => "package:zip" do
builder :release, :zip
end
end
namespace :build do
desc "run osx release tasks"
task :osx => %w( release:gem release:tgz release:pkg release:zip )
desc "run windows release tasks"
task :windows => "release:exe"
desc "run debian release tasks"
task :debian => "release:deb"
end