Tareas de ejecución Task de Ant
Continuando con la serie de posts relacionados con Ant, hoy vamos a centrarnos en los tipos de tareas que se pueden realizar con dicha herramienta. Ya hemos visto que, para un proyecto concreto, Ant puede dividir el trabajo en una serie de Bloques de ejecución. Esto nos permite estructurar el ciclo de vida de nuestro software, estableciendo bloques de preparación, de compilación, de construcción, etc... Al final, tras todos los procesos, la idea es que Ant nos acabe proporcionando el EAR de nuestro proyecto que va a poder ser desplegado en producción.
Pues bien, aparte de lo comentado, Ant tiene predefinidas una serie de tareas (denominadas “Task”) que pueden ser
ejecutadas dentro de los bloques que se vayan estableciendo dentro del XML. Esto nos permitirá refinar la funcionalidad a realizar por cada Bloque, indicando de forma atomizada cada una de las tareas que deseamos que sean ejecutadas dentro del mismo. Como os podéis imaginar, estas tareas Ant permiten una gran flexibilidad a la hora de configurar la compilación y la construcción del proyecto de una forma u otra.
Tareas de ejecución Task de Ant
Dicho lo anterior, a continuación voy a hacer un resumen de las que, en mi opinión, son las principales Task con las que vamos a trabajar en los bloques de un proyecto. Una vez más os digo que no se trata de una lista exhaustiva sino, más bien, un resumen de las más importantes.
Obviamente, todas las tags de las tareas que vamos a ver deberán ser incluidas dentro de la tag <target> de un bloque determinado.
👉 Ejemplo de tarea para reemplazar el contenido de un fichero (dentro del bloque de compilación):
Tareas básicas de ejecución Task
Teniendo en cuenta esto, las tareas más comunes serían las siguientes:
* Crear directorio: Se utiliza la etiqueta
<mkdir>
👉 Ejemplo:
* Copiar fichero: Se utiliza la etiqueta
<copy>
👉 Ejemplo:
* Mover fichero: Se utiliza la etiqueta
<move>
👉 Ejemplo:
* Sincronizar ficheros: Esta task hace que el directorio indicado en “todir” replique la misma información que la contenida en el fichero indicado en “dir”. Se utiliza la etiqueta:
<sync>
👉 Ejemplo:
* Obtener información de una url: Se utiliza la etiqueta
<get>
👉 Ejemplo:
* Reemplazar el contenido de un fichero: En el tag "token" se indica la cadena buscada y en el tag "value" se especificará la cadena de sustitución. Se utiliza la etiqueta.
<replace>
👉 Ejemplo:
* Añadir contenido a un fichero. Con el tag "append" activado se concatenará la cadena indicada al final del fichero. Se utiliza la etiqueta:
<concat>
👉 Ejemplo:
Tareas de ejecución adicionales
Junto a las anteriores, también considero de interés las siguientes tareas:
* Ejecutar test de junit: En fileset tenemos que indicar las clases con los test de junit. Se utiliza la etiqueta.
<junit>
👉 Ejemplo:
* Enviar email. Se utiliza la etiqueta:
<mail>
👉 Ejemplo:
* Realizar desplieques remotos. Se utiliza la etiqueta
<copy>
👉 Ejemplo:
* Realizar ftp. Se utiliza la etiqueta
<ftp>
👉 Ejemplo:
* Realizar ftp get. Se utiliza la etiqueta
<ftp>
👉 Ejemplo:
* Validar estructura de un XML. Se utiliza la etiqueta
<xmlvalidate>
👉 Ejemplo:
* Transformar un XML: Se realiza mediante un fichero .xslt donde se indican las transformaciones a realizar. Se utiliza la etiqueta.
<xslt>
👉 Ejemplo:
En líneas generales, con las tareas anteriormente menciondaas, ya tendríamos las herramientas básicas para construir el objeto build.xml de cualquier proyecto de complejidad media. Como ocurre con casi todas las tecnologías informáticas, la complejidad puede ir aumentando hasta casi el infinito y siempre nos encontraremos con obstáculos difíciles de superar. Pero la realidad es que en el 90% de los proyectos que están en marcha actualmente nos bastará con combinar las tareas anteriores para salir adelante.
Pues nada, eso es todo lo que quería comentaros en relación con las tareas de ejecución de Ant. Espero que lista de Tasks presentadas en el post os sea útil a la hora de afrontar vuestros proyectos. En cualquier caso, ya sabéis que a continuación podéis dejarme aquí las preguntas que os vayan surgiendo al respecto.
Saludos.
Comentarios
Publicar un comentario