forked from onesky/i18n-one_sky-ruby
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRakefile
67 lines (54 loc) · 1.7 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
require 'bundler'
Bundler::GemHelper.install_tasks
# = RDoc
require 'rdoc/task'
Rake::RDocTask.new do |t|
t.rdoc_dir = 'rdoc'
t.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
t.options << '--charset' << 'utf-8'
t.rdoc_files.include('README.rdoc', 'MIT-LICENSE', 'CHANGELOG', 'CREDITS', 'lib/**/*.rb')
end
require 'rspec/core/rake_task'
desc 'Default: run specs.'
task :default => :spec
desc "Run all specs"
RSpec::Core::RakeTask.new() do |t|
end
desc "Run offline specs"
RSpec::Core::RakeTask.new("spec:offline") do |t|
t.rspec_opts = %w{--tag ~live}
end
desc "Run live specs"
RSpec::Core::RakeTask.new("spec:live") do |t|
t.rspec_opts = %w{--tag live}
end
require 'yaml'
require 'stickler'
require 'stickler/client'
desc 'Builds and pushes the gem'
task :gem => ['gem:build', 'gem:push']
namespace :gem do
UKEN_GEM_SERVER = "http://gems.uken.com"
def gemspec_file; Dir["*.gemspec"].first; end
def gemspec; eval File.read(gemspec_file); end
def name; gemspec.name; end
def version; gemspec.version; end
def version_tag; "v#{version}"; end
def gemfile; "pkg/#{name}-#{version}.gem"; end
def escape n; "\e[#{n}m" if $stdout.tty?; end
def ohai msg; puts "#{escape "1;34"}==>#{escape "1;39"} #{msg}#{escape 0}"; end
desc "Build #{name}-#{version}.gem into the pkg directory"
task :build do
system <<-COMMAND
mkdir -p pkg
gem build #{gemspec_file} -q
mv *.gem pkg
COMMAND
end
desc "Create tag #{version_tag} and build and push #{name}-#{version}.gem to Uken gemserver"
task :push do
::Stickler::Client::Push.new([ gemfile, "--server", UKEN_GEM_SERVER ]).run
system "git tag #{version_tag}"
ohai "Don't forget to 'git push --tags'"
end
end