Java 在ant中定义可用于for循环的变量列表
我正在为一个有几个依赖项的项目编写一个ant构建文件。我需要编写一个单独的文件,其中包含所有项目通用的目标,然后在它们自己的构建文件中编写特定于项目的内容。例如,我有一个名为“cleanDependencies”的目标Java 在ant中定义可用于for循环的变量列表,java,for-loop,ant,Java,For Loop,Ant,我正在为一个有几个依赖项的项目编写一个ant构建文件。我需要编写一个单独的文件,其中包含所有项目通用的目标,然后在它们自己的构建文件中编写特定于项目的内容。例如,我有一个名为“cleanDependencies”的目标 正在清理依赖项。。。 )但答案并没有给出一种在for循环之外定义列表的方法 2) 有没有其他方法可以实现这一点?i、 e.在一个单独的文件中收集公共目标,然后将其包含在具有适当变量的项目特定构建文件中的一种方法。Ant中没有列表元素或任务。可以使用包含以逗号分隔的依赖项的属性。
正在清理依赖项。。。
)但答案并没有给出一种在for循环之外定义列表的方法
2) 有没有其他方法可以实现这一点?i、 e.在一个单独的文件中收集公共目标,然后将其包含在具有适当变量的项目特定构建文件中的一种方法。Ant中没有列表
元素或任务。可以使用包含以逗号分隔的依赖项的属性。公共目标已经依赖于一个listOfDependencies
属性,所以您需要做的就是从调用目标传递该属性。应该简单到:
<!-- calling buildfile -->
<property name="listOfDependencies" value="dep1,dep2" />
<ant antfile="common/build.xml" target="cleanDependencies" />
任务,该任务可用于包含公共构建文件并调用它,就像其目标在主构建文件中定义一样。任务“for”不是标准ant的一部分,这可能会解释一些问题。对于依赖关系管理,我建议您看看ApacheIvy。
<target name="cleanDependencies">
<echo>Cleaning dependencies... </echo>
<for list="${listOfDependencies}" param="dependency">
<sequential>
<ant dir="dep/@{dependency}" target="clean" inheritAll="false" />
</sequential>
</for>
</target>
<list name="listOfDependencies"> <!-- Not a valid tag in Ant -->
<item>dep1</item>
<item>dep2</item>
</list>
<!-- calling buildfile -->
<property name="listOfDependencies" value="dep1,dep2" />
<ant antfile="common/build.xml" target="cleanDependencies" />