require 'rake' require 'rake/clean' require 'rake/testtask' require 'rbconfig' include RbConfig CLEAN.include("**/*.gem", "**/*.rbc", "**/*coverage*") desc 'Install the ptools package (non-gem)' task :install do sitelibdir = CONFIG["sitelibdir"] file = "lib/ptools.rb" FileUtils.cp(file, sitelibdir, :verbose => true) end namespace 'gem' do desc 'Create the ptools gem' task :create => [:clean] do Dir["*.gem"].each{ |f| File.delete(f) } # Clean first spec = eval(IO.read('ptools.gemspec')) if Gem::VERSION < "2.0.0" Gem::Builder.new(spec).build else require 'rubygems/package' Gem::Package.build(spec) end end desc 'Install the ptools gem' task :install => [:create] do file = Dir["*.gem"].first if RUBY_PLATFORM == 'java' sh "jruby -S gem install -l #{file}" else sh "gem install -l #{file}" end end end Rake::TestTask.new do |t| task :test => :clean t.verbose = true t.warning = true end namespace 'test' do desc "Check test coverage using rcov" task :coverage => [:clean] do require 'rcov' rm_rf 'coverage' sh "rcov -Ilib test/test*.rb" end Rake::TestTask.new('binary') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_binary.rb'] end Rake::TestTask.new('constants') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_constants.rb'] end Rake::TestTask.new('head') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_head.rb'] end Rake::TestTask.new('image') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_image.rb'] end Rake::TestTask.new('nlconvert') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_nlconvert.rb'] end Rake::TestTask.new('null') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_null.rb'] end Rake::TestTask.new('sparse') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_is_sparse.rb'] end Rake::TestTask.new('tail') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_tail.rb'] end Rake::TestTask.new('touch') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_touch.rb'] end Rake::TestTask.new('wc') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_wc.rb'] end Rake::TestTask.new('whereis') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_whereis.rb'] end Rake::TestTask.new('which') do |t| t.libs << 'test' t.verbose = true t.warning = true t.test_files = FileList['test/test_which.rb'] end end task :default => :test