2011-06-13 31 views
12

Vi this pregunta relevante pero mi situación es diferente, así que preguntar esto de nuevo. Básicamente, tengo 12 archivos ant que tengo que ejecutar en una secuencia específica. Para cada archivo ant, selecciono un objetivo diferente, como "crear" o "compilar e implementar todo". ¿Cómo puedo crear un archivo ant que llame a los objetivos correctos para todos estos archivos?Crear un archivo ant para ejecutar otros archivos ant

Pseudocode: 

<Call antFile1, "clean"> 
<Call antFile1, "create"> 
<Call antFile2, "build"> 
     . 
     . 
     . 
<Call antfile12, "build and deploy all"> 
+0

Cuando un guión de hormigas llama a otro es el lugar donde ya no deberías usar hormiga en mi opinión. –

+0

¿Hay alguna otra alternativa? – TookTheRook

+1

Debe usar algo estándar para administrar el ciclo de vida de su proyecto como Maven. Si no tienes cosas complicadas, te sentirás feliz sin un aprendizaje profundo. Si cuentas más sobre tus proyectos y sobre lo que tu script de ant realmente hace, podríamos ayudarte más. –

Respuesta

25

Tal vez tienen un objetivo como el de abajo en lo abarca archivo de hormigas:

<target name="all"> 
    <ant antfile="antFile1" target="clean" /> 
    <ant antfile="antFile2" target="create" /> 
    ... 
</target> 

Consulte aquí: http://ant.apache.org/manual/Tasks/ant.html

7

También puede tener etiquetas de importación:

<import file="my_ant_file.xml"> 

y, a continuación puede llamar a los objetivos antis en ese archivo. Es posible que desee calificar (agregar un prefijo a) sus nombres de destino para evitar la ambigüedad si lo hace.

EDIT: Llamar a los objetivos de la hormiga del archivo importado es exactamente el mismo que llamar a los objetivos locales:

<antcall target="my_local_target"> 
<antcall target="my_target_from_an_imported_file"> 

También se puede utilizar como dependencias:

<target name="my_target" depends="my_target_from_an_imported_file"> 

Piense en ello de la misma manera que importar en cualquier lenguaje de programación. Una vez importado, puede usarlo como si fuera un objetivo más en su archivo.

Aquí está el import documentation.

+0

Una vez que haya importado todos los archivos, ¿cómo puedo llamar a sus objetivos? ¿Podría darme un ejemplo de la sintaxis? – TookTheRook

+0

@Mahendru Vea mi edición –

+1

Bueno, el problema es que cuando llamo a otros archivos ant desde cierta carpeta, en vez de seguir sus propios archivos de propiedades, los archivos ant no pueden encontrar las variables de ruta desde el archivo master_ant (el que estoy creando) no almacena las variables de ruta (ya que cada compilación de hormiga tiene diferentes variables de ruta). Si incluyo las variables de ruta de acceso de la primera hormiga que llamo en el archivo de propiedades de maser_ant_file, la primera compilación se ejecuta bien, pero la segunda no puede encontrar sus rutas. ¿Hay alguna manera de arreglar esto? – TookTheRook

Cuestiones relacionadas