2009-07-01 5 views
9

Voici donc le scénario. JeGestion du script ANT Valeur de retour de l'exec

<target name="test"> 
    <property file="blah"></property> 
    <exec dir="" executable="trast.exe" resolveexecutable="true" spawn="true"> 
    </exec> 
</target>  

<!-- So now I have the second target that uses Return value from first target --> 
<target name="test2"> 
    <property file="blah"></property> 
    <exec dir="" executable=RETURN VALUE resolveexecutable="true" spawn="true"> 
    </exec> 
</target>  

Fondamentalement, je besoin d'un moyen d'utiliser le résultat de la première cible dans la prochaine cible. J'ai regardé en ligne et une solution semble être d'analyser la sortie. Mais y a-t-il un moyen de l'obtenir sans analyser?

Merci

Répondre

13

La tâche exec a un outputproperty. Pouvez-vous faire quelque chose comme ceci:

<target name="test"> 
    <exec dir="" executable="trast.exe" resolveexecutable="true" spawn="true" outputproperty="blah"> 
    </exec> 
</target>  

<!-- So now I have the second target that uses Return value from first target --> 
<target name="test2"> 
    <exec dir="" executable="${blah}" resolveexecutable="true" spawn="true"> 
    </exec> 
</target> 

Il a été un moment que j'utilisé Ant et je ne l'ai pas installé sur cette machine, mais il me semble rappeler de faire quelque chose comme ce qui précède. Peut-être utiliser resultproperty?

Je l'ai trouvé ici: http://ant.apache.org/manual/Tasks/exec.html

0

Le premier exécutable retourne le nom de l'exécutable que vous avez plus tard à courir dans test2, non? Le premier exécutable a donc pu écrire ce nom dans un fichier de script (par exemple un fichier de commandes sous Windows, un fichier shell sur Unix). Le script aurait un nom fixe et votre script Ant ne ferait que l'exécuter.

+0

Eh bien, il est fixé. Je ne trouve tout simplement pas moyen d'accéder à la valeur de retour du test cible dans le test cible2. – grobartn

+1

Oh, je vois, vous voulez dire test retourner le nom de l'exe que vous voulez exécuter? –

+0

exactement ........ – grobartn

Questions connexes