require 'rake/gempackagetask'
require 'rbconfig'

include Config

PKG_NAME = 'json'
PKG_VERSION = File.read('VERSION').chomp
PKG_FILES = Dir.glob("**/*").delete_if { |item|
    item.include?("CVS") or item.include?("pkg")
}

desc "Installing library"
task :install  do
    dest = CONFIG["sitelibdir"]
    install('lib/json.rb', dest)
    dest = File.join(dest, 'json')
    mkdir_p dest
    Dir['lib/json/*.*'].each do |f|
        install(f, dest)
    end
    dest = CONFIG["bindir"]
    install('bin/edit_json.rb', dest)
end

desc "Testing library"
task :test do
    ruby 'tests/runner.rb'
end

task :doc do
    sh 'rdoc -d -S -o doc lib/json.rb lib/json/editor.rb'
end

spec = Gem::Specification.new do |s|

    #### Basic information.

    s.name = 'json'
    s.version = PKG_VERSION
    s.summary = "A JSON implementation in Ruby"
    s.description = ""

    #### Dependencies and requirements.

    #s.add_dependency('log4r', '> 1.0.4')
    #s.requirements << ""

    s.files = PKG_FILES

    #### C code extensions.

    #s.extensions << "ext/extconf.rb"

    #### Load-time details: library and application (you will need one or both).

    s.require_path = 'lib'                         # Use these for libraries.
    s.autorequire = 'json'

    s.bindir = "bin"                               # Use these for applications.
    s.executables = ["edit_json.rb"]
    s.default_executable = "edit_json.rb"

    #### Documentation and testing.

    s.has_rdoc = true
    #s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
    #s.rdoc_options <<
    #  '--title' <<  'Rake -- Ruby Make' <<
    #  '--main' << 'README' <<
    #  '--line-numbers'
    s.test_files << 'tests/runner.rb'

    #### Author and project details.

    s.author = "Florian Frank"
    s.email = "flori@ping.de"
    s.homepage = "http://json.rubyforge.org"
    s.rubyforge_project = "json"
end

Rake::GemPackageTask.new(spec) do |pkg|
    pkg.need_tar = true
    pkg.package_files += PKG_FILES
end
    # vim: set et sw=4 ts=4:
