2010-05-22 9 views
35

Si tengo tres objetivos, uno "todos", una "compilación" y uno "JSP", ¿cómo iba a hacer "todo" depende de los otros dosmúltiple depende de tarea ant

¿Sería

<target name="all" depends="compile,jsps"> 

o sería

<target name="all" depends="compile","jsps"> 

o tal vez incluso algo diferente?

Intenté buscar scripts de ejemplo para basarlo, pero no pude encontrar uno con múltiples dependencias.

Respuesta

68

El primero:

<target name="all" depends="compile,jsps"> 

Esto está documentado en el Ant Manual.

+4

Tenga cuidado de seguir los ejemplos aquí y no incluya espacios después de la coma (eso me atrapó). – joejag

+4

@joejag my ant acepta con o sin espacios después de la coma; ¿Qué versión está utilizando? –

11

Es el mejor.

sólo tiene que utilizar la etiqueta de eco si desea ver rápidamente por sí mismo

<target name="compile"><echo>compile</echo></target> 

<target name="jsps"><echo>jsps</echo></target> 

<target name="all" depends="compile,jsps"></target> 

También puede mirar la etiqueta antcall si desea más flexibilidad en las tareas que ordenan

+1

Enseñe a un hombre a pescar ... –

10
<target name="all" depends="compile,jsps"> 

Esto está documentado en Ant Manual.

2

Una forma alternativa es utilizar antcall, que es más flexible si desea ejecutar los objetivos dependientes en paralelo. Suponiendo compilan y JSP se pueden ejecutar en paralelo (es decir, en cualquier orden), todos de destino puede ser escrito como:

<target name="all" description="all target, parallel"> 
    <parallel threadCount="2"> 
    <antcall target="compile"/> 
    <antcall target="jsps"/> 
    </parallel> 
</target> 

Tenga en cuenta que si los objetivos no se pueden ejecutar en paralelo, es preferible utilizar la primera sabor con Depende del atributo porque los anticonceptivos se resuelven solo cuando se ejecutan y si el objetivo llamado no existe, la compilación fallará solo en ese punto.

Cuestiones relacionadas