Sha256: 282ac08ba9033b008eec69a5baf918f19193cb10b7037cafda08d1f5d5e2ff1b

Contents?: true

Size: 1.71 KB

Versions: 1

Compression:

Stored size: 1.71 KB

Contents

require 'rake'
require 'rake/clean'
require 'rake/testtask'

desc "Clean the build files for the sys-filesystem source for UNIX systems"
task :clean do
   Dir.chdir('examples') do
      FileUtils.rm_rf('sys') if File.exists?('sys')
   end

   Dir.chdir('ext') do
      unless RUBY_PLATFORM.match('mswin')
         FileUtils.rm_rf('sys') if File.exists?('sys')
         build_file = 'filesystem.' + Config::CONFIG['DLEXT']
         sh 'make distclean' if File.exists?(build_file)
      end
   end
end

desc "Build the sys-filesystem package on UNIX systems (but don't install it)"
task :build => [:clean] do
   Dir.chdir('ext') do
      unless RUBY_PLATFORM.match('mswin')
         ruby 'extconf.rb'
         sh 'make'
         build_file = 'filesystem.' + Config::CONFIG['DLEXT']
         Dir.mkdir('sys') unless File.exists?('sys')
         FileUtils.cp(build_file, 'sys')
      end
   end
end

if RUBY_PLATFORM.match('mswin')
   desc "Install the sys-filesystem package"
   task :install do
      sh 'ruby install.rb'
   end
else
   desc "Install the sys-filesystem package"
   task :install => [:build] do
      Dir.chdir('ext') do
         sh 'make install'
      end
   end
end

desc "Run the test suite"
Rake::TestTask.new("test") do |t|
   if RUBY_PLATFORM.match('mswin')
      t.libs << 'lib'
   else
      task :test => :build
      t.libs << 'ext'
      t.libs.delete('lib')
   end
   t.test_files = FileList['test/tc_filesystem.rb']
end

desc "Run the example program"
task :example => [:build] do |t|
   Dir.chdir('examples') do
      Dir.mkdir('sys') unless File.exists?('sys')
   end

   FileUtils.cp('ext/sys/filesystem.' + Config::CONFIG['DLEXT'], 'examples/sys')

   Dir.chdir('examples') do
      ruby 'example_stat.rb'
   end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sys-filesystem-0.1.1 Rakefile