i would like to replace tokens in source files with Ant:
some test ${foo} other text ...
Tokens are contained in a properties file eg.:
This is somewhat similar to these.
Properties are loaded from the file properties.txt
.
The weakness here is that all occurrences of ${
in your input text are converted to {
before the token substitution - which may well break things if that string appears elsewhere in the text. If that is a problem, it still aught to be possible to adapt this solution.
<copy file="input.txt" tofile="output.txt">
<filterchain>
<replaceregex pattern="\$\{" replace="{" />
<filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
<param type="propertiesfile" value="properties.txt"/>
<param type="tokenchar" name="begintoken" value="{"/>
<param type="tokenchar" name="endtoken" value="}"/>
</filterreader>
</filterchain>
</copy>