]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - Rakefile
fix: preserve loglevels across options and files
[user/henk/code/ruby/rbot.git] / Rakefile
index 45e62613ffae22b4342d71577ad1cd631446577a..1bd782eab2fe61a751779bea05815ccf3526cc2f 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -1,41 +1,24 @@
-require 'rubygems'
 require 'rake'
-require 'rake/gempackagetask'
+require 'rubygems/package_task'
 
 task :default => [:buildext]
 
-spec = Gem::Specification.new do |s|
-  s.name = 'rbot'
-  s.version = '0.9.12'
-  s.summary = <<-EOF
-    A modular ruby IRC bot.
-  EOF
-  s.description = <<-EOF
-    A modular ruby IRC bot specifically designed for ease of extension via plugins.
-  EOF
-  s.requirements << 'Ruby, version 1.8.0 (or newer)'
-
-  #  s.files = Dir.glob("**/*").delete_if { |item| item.include?(".svn") }
-  s.files = FileList['lib/**/*.rb', 'bin/*', 'data/rbot/**/*', 'AUTHORS', 'COPYING', 'README', 'REQUIREMENTS', 'TODO', 'ChangeLog', 'INSTALL',  'Usage_en.txt', 'setup.rb', 'po/*.pot', 'po/**/*.po'].to_a.delete_if {|item| item == ".svn"}
-  s.bindir = 'bin'
-  s.executables = ['rbot', 'rbot-remote']
-  s.default_executable = 'rbot'
-  s.extensions = 'Rakefile'
-
-#  s.autorequire = 'rbot/ircbot'
-  s.has_rdoc = true
-  s.rdoc_options = ['--exclude', 'post-install.rb',
-  '--title', 'rbot API Documentation', '--main', 'README', 'README']
-
-  s.author = 'Tom Gilbert'
-  s.email = 'tom@linuxbrit.co.uk'
-  s.homepage = 'http://ruby-rbot.org'
-  s.rubyforge_project = 'rbot'
+rule '.1' => ['.xml'] do |t|
+  sh "xsltproc -nonet -o #{t.name} /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl #{t.source}"
 end
 
-Rake::GemPackageTask.new(spec) do |pkg|
-  pkg.need_zip = true
-  pkg.need_tar = true
+task :manpages => ['man/rbot.1']
+
+SPECFILE = 'rbot.gemspec'
+# The Rakefile is also used after installing the gem, to build
+# the .mo files. Since in this case the SPECFILE is not available,
+# we must (and can) skip defining the gem packaging tasks.
+if File.exist? SPECFILE
+  spec = eval(File.read(SPECFILE), nil, SPECFILE)
+  Gem::PackageTask.new(spec) do |pkg|
+    pkg.need_zip = true
+    pkg.need_tar = true
+  end
 end
 
 # normalize a po/pot file
@@ -119,7 +102,7 @@ task :define_po_rules do
   end
 
   # generate English po files
-  file(%r'^po/en_US/.+\.po$' => pot_for_po) do |t|
+  file(%r'^po/en/.+\.po$' => pot_for_po) do |t|
     po_file, pot_file = t.name, t.source
     if MSGEN
       sh "#{MSGEN} --output-file=#{po_file} #{pot_file}"
@@ -212,4 +195,4 @@ desc 'Generate mo files'
 task :makemo =>
   FileList['po/*/*.po'].pathmap('%{^po,data/locale}d/LC_MESSAGES/%n.mo')
 
-
+Dir['tasks/**/*.rake'].each { |t| load t }