ant - 如何将Ant属性转换为Ant资源?

标签 ant groovy

我想转换如下内容:

<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>

关于ant - 如何将Ant属性转换为Ant资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796763/

相关文章:

groovy - 作为脚本运行时,一个文件中有多个 Groovy 类

groovy - 以常规方式从 2 个列表创建逗号分隔的字符串

java - 将 JAR 添加到 Visual Studio 2015 Android Ant Java 项目

Ant @变量未解析

java - 如何使 Ant Javadoc 类排除两个文件?

Mac 上的 Eclipse,尝试构建时出现 "Specified VM install not found"错误

grails - 如何在 grails 中获取带有投影的不同记录列表?

grails - 部署时,空对象上的Grails多部分表单服务器500错误,但不在本地主机上

groovy - 是否有任何隐式变量可以访问 "each"方法中的项目索引

svn - 当您的 ant 构建过程在版本控制上崩溃时该怎么办