2009-06-01 170 views
2

在ant中,是否有一種方法可以組合多個ant構建以部署到元項目。比如我有Ant元構建

workspace/project1/build.xml 
workspace/project2/build.xml 

,我想使

workspace/build.xml 

,將運行在PROJECT1和項目2的具體目標。

回答

0

「antcall」任務可能是您需要的。它允許你在其他ant文件中調用特定的目標。您可以選擇將所有當前定義的屬性和引用傳遞給調用的目標。

請注意,這不會與用於調用當前ant文件中的目標的「ant」目標相混淆。

1

我認爲這是倒退,不是嗎? 「ant」允許您指定另一個構建文件,而「antcall」僅用於調用特定目標。

3

ant任務執行此操作。此外,還有一個import任務,它可以讓您將子Ant文件作爲較大項目文件的一部分。但實際上,如果子項目的Ant文件首先是爲其構建的,那麼您可能只會這樣做。

4

我會推薦subant任務,而不是antantcall。對於上面的例子中,使用在workspace/build.xml如下:

<subant target="target"> 
    <fileset dir="${basedir}" includes="project*/build.xml"/> 
</subant> 

縮小文件集根據需要拿起所有的項目子目錄(使用**/build.xml拿起包含一個build.xml文件所有子目錄)。