2009-07-01 5 views
9

Das ist also das Szenario. Ich habeANT Skriptbehandlung Rückgabewert von 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>  

Grundsätzlich ich einen Weg brauche das Ergebnis aus dem ersten Ziel im nächsten Ziel zu verwenden. Ich schaute online und eine Lösung scheint zu sein, die Ausgabe zu parsen. Aber gibt es einen Weg, es ohne Parsing zu bekommen?

Dank

Antwort

13

Die Exec-Task hat eine outputproperty. Könnten Sie etwas tun:

<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> 

Es ist schon eine Weile her, seit ich Ant verwendet, und ich habe es nicht auf diesem Computer installiert, aber ich glaube, etwas zu tun, wie die oben wieder zu verwenden.

Oder vielleicht resultproperty verwenden?

Fand es hier: http://ant.apache.org/manual/Tasks/exec.html

0

Die erste ausführbare Rück den Namen der ausführbaren Datei, die Sie später in test2 laufen haben, nicht wahr?

So könnte die erste ausführbare Datei diesen Namen in eine Skriptdatei schreiben (z. B. Batchdatei unter Windows, Shelldatei unter Unix). Das Skript hätte einen festen Namen und Ihr Ant-Skript würde es einfach ausführen.

+0

Nun, es befestigt ist. Ich kann einfach keinen Weg finden, auf den Rückgabewert des Zieltests im Zieltest2 zuzugreifen. – grobartn

+1

Oh, ich sehe, Sie meinen, Test geben Sie den Namen der exe, die Sie ausführen möchten zurück? –

+0

genau ........ – grobartn