
Como hemos dicho, Ant se basa en ficheros XML, normalmente configuramos el trabajo a hacer con nuestra aplicación en un fichero llamado build.xml, así que vamos a ver algunas de las etiquetas con las que podemos formar el contenido de este archivo.
project
: Este es el elemento raíz del fichero XML y, como tal, solamente puede haber uno en todo el fichero, el que se corresponde a nuestra aplicación Java.target
: Untarget
u objetivo es un conjunto de tareas que queremos aplicar a nuestra aplicación en algún momento. Se puede hacer que unos objetivos dependan de otros, de forma que eso lo trate Ant automáticamente.task
: Untask
o tarea es un código ejecutable que aplicaremos a nuestra aplicación, y que puede contener distintas propiedades (como por ejemplo elclasspath
). Ant incluye ya muchas básicas, como compilación y eliminación de ficheros temporales, pero podemos extender este mecanismo si nos hace falta. Luego veremos algunas de las disponibles.property
: Una propiedad oproperty
es, simplemente, algún parámetro (en forma de par nombre-valor) que necesitamos para procesar nuestra aplicación, como el nombre del compilador, etc. Ant incluye ya las más básicas, como sonBaseDir
para el directorio base de nuestro proyecto,ant.file
para el path absoluto del fichero build.xml, yant.java.version
para la versión de la JVM.
Pasamos a ver un simple ejemplo de archivo build.xml:
<?xml version="1.0"?> <project name="ProbandoAnt" default="compilar" basedir="."> <!-- propiedades globales del proyecto --> <property name="fuente" value="." /> <property name="destino" value="classes" /> <target name="compilar"> <javac srcdir="${fuente}" destdir="${destino}" /> </target> </project>
Este sencillo fichero requiere poca explicación, simplemente declaramos el proyecto indicando, la acción a realizar por defecto (default="compilar"
), e indicamos que el directorio base es el actual (basedir="."
).
Después indicamos en sendas etiquetas property
los directorios de origen y de destino (property name="fuente" value="."
y property name="destino" value="classes"
).
Por último declaramos un target
llamado compilar, que es el que hemos declarado como por defecto.
En este objetivo tenemos una única tarea, la de compilación javac, a la que por medio de los atributos srcdir
y destdir
le indicamos los directorios fuente y destino, que recogemos de las propiedades anteriormente declaradas con ${fuente}
y ${destino}
.
Lo único que nos queda es compilar nuestro código, así que, simplemente, estando situados en el directorio donde tenemos nuestro build.xml, desde una ventana de MS-DOS o terminal GNU/Linux, podemos hacer:
# [PATH_TO_ANT]ant
Esto funciona así porque hemos declarado compilar como el objetivo por defecto, aunque podría ser otro así que por regla general pondríamos:
# [PATH_TO_ANT]ant nombre_objetivo