/
Rakefile
66 lines (54 loc) · 1.33 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
# def gemset_name
# ENV.fetch('GEM_HOME').split('@').last
# end
#
namespace :mb do
task :build_gems do
sh "rvm 1.8.7 do gem build slyphon-zookeeper.gemspec"
ENV['JAVA_GEM'] = '1'
sh "rvm 1.8.7 do gem build slyphon-zookeeper.gemspec"
end
end
gemset_name = 'zookeeper'
%w[1.8.7 1.9.2 1.9.3 jruby].each do |rvm_ruby|
ruby_with_gemset = "#{rvm_ruby}@#{gemset_name}"
clobber_task_name = "mb:#{rvm_ruby}:clobber"
build_task_name = "mb:#{rvm_ruby}:build"
bundle_task_name = "mb:#{rvm_ruby}:bundle_install"
rspec_task_name = "mb:#{rvm_ruby}:run_rspec"
task clobber_task_name do
unless rvm_ruby == 'jruby'
cd 'ext' do
sh "rake clobber"
end
end
end
task build_task_name => clobber_task_name do
unless rvm_ruby == 'jruby'
cd 'ext' do
sh "rvm #{ruby_with_gemset} do rake build"
end
end
end
task bundle_task_name => build_task_name do
rm_f 'Gemfile.lock'
sh "rvm #{ruby_with_gemset} do bundle install"
end
task rspec_task_name => bundle_task_name do
sh "rvm #{ruby_with_gemset} do bundle exec rspec spec --fail-fast"
end
task "mb:test_all_rubies" => rspec_task_name
end
namespace :build do
task :clean do
cd 'ext' do
sh 'rake clean'
end
Rake::Task['build'].invoke
end
end
task :build do
cd 'ext' do
sh "rake"
end
end