APache Ant
Informe de Investigación
05/10/2012
Alan Rodríguez
Eagle Knight
¿Qué es Apache Ant?
Es una herramienta usada en programación para la realización de tareas mecánicas y
repetitivas, normalmente durante la fase de compilación y construcción (build). Es, por tAnto, un
software para procesos de automatización de compilación, similar a Make pero desarrollado en
lenguajeJava y requiere la plataforma Java, así que es más apropiado para la construcción de
proyectos Java.
Esta herramienta, hecha en el lenguaje de programación Java, tiene la ventaja de no depender
de las órdenes del shell de cada sistema operativo, sino que se basa en archivos de
configuración XML y clases Java para la realización de las distintas tareas, siendo idónea como
soluciónmulti-plataforma.
Introducción
Una vez que tenemos hecho nuestro programa java o mientras lo estamos haciendo, hay una
serie de tareas repetitivas que hacemos con cierta frecuencia: borrar todos los .class para
recompilar desde cero, compilar, generar la documentación de nuestro programa con javadoc,
generar el jar con nuestro proyecto, etc.
La forma normal de hacer esto al principio es hacerse unosficheros de comandos en linux o
ficheros .bat en windows. Ahí ponemos todos los comandos necesarios y llamamos a estos
scripts cuando nos hace falta.
Ant es una herramienta gratuita (se puede bajar de http://Ant.apache.org) que funciona similar a
los scripts o ficheros .bat. En un fichero de texto en formato xml ponemos qué tareas queremos
que se ejecuten. Este fichero habitualmente se llamabuild.xml. Luego, desde línea de
comandos de una ventana de ms-dos o shell de linux, nos basta ejecutar
¿Por qué utilizar Apache Ant?
Bueno, si Ant hace lo mismo que los ficheros de script, ¿para qué usamos Ant? Realmente no
hay ningún motivo, pero Ant tiene unas pequeñas ventajas que nos pueden facilitar la vida.
La primera es que está hecho en java, así que es portable. Si hacemos nuestrofichero
build.xml y tenemos instalado Ant en windows, en linux o en imac, funciona todo bien sin
necesidad de tocar nada. Con los ficheros de script o de comandos .bat, tenemos que tener
una versión de dicho fichero para cada sistema operativo. Es más, es posible incluso que en
distintas distribuciones de linux tengamos que hacer pequeñas modificaciones en el script. Esto
lo hace un método idealcuando distribuimos las fuentes para que la gente los compile en sus
casas. Nos ahorra hacer varios tipos de scripts para varios sistemas operativos. Podemos así
incluso distribuir el fichero build.xml con nuestras fuentes, de forma que si la persona que los va
a usar tiene instalado Ant, puede compilar y generar la documentación fácilmente.
2
La segunda es que nos permite definirfácilmente varias tareas a hacer y fijar las dependencias
entre ellas (cuales deben hacerse Antes que cuales). Cuando mandamos a Ant que ejecute
una tarea (por ejemplo, compilar), Ant analizará según las dependencias que hayamos puesto,
qué tareas debe realizar, las ordenará de más simple a más compleja y las ejecutará una a una
en ese orden. No ejecutará ninguna tarea dos veces ni ejecutará unatarea Antes de ejecutar
las que le preceden según las dependencias que hemos indicado. Por ejemplo, está claro que
para generar el jar, necesitamos previamente haber compilado. Nos bastará decir que la tarea
"empaqueta" dependen de "compila".
Otra ventaja, aunque parezca tonta, es que en todos los proyectos que hagamos, nos bastará
con ejecutar "Ant". No tendremos que andar pensando el nombredel script o si es un proyecto
entre varias personas, ¿cómo demonios habrá llamado Felipe al script que genera el javadoc?
Y otra ventaja más es que casi todos los entornos de desarrollo integran o tienen posibilidad de
integrar Ant (eclipse por ejemplo). De esta forma, las tareas que hayamos definido para línea
de comandos de ms-dos/shell de linux, las tenemos accesibles directamente desde...
Regístrate para leer el documento completo.