2009-08-25 17 views
7

¿Puedo escribir una tarea ant que toma parámetros cuando se ejecuta desde otra tarea ant?¿Puedo escribir una tarea ant que toma parámetros cuando se ejecuta desde otra tarea ant?

Lo que trato de lograr en general, es volver a utilizar las tareas existentes con diferentes parámetros.

Lo que no sé es:

  • ¿hay algo como un sub-tarea en la hormiga?
  • ¿puede tomar los parámetros?
  • cómo y dónde se especifica dicha subtarea?

Concepto de lo que necesito para lograr:

Sub tarea Ant, que toma parámetros param1 y param2: tarea

<someAntCommand att="$param1"/> 
<someOtherAntCommand att="$param2"/> 

principal Ant, que ejecuta el sub tarea:

<doSomethingToExecSubTask somePointerToTaskOrFile="..."> 
    <param name="param1"> hello </param> 
    <param name="param2"> world </param> 
</doSomethingToExecSubTask> 

<doSomethingToExecSubTask somePointerToTaskOrFile="..."> 
    <param name="param1"> hello </param> 
    <param name="param2"> universe </param> 
</doSomethingToExecSubTask> 

Respuesta

14

Hay dos maneras de lograr esto:

  1. Puede hacer esto con antcall.

  2. Desde ant 1.6, puede usar macros.

+0

Las macros parecen ser la solución correcta. ¡Gracias! –

0
<property name="param1"/> 
<property name="param2"/> 
<target name="task1">   
    <property name="param1" value="hello"/> 
    <property name="param2" value="world"/>   
</target> 
<target name="task2"> 
</target> 

Sólo tiene que llamar Task2, ejecución de la tarea se ejecutará antes de que

+0

¡Disculpas, copie y pegue el error! He editado y esto debería resolverlo –

2

Lo que quiere es macro-def.

Para una muy buena guía para escribir macros Ant verifique this presentation.

+0

Muy buena presentación de hecho. Gracias por compartir. Eso es lo que necesitaba. – botchniaque

Cuestiones relacionadas