/
Rakefile
70 lines (56 loc) · 1.59 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
require "rake/testtask"
require "lib/googlemaps_polyline/version"
PACKAGE_NAME = "nayutaya-googlemaps-polyline"
PACKAGE_VERSION = GoogleMapsPolyline::VERSION
task :default => :test
Rake::TestTask.new do |test|
test.libs << "test"
test.test_files = Dir.glob("test/**/*_test.rb")
test.verbose = true
end
namespace :version do
desc "show current version"
task :show do
puts(PACKAGE_VERSION)
end
desc "bump version"
task :bump do
cur_version = PACKAGE_VERSION
next_version = cur_version.succ
puts("#{cur_version} -> #{next_version}")
filename = File.join(File.dirname(__FILE__), "lib", "googlemaps_polyline", "version.rb")
File.open(filename, "wb") { |file|
file.puts(%|# coding: utf-8|)
file.puts(%||)
file.puts(%|module GoogleMapsPolyline|)
file.puts(%| VERSION = "#{next_version}"|)
file.puts(%|end|)
}
end
end
namespace :gem do
desc "generate gemspec"
task :spec do
require "erb"
src = File.open("#{PACKAGE_NAME}.gemspec.erb", "rb") { |file| file.read }
erb = ERB.new(src, nil, "-")
files = Dir.glob("**/*").
select { |s| File.file?(s) }.
reject { |s| /\.gem\z/ =~ s }.
reject { |s| /\Anbproject\// =~ s }
test_files = Dir.glob("test/**").
select { |s| File.file?(s) }
File.open("#{PACKAGE_NAME}.gemspec", "wb") { |file|
file.write(erb.result(binding))
}
end
desc "build gem"
task :build do
sh "gem build #{PACKAGE_NAME}.gemspec"
end
desc "push gem"
task :push do
target = "#{PACKAGE_NAME}-#{PACKAGE_VERSION}.gem"
sh "gem push #{target}"
end
end