2012-12-20 51 views
2

關於如何使用PHP編寫自定義任務,請閱讀documentation for Phing。我想知道是否可以將PHP源文件放在我的項目文件夾中。從項目目錄加載自定義Phing任務

該文件說,任務PHP文件必須放置在classes/phing/tasks/my中,然後可以使用此命令加載它們。

<taskdef name="myecho" classname="phing.tasks.my.MyEchoTask" /> 

如果源文件不在我的項目文件夾中,那麼很難在版本控制下保持項目特定的任務。

是否有可能改變他們從哪裏加載的位置?

回答

5

如果參照這樣的自定義任務在生成文件:

<taskdef name="myecho" classname="my.tasks.MyEchoTask" /> 

Phing會看在你的當前目錄下名爲my/tasks目錄(我相信)。

對於我自己的東西,我已經叫phing目錄了我的源代碼樹的頂層的,我只是把該文件夾中我的任務和使用的類名phing.<MyTaskClassName>

+0

謝謝,這是個好消息。 – cgTag

+0

謝謝,這太好了。但是,如果我們需要phing/Task.php,您如何確保它是跨操作系統的正確途徑? –

+0

對於誰運行到同一個問題,因爲我的意見/上述問題的人,這是我做的: $ pear_path =修剪(了shell_exec(「梨的配置,得到php_dir」)); require_once($ pear_path。'/ phing/Task.php'); ($ pear_path。'/ phing/tasks/ext/svn/SvnBaseTask.php'); require_once –

1

此外,你可以指定一個包含路徑從您的build.xml文件轉換爲您的自定義任務。

,其中$ {} srcPath是定義我的項目的根目錄和「建」的屬性是我的build.xml文件放置。