Compilación y Creación de Archivos
El siguiente proyecto de Ant compila diversas clases Java y las coloca en un archivo JAR ; este ejemplo solo demuestra las funcionalidades básicas de Ant, se recomienda leer la documentación completa para conocer el alcance completo de Ant.
build.xml
<?xml version="1.0"?>
<project default="init" basedir=".">
<target name="init">
<tstamp/>
<property name="nombre" value="Definiciones para Tareas"/>
<echo message="------------------- ${nombre} ----------------"/>
<property name="debug" value="on"/>
<property name="optimize" value="off"/>
<property name="deprecation" value="off"/>
<property name="build.compiler" value="classic"/>
<property name="target.vm" value="1.3"/>
<path id="classpath">
<fileset dir="./lib">
<include name="*.jar"/>
</fileset>
</path>
</target>
<target name="compilar" depends="init">
<echo message="-------------- Compilando Clases --------------"/>
<mkdir dir="clasescompiladas"/>
<javac srcdir="./clases"
destdir="./clasescompiladas"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}"
target="${target.vm}">
<classpath refid="classpath"/>
</javac>
</target>
<target name="jar" depends="compilar">
<echo message="-------------- Generando Archivo JAR --------------"/>
<jar jarfile="lasclases.jar" basedir="./clasescompiladas" includes="**"/>
</target>
<target name="limpiar" depends="compilar" >
<delete file="lasclases.jar"/>
</target>
</project>
|
Tarea ("Target") init
Esta primer tarea siempre es realizada al ejecutarse ant y define diversos parámetros que son empleados a lo largo del resto de las tareas; dichos parámetros son definidos en el elemento <property> el cual a su vez requiere dos atributos: name que indica el nombre del parámetro/propiedad y value que indica su respectivo valor, para hacer uso de estos parámetros dentro del archivo build.xml se utiliza la siguiente nomenclatura: ${nombre}, donde nombre es el valor asignado en el atributo name.
Al ejecutar esta tarea ("Target") se genera el siguiente despliegue:
bash-2.05$ ant
Buildfile: build.xml
init:
[echo] ------------------- Definiciones para Tareas ----------------
BUILD SUCCESSFUL
Total time: 3 seconds
|
Tarea ("Target") compilar
La tarea ("target") compilar compila las clases Java localizadas en el directorio clases y coloca los archivos compilados en el directorio clasescompiladas; esta misma tarea genera el directorio clasescompiladas antes de iniciarse la tarea.
Al ejecutar esta tarea ("Target") se genera el siguiente despliegue:
bash-2.05$ ant compilar
Buildfile: build.xml
init:
[echo] ------------------- Definiciones para Tareas ----------------
compilar:
[echo] -------------- Compilando Clases --------------
[mkdir] Created dir: /tmp/antprac/clasescompiladas
[javac] Compiling 5 source file to /tmp/antprac/clasescompiladas
BUILD SUCCESSFUL
Total time: 5 seconds
|
Tarea ("Target") jar
La tarea ("target") jar genera un archivo jar con todas las clases presentes en el directorio clasescompiladas, nótese que esta tarea depende del "target" compilar esto garantiza que efectivamente existan clases compiladas en este directorio antes de intentarse generar el archivo jar.
Al ejecutar esta tarea ("Target") se genera el siguiente despliegue:
bash-2.05$ ant jar
Buildfile: build.xml
init:
[echo] ------------------- Definiciones para Tareas ----------------
compilar:
[echo] -------------- Compilando Clases --------------
[javac] Compiling 5 source file to /tmp/antprac/clasescompiladas
jar:
[echo] -------------- Generando Archivo JAR --------------
[jar] Building jar: /tmp/antprac/lasclases.jar
BUILD SUCCESSFUL
Total time: 6 seconds
|
Tarea ("Target") limpiar
Finalmente la tarea limpiar es utilizada con fines administrativos para eliminar el archivo jar creado por Ant; solo con la intención de evitar errores esta tarea se define dependiendo del "target" compilar para que exista un archivo jar a ser eliminado.
Al ejecutar esta tarea ("Target") se genera el siguiente despliegue:
bash-2.05$ ant limpiar
Buildfile: build.xml
init:
[echo] ------------------- Definciones para Tareas ----------------
compilar:
[echo] -------------- Compilando Clases --------------
[javac] Compiling 5 source file to /tmp/antprac/clasescompiladas
limpiar:
[delete] Deleting: /tmp/antprac/lasclases.jar
BUILD SUCCESSFUL
Total time: 8 seconds
|
|
