ANT + ne pas remplacer les variables à partir d'une liste de fichiers
Question
Cela devrait être simple. J'ai eu une autre base de code que cela a fonctionné, mais pour une raison quelconque, il ne fonctionnera pas ici du tout. Mon fichier will.txt est non modifiée.
Voici un exerp de mon dossier ant de construction .. Toutes les idées Ive gaspillés heures déjà cognant ma tête en essayant de le faire fonctionner.
<loadfile
property="config.update.list"
srcFile="config.update.list" failonerror="true">
<filterchain>
<replacetokens>
<token key="__PRODUCT_VERSION__" value="CATTY"/>
</replacetokens>
<striplinebreaks/>
</filterchain>
</loadfile>
<echo>${config.update.list}</echo>
Ci-dessous le contenu du fichier liste config.update
/tmp/will.txt
Ci-dessous le contenu de /tmp/will.txt
@__PRODUCT_VERSION__@ will
La solution
Du commentaire de Alexander Pogrebnyak. Attribut srcFile
doit pointer vers le nom de fichier /tmp/will.txt
:
<loadfile
property="config.update.list"
srcFile="/tmp/will.txt" failonerror="true">
Ou si le nom de fichier est stocké dans cette propriété, vous devez utiliser srcFile="${config.update.list}"
. Quoi qu'il en soit, la fourmi ne vous permet pas de modifier la valeur des propriétés. Donc, vous ne pouvez pas utiliser property="config.update.list"
pour la sortie si elle est déjà définie. Essayez d'utiliser d'autres biens pour la sortie:
<loadfile
property="config.update.list.output"
srcFile="/tmp/will.txt" failonerror="true">
...
<echo>[${config.update.list.output}]</echo>