require 'rubygems/package_task'
require 'rdoc/task'

$: << "#{File.dirname(__FILE__)}/lib"

spec = Gem::Specification.new { |s|
	s.platform = Gem::Platform::RUBY

	s.author = "Pete Elmore"
	s.email = "pete@debu.gs"
	s.files = Dir["{lib,doc,bin,ext}/**/*"].delete_if {|f| 
		/\/rdoc(\/|$)/i.match f
	} + %w(Rakefile)
	s.require_path = 'lib'
	s.has_rdoc = true
	s.extra_rdoc_files = Dir['doc/*'].select(&File.method(:file?))
	s.extensions << 'ext/extconf.rb' if File.exist? 'ext/extconf.rb'
	Dir['bin/*'].map(&File.method(:basename)).map(&s.executables.method(:<<))

	s.name = 'git-ui'
	s.summary = 'Hacky attempt at a workable UI for git, modeled slightly on '\
		'darcs.'
	s.homepage = "http://github.com/pete/#{s.name}"
	%w(colorize escape).each &s.method(:add_dependency)
	s.version = '0.1.0'
}

Gem::PackageTask.new(spec) { |pkg|
	pkg.need_tar_bz2 = true
}

desc "Cleans out the packaged files."
task(:clean) {
	FileUtils.rm_rf 'pkg'
}

task(:install => :package) { 
	g = "pkg/#{spec.name}-#{spec.version}.gem"
	system "gem install -l #{g}"
}

task(:irb) {
	exec "irb -Ilib -r#{spec.name}"
}
