最近、phingを使い始めました。JavaでいうAntみたいなものです。
ちなみに、PHP 5.2.5、phing 2.3.0, PHPUnit 3.2.21, PhpDocumentor 1.4.2, xdebug 2.0.3といった環境です(Mac OS Xです)。
まだ、exampleを動かしたくらいなのですが、変だなあと思った点がいくつか。
・exampleがそのままじゃ動かない
build.xmlとかTestCaseファイルとかをちまちま修正しないといけませんでした。
phingと連携する、phpunitとの組み合わせの問題なのかもしれないけど、最初のexampleくらい、簡単に動かせるようになって欲しい。
・PhpDocumentorTaskの動作がおかしい
$ phing docs
と単独でタスクを実行すると、うまく動くのですが。
<target name="build" depends="test,prepare,reports,docs">
となっていて依存性がある状態でphing buildを実行するとdocsの処理中にエラーになりました。
docsをdependsから外したり、docsを最初に実行するようにdependsを修正するとOKなんですが、主旨からするとdocsは最後に実行して欲しいところです。
・dependsの実行順序について
phingドキュメントのGeting Startedを見ると、
<target name="D" depends="C,B,A" />Suppose we want to execute target D . From its depends attribute, you might think that first target C , then B and then A is executed. Wrong! C depends on B , and B depends on A , so first A is executed, then B , then C , and finally D .
となっているのです。Dを実行したいとき、depends属性によって、C->B->Aの順に実行されると思うだろうけど、間違い。A->B->Cが実行されて、Dが最後に実行される、と書いてあるように読める。
でも、実際の動きと違うんだよなあ。まあ、実際の動きが正しいんだろうけれど。
最後のはともかく、phpdocタスクは正しく動かしたいなあ。
コメント