XULアプリケーション テンプレート 作成スクリプト

XULRunnerもインストールしたことだし、なんかXULアプリでも作ろうかと思って、 XULRunner tutorial(http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx)を見てみた。ディレクトリ構造をこう作れ、とか設定ファイルを三種類つくれ、とかいろいろ面倒なことが書いてあったので、一発でそのへんの下準備をしてくれるスクリプトを書いてみた。知識をコードにしてメモ。
例によってruby製。このスクリプトにアプリケーションの名前を渡して起動すると、カレントディレクトリにそのアプリケーション用のディレクトリを作って、設定ファイルも適当にでっちあげる。一応これ叩くだけで、application.iniをXULRunnerにくわせると、タイトルバーだけのウインドウがでるようにはなってます。

#!/usr/bin/ruby
require 'fileutils'

def make_file(filename,body)
  open(filename,'w') do |f|
    f.puts body
  end
end

def safe_cd(dirname)
  FileUtils.mkdir_p(dirname)
  FileUtils.cd(dirname)
end

appname = ARGV.shift
raise 'require appname' if appname == nil

## app directory
safe_cd(appname)
make_file('application.ini',<<EO_app)
[App]
Vendor=MozillaTest
Name=#{appname}
Version=0.1
BuildID=#{Time.now.strftime('%Y%m%d')}

[Gecko]
MinVersion=1.8
MaxVersion=1.8
EO_app

##chrome directory
safe_cd('chrome')
make_file('chrome.manifest',<<EO_chr)
content #{appname} file:#{appname}/
//content #{appname} jar:#{appname}.jar!/
EO_chr

safe_cd(appname)
make_file("#{appname}.xul",<<EO_xul)
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="#{appname}-window"
        title="#{appname}"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
</window>
EO_xul
FileUtils.cd('../')
FileUtils.cd('../')

## defaults/preferences directory
safe_cd('defaults')
safe_cd('preferences')
make_file("#{appname}.js",<<EO_prefs)
pref("toolkit.defaultChromeURI", "chrome://#{appname}/content/#{appname}.xul");
EO_prefs

ほんとに単純な処理しかしてないし、chrome.manifestの中でのコメントの記法がわからなかったので適当に書いちゃってます。ご存知の方は教えてください。