2010-02-16 17 views
6

Devo scrivere uno script Nant che accetterà 2 parametri sulla riga di comando. Il primo è solo un'opzione e ha il seguente formato: -myOption. Il secondo deve essere racchiuso tra virgolette: "qualche valore con lo spazio".Come posso passare 2 parametri allo script Nant?

ad es. -myOption "questo valore"

Sono nuovo a Nant quindi devo successo finora e non so come per emettere il comando per eseguire il debug.

Questo è quello che ho finora:

<target name="Build" depends="SetupConfig"> 
<exec workingdir="${refactory.basedir}" program="${exe.name.mfg.factory}" basedir="${refactory.basedir}" commandline="-myOption:"> 
<arg>${refactory.clientconfig}</arg> 
</exec> 

Sto tentando di creare il comando utilizzando l' 'attributo "CommandLine" e gli argomenti nidificati elemento. L'elemento args dovrebbe fornire qoutes.

Qualcuno può dirmi come dovrebbe essere? Grazie.

risposta

2

Prova questo:

<target name="Build" depends="SetupConfig"> 
<exec workingdir="${refactory.basedir}" program="${exe.name.mfg.factory}" basedir="${refactory.basedir}"> 
    <arg value="-myOption" /> 
    <arg value="${refactory.clientconfig}" /> 
</exec> 

Per ulteriori informazioni vista Nant Exec task documentation.

+0

Aggiungendo il valore = attributo è una buona idea :) – Nick

29

Ho bisogno di confessare, guardando il tuo frammento di codice che non è del tutto chiaro per me, ciò che si sta cercando di ottenere.

In ogni caso, questo è come si passa due argomenti ad uno script NAnt (quello che stai protestando per quanto riguarda a titolo della domanda):

Dato uno script NAnt example.project.build con i seguenti contenuti:

<?xml version="1.0"?> 
<project name="example.project" default="example.target" basedir="."> 
    <target name="example.target"> 
    <echo message="${arg.option}" /> 
    <echo message="${arg.whitespace}" /> 
    </target> 
</project> 

... si potrebbe chiamare

nant -buildfile:example.project.build -D:arg.option=foo -D:arg.whitespace="bar and bar" 

... per eseguire lo script example.project.build e passare gli argomenti arg.option e arg.whitespace ad esso.

+0

Questa dovrebbe essere la risposta accettata. – J0e3gan