我想转换如下内容:
<property name='aoeu' value='a,o,e,u'/>
至:
<path id='ueoa'>
<pathelement location="a/file"/>
<pathelement location="o/file"/>
<pathelement location="e/file"/>
<pathelement location="u/file"/>
</path>
aoeu的值可以包含任意数量的逗号分隔元素。
我可以使用groovy Ant任务,但不能使用Ant contrib中的任何任务。
到目前为止,我有以下内容:
<groovy>
properties['aoeu'].tokenize(',').each() {
properties["ueoa-${it}"] = "${it}/file"
}
</groovy>
<propertyset id='ueoa'>
<propertyref prefix='ueoa-'/>
</propertyset>
它将ueoa创建为:
ueoa=ueoa-a=a/file, ueoa-o=o/file, ueoa-e=e/file, ueoa-u=u/file
当我真正想要的是:
ueoa=/path/to/a/file:/path/to/o/file:/path/to/e/file:/path/to/u/file
我如何才能使这种转换生效?或者,如何在groovy Ant任务中创建资源?
以下操作成功:
<groovy>
ant.path(id:'ueoa') {
properties['aoeu'].tokenize(',').each() {
pathelement(location:"${it}/file")
}
}
</groovy>