znmud-0.0.1/benchmark/
znmud-0.0.1/cmd/
znmud-0.0.1/cmd/emotes/
znmud-0.0.1/cmd/objects/
znmud-0.0.1/cmd/tiny/
znmud-0.0.1/doc/
znmud-0.0.1/farts/
znmud-0.0.1/lib/
znmud-0.0.1/lib/combat/
znmud-0.0.1/lib/core/bodytypes/
znmud-0.0.1/lib/engine/
znmud-0.0.1/lib/farts/
znmud-0.0.1/logs/
# Originally used from Teensey MUD.  Some parts are still used with ZNMud engine
# I will try to upkeep and maintain this rakefile -- Craig

# Primarily this is used to make rdoc and po files

require 'rake/rdoctask'
require 'rake/testtask'
require 'rake/packagetask'
require 'pp'

# get version 
require 'lib/utility/version'

# files to distribute
PKG_FILES = FileList[
  'znmud.rb', 'tclient.rb', 'dbload.rb', 'dbdump.rb', 'config.yaml',
  'LICENSE', 'CONTRIBUTORS', 'CHANGELOG', 'README.txt', 'README-teensy.txt', 'TML',
  'farts.grammar', 'Rakefile', 
  'db', 'db/README', 'db/testworld.yaml', 'db/dikuworld.yaml', 'db/tinyworld.yaml',
  'db/license.diku', 'db/license.tiny',
  'farts', 'farts/**/*',
  'test', 'test/**/*', 
  'logs', 'logs/README',
  'benchmark', 'benchmark/README',
  'lib/**/*',
  'cmd/**/*',
  'occupations',
  'po/**/*',
  'locale/**/*',
  'doc/**/*'
]

# make documentation
Rake::RDocTask.new do |rd|
  rd.rdoc_dir = 'doc'
  rd.main = 'README.txt'
  rd.title = "ZNMud Engine v#{Version} Mud Server"
#  rd.template = 'kilmer'
#  rd.template = './rdoctemplate.rb'
  rd.rdoc_files.include('README.txt', 'README-teensy.txt', 'farts.grammar', 'TML', 'znmud.rb', 'tclient.rb',
    'dbload.rb', 'dbdump.rb',  
    'lib/*.rb', 'lib/**/*.rb', 'cmd/**/*.rb')
  rd.options << '-d' 
end

# run tests
Rake::TestTask.new do |t|
  t.libs << "vendor" << "test"  # default "lib"
  #t.pattern = 'test/test*.rb'  # default 'test/test*.rb'
  t.test_files = FileList['test/test*.rb'] - 
    ["test/test_gameobject.rb",
     "test/test_room.rb",
     "test/test_root.rb",
     "test/test_properties.rb"
    ]
  t.verbose = true
  t.options = "-c test/test_config.yaml"
end

desc "Package up a distribution"
Rake::PackageTask.new("znmud", Version) do |p|
    p.need_tar_gz = true
    p.need_zip = true
    p.package_files.include(PKG_FILES)
    p.package_files.exclude(/\.svn/)
end
  
desc "Report code statistics (KLOCs, etc) from the application"
task :stats do |t|
  require 'code_statistics'
  CodeStatistics.new(
    ["Main", ".", /^znmud.rb$|^tclient.rb$/], 
    ["Library", "lib", /.*\.rb$/], 
    ["Storage", "lib/storage", /.*\.rb$/], 
    ["Engine", "lib/engine", /.*\.rb$/], 
    ["Combat", "lib/combat", /.*\.rb$/],
    ["OLC", "lib/olc", /.*\.rb$/],
    ["Farts", "lib/farts", /.*\.rb$/], 
    ["Network", "lib/network", /.*\.rb$/], 
    ["Utility", "lib/utility", /.*\.rb$/], 
    ["Core", "lib/core", /.*\.rb$/], 
    ["Protocol", "lib/network/protocol", /.*\.rb$/], 
    ["Commands", "cmd/teensy", /.*\.rb$/],
    ["Benchmarks", "benchmark", /.*\.rb$/],
    ["Tests", "test", /.*\.rb$/]
  ).to_s
end

desc "Make a code release"
task :release do
  baseurl = "http://znmud.com/zombiemud"
  sh "svn cp -m 'tagged release #{Version}' #{baseurl}/trunk #{baseurl}/tags/znmud-#{Version}"
end

desc "Rebuild the parsers"
task :build_parsers do
  sh "racc -o lib/farts/farts_parser.rb lib/farts/farts_parser.y"
  sh "racc -o lib/utility/boolexp.rb lib/utility/boolexp.y"
end

desc "Update pot/po files."
task :updatepo do
  require 'gettext/utils'
    GetText.update_pofiles("cmd", Dir.glob("cmd/**/*.rb"), "znmud #{Version}")
    GetText.update_pofiles("engine", Dir.glob("lib/engine/*.rb"), "znmud #{Version}")
    GetText.update_pofiles("core", Dir.glob(["lib/core/*.rb","lib/combat/*.rb"]), "znmud #{Version}")
 end

desc "Create mo-files"
task :makemo do
      require 'gettext/utils'
        GetText.create_mofiles(true)
end

task :release => [:package]
#task :clean => [:clobber_rdoc]
task :package => [:rdoc]
#task :default => [:build_parsers, :rdoc, :test]