2010-02-16 21 views
6

Tengo que escribir un script de Nant que aceptará 2 parámetros en la línea de comando. El primero es solo una opción y tiene el siguiente formato: -myOption. El segundo debe estar envuelto entre comillas: "algún valor con espacio".¿Cómo paso 2 parámetros a la secuencia de comandos Nant?

p. Ej. -myOption "este valor"

Soy nuevo en Nant, así que no he tenido éxito hasta ahora y no sé cómo generar el comando para depurar.

Esto es lo que tengo hasta ahora:

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

Estoy intentando crear el comando a través del 'atributo "línea de comandos" y los argumentos elemento anidado. Se supone que el elemento args proporciona qoutes.

¿Puede alguien decirme cómo debería verse esto? Gracias.

Respuesta

2

Prueba esto:

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

Para más información vista Nant Exec task documentation.

+0

Agregando el atributo value = es una buena idea :) – Nick

29

Tengo que confesar, mirando su fragmento de código no está del todo claro para mí, lo que está tratando de lograr.

De todos modos, así es como se pasan dos argumentos para un guión de NAnt (lo que estás reclamando con respecto al título de la pregunta):

Dada una secuencia de comandos de NAnt example.project.build con los siguientes contenidos:

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

... que llamarían

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

... para ejecutar la escritura example.project.build y pasar argumentos arg.option y arg.whitespace a ella.

+0

Esta debería ser la respuesta aceptada. – J0e3gan

Cuestiones relacionadas