2010-01-06 5 views
0

Cela devrait être simple. J'ai eu une autre base de code que cela a fonctionné mais pour une raison quelconque cela ne fonctionnera pas du tout ici. Mon fichier will.txt n'est pas modifié.ANT + ne pas remplacer les variables d'une liste de fichiers

Voici un extrait de mon fichier de construction de fourmis. Toutes les idées que j'ai gaspillées des heures déjà me cognent la 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 est le contenu de la liste des config.update fichier

/tmp/will.txt

est Ci-dessous le contenu de /tmp/will.txt

@[email protected] will 
+1

Avez-vous essayé de l'exécuter avec 'ant -v'? –

+1

Pourquoi 'srcFile' est défini sur' config.update.list'? Devrait-il être '/ tmp/will.txt'? –

+0

c'est une version simplifiée config.update.list aura de nombreux fichiers dedans. – wmitchell

Répondre

2

De Le commentaire d'Alexander Pogrebnyak. Attributs 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, Ant ne vous permet pas de changer la valeur des propriétés. Vous ne pouvez donc pas utiliser pour la sortie si elle est déjà définie. Essayez d'utiliser une autre propriété pour la sortie:

<loadfile 
    property="config.update.list.output" 
    srcFile="/tmp/will.txt" failonerror="true"> 
... 
<echo>[${config.update.list.output}]</echo> 
+0

Cela ressemble à ce que je recherchais. En fin de compte en raison du temps, etc. Je choisis de le faire en utilisant les étiquettes de remplacement par exemple. wmitchell

Questions connexes