require 'rake'
require 'rake/testtask'
require 'rake/clean'
require 'rake/gempackagetask'
require 'rake/rdoctask'
require 'fileutils'
include FileUtils

CLEAN.add %w{ extractor.o }
CLOBBER.add %w{ Makefile mkmf.log extractor.bundle }

PKGFILES = FileList.new
PKGFILES.add %w{ README Rakefile extconf.rb extractor.c test/*}

file "Makefile" do |t|
  ruby "extconf.rb"
end

task :default => [:compile, :test]

desc "Compile the code"
task :compile => ["Makefile"] do |t|
  sh 'make'
end

Rake::RDocTask.new do |rd|
  rd.main = "README"
  rd.rdoc_files = Rake::FileList['README', 'extractor.c']
end

Rake::TestTask.new do |t|
  t.test_files = ['test/test.rb']
  t.verbose = true
end

spec = Gem::Specification.new do |s|
  s.summary = "A binding for libextractor; allows you to read metadata from a number of file types."
  s.name = 'extractor'
  s.author = 'Ry Dahl'
  s.email = 'ry@tinyclouds.org'
  s.version = '0.1'

  s.rubyforge_project = 'extractor'
  
  s.has_rdoc = true
  s.extra_rdoc_files = ['README', 'extractor.c']
  
  s.test_files = ['test/test.rb']
  
  s.extensions = ['extconf.rb']
  
  #s.requirements << 'extractor'
  s.require_path = '.'
  s.autorequire = 'rake'
  
  s.files = PKGFILES.to_a
end

Rake::GemPackageTask.new(spec) do |pkg|
  pkg.need_zip = true
end
