PHP版ant。情報があんまりないなぁ…。Symfonyで使われてるみたいだけど。
http://phing.info/trac/
ユーザガイド
http://phing.info/docs/guide/current/
インストール
% pear channel-discover pear.phing.info
% pear install phing/phing
Can't load default task list
Windowsでエラーがでる。phingはあんまりwindowsで動くようにはテストされてないみたいだ…。
このエラーの根本的な原因はphingのデータディレクトリのパスの解決に失敗してるから。
PEARでインストールすると $dataDir が自動的に置き換わるようになっている。はずなんだけど、何故かエラーが出る環境がある。
ソースPhing.phpの getResourcePathを直接書き換えるか、include_pathにpear/dataを追加するかしなければならない。
サンプル
例)temp,logディレクトリを作成して、777にする
build.xml
build.xmlがあるディレクトリでコマンドを実行
% phing
buildfile
http://phing.info/docs/guide/current/chapt...#XMLAndPhing
...
...
タスク
CapsuleTask
テンプレートを使ってファイル生成する。例えば自分でscaffoldみたいなことが作れる。CapsuleというのはPhingが用意した素のPHPによるテンプレートエンジン。テンプレート内でとかやって変数出力する。素のPHPだからテンプレート内でコードも書けるので手軽。同じようなものにSmartyTaskがある。
指定しなければならないプロパティ
・ templatePath
・ controlTemplate(テンプレートファイル名)
・ outputDirectory
・ outputFile
・ contextProperties(assignする変数をproperties形式で書かれたファイル名)
svn
この4つが使える。
SvnCheckoutTask
SvnUpdateTask
SvnLastRevisionTask
SvnExportTask
checkoutするならこう
でも実行結果が出力されない。$this->runしてるとこを$this->logに渡せば出る。
無駄に調べたメモ
・target要素はなくてもいい。project直下にタスク書いてもいける
・でも、project要素のdefault属性はつけないといけない
・外部別のファイル読むにはPhingTaskを使う