我正面临着一个非常简单的ANT脚本问题。我有一个脚本加载和设置从文件系统中的几个属性文件加载的许多属性。此属性用于预配置新项目。
问题是:我可以写一个新的属性文件,它持久化所有以给定前缀开头的属性(例如“ref.proj。*”)?
属性的编号和名称是可变的,因此我无法使用
<propertyfile file="my.properties">
<entry key="ref.proj.first" value="${ref.first}"/>
...
<entry key="ref.proj.n" value="${ref.n}"/>
</propertyfile>
将过滤器应用于属性文件任务是否可行? 提前谢谢!
答案 0 :(得分:2)
答案 1 :(得分:0)
以下示例使用groovy ANT task:
<path id="build.path">
<pathelement location="lib/groovy-all-2.1.0.jar"/>
</path>
<target name="create-properties">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>
<groovy>
new File("my.properties").withWriter { writer ->
properties.findAll { it.key.startsWith("ref.proj") }.each {
writer.println it
}
}
</groovy>
</target>