@@ -18,19 +18,20 @@ task :bench do
1818 exec "ruby -Ilib -Iext examples/bench_atomic.rb"
1919end
2020
21+ desc 'Clean up build artifacts'
22+ task :clean do
23+ rm_rf 'pkg/classes'
24+ rm_f 'lib/*.jar'
25+ rm_rf '**/*.{o,so,bundle}'
26+ end
27+
2128if defined? ( JRUBY_VERSION )
2229 require 'ant'
2330
2431 EXTENSION_NAME = 'concurrent_jruby'
2532
2633 directory 'pkg/classes'
2734
28- desc 'Clean up build artifacts'
29- task :clean do
30- rm_rf 'pkg/classes'
31- rm_rf "lib/#{ EXTENSION_NAME } .jar"
32- end
33-
3435 desc 'Compile the extension'
3536 task :compile => 'pkg/classes' do |t |
3637 ant . javac :srcdir => 'ext' , :destdir => t . prerequisites . first ,
@@ -51,17 +52,19 @@ elsif use_c_extensions?
5152
5253 require 'rake/extensiontask'
5354
54- CLEAN . include Rake ::FileList [ '**/*.so' , '**/*.bundle' , '**/*.o' , '**/mkmf.log' , '**/Makefile' ]
55-
5655 spec = Gem ::Specification . load ( 'concurrent-ruby.gemspec' )
5756 Rake ::ExtensionTask . new ( EXTENSION_NAME , spec ) do |ext |
5857 ext . ext_dir = 'ext'
5958 ext . name = EXTENSION_NAME
6059 ext . source_pattern = "**/*.{h,c,cpp}"
6160 end
6261
62+ task :return_dummy_makefile do
63+ sh "git co ext/Makefile"
64+ end
65+
6366 desc 'Clean, compile, and build the extension from scratch'
64- task :compile_c => [ :clean , :compile ]
67+ task :compile_c => [ :clean , :compile , :return_dummy_makefile ]
6568
6669 task :irb => [ :compile ] do
6770 sh "irb -r ./lib/#{ EXTENSION_NAME } .bundle -I #{ File . join ( File . dirname ( __FILE__ ) , 'lib' ) } "
@@ -77,5 +80,5 @@ if defined?(JRUBY_VERSION)
7780elsif use_c_extensions?
7881 task :default => [ :compile_c , :travis_spec ]
7982else
80- task :default => [ :travis_spec ]
83+ task :default => [ :clean , : travis_spec]
8184end
0 commit comments