2021-04-09 08:42:54 +0200 +0200

Prskavčí blog

Jun 29, 2008

Phing - SvnLogTask

Phing obsahuje ve verzi 2.3 tyto Tasky pro práci se Subversion.

Tuto část

jsem nahradil tímto kódem

Po této úpravě, která jistě by šla udělat lépe. Jsem se dal do psaní vlastního tasku SvnLogTask.php. Task vrátí log z repozitory v XML formátu. Pokud chceme plain text, tak to prožene XSLT transformací a potom ještě vymaže whitespaces z celého dokumentu.

Potom se to dá už použít v build.xml.

Moje vlastní XSLT transformace (phing\tasks\ext\svn\LogTxt.xsl) na plain text není přiliš vhodná pro nějaké systémové řešení. Lepší je parametr nechat zapnutý. Vzít XML a pomocí XsltFilter aplikovat vlastní transformaci.

Nakonec přidám ještě moje build.propeties a buid.xml jednoho moje projektu pro ilustraci.

Tady v build.propeties si všimněte jen jediného detailu, ale ten vás může stát hodně času. Cesty k svn a k repozitory neobsahují mezery, pokud máte Subversion např. v Program Files může to nadělat více problémů než užitku a chyby se projevují různě a ne zcela systémově. Doporučuji se tomu předem vyhnout, ušetříte si čas a nervy.

Vlastní build se pustí pomocí phing z příkazové řádky tam kde máte build.xml uložený. Pokud se nedaří Phing nainstalovat a nakonfigurovat pro chod např. s PHPDoc, tak doporučuji postup ze stránek Phingu.

Doufám, že někomu rady budou k užitku, Phing je skvělý produkt i když většina asi dá za přednost Antu pokud nedělají čistě PHP.