如何在所有使用通配符的子目錄中的build.xml中調用特定目標(即不對子目錄名稱進行硬編碼)?下面的答案是硬編碼的。有沒有辦法做到這一點沒有硬編碼?ANT:如何在子目錄中調用所有build.xml的目標?
這個問題類似:Pass ant target to multiple build.xml files in subdirectories
如何在所有使用通配符的子目錄中的build.xml中調用特定目標(即不對子目錄名稱進行硬編碼)?下面的答案是硬編碼的。有沒有辦法做到這一點沒有硬編碼?ANT:如何在子目錄中調用所有build.xml的目標?
這個問題類似:Pass ant target to multiple build.xml files in subdirectories
我將我的build.properties文件中設置不同的屬性。我使用這些在我的目標中動態構建路徑。
定義你的build.properties文件的位置:
<!-- all properties are in build.properties -->
<property file="build.properties" />
使用這些屬性在你的目標:
在構建屬性3210種
性質類似於建立一個.ini文件:
project.rootdir=c:/Deploy
project.tempbuilddir = c:/Deploy/Temp/Inetpub
project.builddir=c:/Deploy/Inetpub
# Build prefix will be added to that tags urls (.../tags/${project.buildprefix}Build_${today.date})
project.buildprefix=ACA_
我想,如果有必要,你可以使用動態文件的屬性文件,只要你定義的正確的路徑文件。你可以將它指向一個服務器端文件來動態編寫你的屬性文件(ColdFusion,PHP,JSP等等)。
我用ant-contrib's foreach任務來做這樣的事情。
聽起來像是爲<subant>任務一個完美的候選人。
使用Ant subant
任務是這樣的:
<subant target="sometarget">
<fileset dir="." includes="*/build.xml" />
</subant>
如果包括「inheritall」屬性(相同的,因爲它是如何,但違約相反的使用),你可以分享你所有的當前項目的性質和一切太。如果需要,這也可以很容易地覆蓋在主build.xml文件中定義的任務。
瞭解更多關於here。
這不會做我在問什麼。我有一個頂級的build.xml。我希望它在頂級的所有子目錄中的所有build.xml中調用任務(即清理)。 – Tazzy531 2009-07-29 13:31:42