我的所有项目及其版本都在一个属性文件中定义,如下所示:
ProjectNameA=0.0.1
ProjectNameB=1.4.2
Run Code Online (Sandbox Code Playgroud)
我想迭代所有项目,并在Ant脚本中使用它们的名称和版本.
目前我使用属性任务读取整个文件,然后在for循环中遍历给定列表,如下所示:
<for list="ProjectNameA,ProjectNameB" param="project">
<sequential>
<echo message="@{project} has version ${@{project}}" />
</sequential>
</for>
Run Code Online (Sandbox Code Playgroud)
如何避免for循环中项目名称的硬编码?基本上迭代每一行,并在我去的时候提取项目的名称和版本.
mar*_*ton 13
看到你已经在使用antcontrib for,如何使用propertyselector任务:
<property file="properties.txt" prefix="projects."/>
<propertyselector property="projects" match="projects\.(.*)" select="\1"/>
<property file="properties.txt" />
<for list="${projects}" param="project">
...
</for>
Run Code Online (Sandbox Code Playgroud)
这里的想法是projects使用前缀读取属性一次,并使用生成的属性集来构建包含该propertyselector任务的逗号分隔的项目列表.然后在没有前缀的情况下重新读取属性,以便您的for循环可以像以前一样继续.
| 归档时间: |
|
| 查看次数: |
19161 次 |
| 最近记录: |