Generar scripts Ant
Ant es un sencillo motor de scripts de código libre que es capaz de
ejecutar scripts escritos en formato XML. Ant es idóneo para ejecutar tareas que
normalmente se encuentran en construcciones automatizadas.
Las variables establecidas en el conector, fragmento o característica
build.properties se utilizarán para generar scripts para Ant. El PDE genera
scripts Ant para crear archivos de construcción de conectores y de fragmentos
individuales, y un script global para construir el JAR de característica. Este script
"main" (principal) también es el que se encarga de ejecutar archivos de script
individuales en el orden adecuado (definido por la cadena de dependencias de conectores).
Todos los archivos de construcción se llaman igual (build.xml) y se crean como
hermanos de los archivos de manifiesto de los correspondientes proyectos.
Como los scripts Ant utilizan las variables de sustitución de
build.properties, lo normal es que pueda utilizarlos "tal
cual", sin tener que modificar los scripts generados. Si los modifica, no
hace falta que vuelva a crear los scripts cada vez que desee reconstruir el
componente.
Para crear scripts, basta con que seleccione Crear archivo de
construcción Ant mientras tenga seleccionado el archivo de manifiesto
pertinente (plugin.xml, fragment.xml o feature.xml) en la vista Navegador o en
la vista Explorador de paquetes. El mandato generará el script de
construcción. Después de seleccionar Ejecutar Ant... en el menú
emergente mientras tiene seleccionado el archivo de script recién generado, se
abrirá el siguiente asistente:

El asistente Ant estándar permite personalizar de dos formas:
proporcionando los argumentos de ejecución y seleccionando uno o varios destinos de
construcción.
Propiedades
Los argumentos de Ant se utilizan en general para proporcionar
valores de propiedades que alteran temporalmente los valores por omisión y
controlan el proceso de construcción. Los argumentos se establecen mediante
"-Dproperty=valor". Se reconocen las siguientes propiedades:
-
bootclasspath: si se establece, sustituye a la vía de acceso
de clases de arranque por omisión. Se utiliza al compilar conectores de plataformas
cruzadas (por ejemplo, al construir un conector de UI para Windows utilizando Linux).
- build.result.folder: indica dónde deben colocarse los archivos
temporales para la creación de archivos JAR de actualización.
Estos archivos
suelen ser los JAR de biblioteca de conectores.
- plugin.destination: indica dónde deben colocarse los archivos JAR de
actualización de conectores y fragmentos. Estos archivos JAR representan
conectores y fragmentos enteros en un formato adecuado para publicarlos en un
servidor de instalaciones/actualizaciones y para que una característica pueda hacer
referencia a ellos. El diseño clásico de un sitio de actualizaciones consiste
en tener todos los archivos JAR de conectores y fragmentos en un lugar y todas
las características en otro. Este argumento es de utilidad para colocar los
conectores y fragmentos directamente en el directorio deseado (o en el lugar
transitorio de la máquina local antes de enviar las características al servidor
remoto).
- feature.destination: indica dónde deben colocarse los archivos JAR de
actualización de características.
Para adaptar el comportamiento del compilador, se reconocen las siguientes propiedades:
- javacFailOnError - si está establecida en true, detiene la construcción
cuando se produce un error. El valor por omisión es false.
- javacDebugInfo - si está establecida en true, compila el fuente con
información de depuración. El valor por omisión es true.
- javacVerbose - si está establecida en true, produce una corriente de salida
verbosa. El valor por omisión es true.
- javacSource - valor del cambio de línea de mandatos -source.
- javacTarget - genera archivos de clases para la versión VM específica.
- compilerArg - argumentos de línea de mandatos adicionales para el compilador.
-
Destinos
Al ejecutar scripts de construcción de característica, se utilizan los
destinos que se indican a continuación para llamar a destinos individuales de
conectores o fragmentos.
Para poder especificar qué destino debe ejecutarse,
hay que establecer la propiedad target (por ejemplo,
-Dtarget=refresh). Uno de los destinos all.* funciona como iterador,
mientras que el destino real que debe ejecutarse se especifica por medio de la
propiedad target.
- all.plugins: para todos los conectores listados.
- all.fragments: para todos los fragmentos listados.
- all.children: para todos los conectores y fragmentos listados.
- build.jars: construye archivos JAR para todos los hijos de la característica.
- build.sources: construye el fuente para todos los hijos de la característica.
- build.update.jar: genera un JAR de característica con el formato
utilizado por el mecanismo de instalación/actualización.Para definir dónde hay
que colocar el JAR, se puede utilizar la propiedad feature.destination
mencionada anteriormente.
- zip.distribution: crea un archivo zip con la característica y sus
conectores y fragmentos en una estructura al estilo del SDK, pero no incluye
código fuente.
- zip.sources: crea un archivo zip con la característica y sus
conectores y fragmentos en una estructura al estilo del SDK, que solo incluye
el fuente.
- clean: suprime todos los elementos producidos al ejecutar
cualquiera de los destinos.
- refresh: realiza una acción "Renovar" en el proyecto
actual, haciendo que los recursos recién generados estén visibles en el
Navegador o en el Explorador de paquetes.
- zip.plugin: crea un archivo zip con el contenido binario y fuente
de un conector, que tiene la siguiente estructura:
ID_versión/
contenido
Aquí, 'ID' es el identificador exclusivo del conector y 'versión'
es la versión del conector. Este archivo zip se puede desempaquetar directamente
en el directorio de instalación de Eclipse a modo de despliegue manual
rápido.