82 lines
1.8 KiB
Ruby
82 lines
1.8 KiB
Ruby
require 'rubygems'
|
|
require 'rake'
|
|
require 'rake/testtask'
|
|
require 'rake/rdoctask'
|
|
require 'rake/gempackagetask'
|
|
require File.dirname(__FILE__) + '/lib/gpx'
|
|
|
|
PKG_VERSION = GPX::VERSION
|
|
PKG_NAME = "gpx"
|
|
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
RUBY_FORGE_PROJECT = "gpx"
|
|
RUBY_FORGE_USER = ENV['RUBY_FORGE_USER'] || "dougfales"
|
|
RELEASE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
|
|
PKG_FILES = FileList[
|
|
"lib/**/*", "bin/*", "tests/**/*", "[A-Z]*", "Rakefile", "doc/**/*"
|
|
]
|
|
|
|
desc "Default Task"
|
|
task :default => [ :test ]
|
|
|
|
# Run the unit tests
|
|
desc "Run all unit tests"
|
|
Rake::TestTask.new("test") { |t|
|
|
t.libs << "lib"
|
|
t.pattern = 'tests/*_test.rb'
|
|
t.verbose = true
|
|
}
|
|
|
|
# Make a console, useful when working on tests
|
|
desc "Generate a test console"
|
|
task :console do
|
|
verbose( false ) { sh "irb -I lib/ -r 'gpx'" }
|
|
end
|
|
|
|
# Genereate the RDoc documentation
|
|
desc "Create documentation"
|
|
Rake::RDocTask.new("doc") { |rdoc|
|
|
rdoc.title = "Ruby GPX API"
|
|
rdoc.rdoc_dir = 'html'
|
|
rdoc.rdoc_files.include('README')
|
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
}
|
|
|
|
# Genereate the package
|
|
spec = Gem::Specification.new do |s|
|
|
|
|
s.name = 'gpx'
|
|
s.version = PKG_VERSION
|
|
s.summary = <<-EOF
|
|
A basic API for reading and writing GPX files.
|
|
EOF
|
|
s.description = <<-EOF
|
|
A basic API for reading and writing GPX files.
|
|
EOF
|
|
|
|
s.files = PKG_FILES
|
|
|
|
s.require_path = 'lib'
|
|
s.autorequire = 'gpx'
|
|
|
|
s.has_rdoc = true
|
|
|
|
s.author = "Doug Fales"
|
|
s.email = "doug.fales@gmail.com"
|
|
s.homepage = "http://gpx.rubyforge.com/"
|
|
end
|
|
|
|
Rake::GemPackageTask.new(spec) do |pkg|
|
|
pkg.need_zip = true
|
|
pkg.need_tar = true
|
|
end
|
|
|
|
desc "Report code statistics (KLOCs, etc) from the application"
|
|
task :stats do
|
|
require 'code_statistics'
|
|
CodeStatistics.new(
|
|
["Library", "lib"],
|
|
["Units", "tests"]
|
|
).to_s
|
|
end
|