Reputation: 19699
I have a properties file containing key/value pairs:
key1=value1
key2=value2
...
How can I retrieve a list of all keys in this file using Ant?
Upvotes: 0
Views: 414
Reputation: 10377
Use loadfile with a filterchain, f.e. :
<project>
<!-- given some file with :
key=value
key=someothervalue
...
-->
<loadfile property="keysonly" srcfile="some.properties">
<filterchain>
<tokenfilter>
<replaceregex pattern="(.+)=.+" replace="\1"/>
</tokenfilter>
</filterchain>
</loadfile>
<echo>${keysonly}</echo>
</project>
If you need the keys in special form, f.e. comma separated use something like :
<loadfile property="keysonly" srcfile="some.properties">
<filterchain>
<tokenfilter>
<!-- use some delimiter f.e. '###' -->
<replaceregex pattern="(.+)=.+" replace="\1###"/>
</tokenfilter>
<!-- get rid of linefeeds -->
<striplinebreaks/>
<tokenfilter>
<!-- replace delimiter '###' with ',' -->
<replaceregex pattern="###" replace="," flags="g"/>
</tokenfilter>
<tokenfilter>
<!-- replace dangling ',' -->
<replaceregex pattern=",$" replace=""/>
</tokenfilter>
</filterchain>
</loadfile>
Upvotes: 3