]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - Rakefile
slashdot plugin: fix filter for multiple articles
[user/henk/code/ruby/rbot.git] / Rakefile
index 88714cf14dd09d00bcee07163fca4a0e79f8f915..822fe7327fe1f841ca28194470f67118f382bf5b 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -6,7 +6,7 @@ task :default => [:buildext]
 
 spec = Gem::Specification.new do |s|
   s.name = 'rbot'
-  s.version = '0.9.11'
+  s.version = '0.9.15'
   s.summary = <<-EOF
     A modular ruby IRC bot.
   EOF
@@ -107,8 +107,12 @@ task :define_po_rules do
     puts "#{pot_file} => #{po_file}"
     if File.exists? po_file
       sh "#{MSGMERGE} --backup=off --update #{po_file} #{pot_file}"
+    elsif MSGINIT
+      locale = po_file[%r'^po/(.+)/.+\.po$', 1]
+      sh "#{MSGINIT} --locale=#{locale} --no-translator --input=#{pot_file} --output-file=#{po_file}"
     else
-      cp pot_file, po_file
+      warn "#{po_file} is missing and cannot be generated without msginit"
+      next
     end
     normalize_po(po_file)
     touch po_file
@@ -149,6 +153,9 @@ task :check_po_tools do
     'msgmerge' => {
       :options => %w[--backup= --update],
       :message => 'Cannot update po files' },
+    'msginit' => {
+      :options => %w[--locale= --no-translator --input= --output-file=],
+      :message => 'Cannot generate missing po files' },
     'msgcomm' => {
       :options => %w[--unique],
       :message => 'Pot files may be modified even without message change' },
@@ -202,8 +209,7 @@ task :buildext do
 end
 
 desc 'Generate mo files'
-task :makemo => LOCALES.map {|l|
-  ["data/locale/#{l}/LC_MESSAGES/rbot.mo"] +
-  PLUGIN_BASENAMES.map {|n| "data/locale/#{l}/LC_MESSAGES/rbot-#{n}.mo"}
-}.flatten
+task :makemo =>
+  FileList['po/*/*.po'].pathmap('%{^po,data/locale}d/LC_MESSAGES/%n.mo')
+