Translate

lunes, 11 de junio de 2012

ANT: Tratamiento de Strings en ANT con AntelopeTasks

Managing Strings with ANT (Antelope Tasks)

pre-requisitos: Conocimientos de ANT y algo de configuración de librerías auxiliares de ANT;

Cuando la funcionalidad básica de de ANT se queda corta es necesario utilizar otras librerías auxiliares que nos dan la funcionalidad extra que no tenemos con las librerías básicas de ANT.

Como ejemplos tenemos:

  • ant-contrib: Aporta tareas para programar con ant más fácilmente (if, foreach,etc..)
  • Antelope: Aparte de una interfaz gráfica, tiene una amplia gama de tareas en mi caso el tratamiento de Strings que es el que he utilizado.
 Configuración:

Una vez descargado el .jar de Antelope  podemos consultar la documentación de instalación de las tareas adicionales y podemos ver que la configuración es puede hacer de dos maneras:

  • La fácil: Copiando el Jar en el directorio lib donde tengamos instalado ant. Pero a mi no me gusta este método porque me interesa que tendría que hacer esto en cada equipo y también en la instalación de Ant del servidor de integración. Prefiero que esta configuración esté dentro de los archivos de mi proyecto.
  • La más independiente: Referenciando al archivo jar de antelope y la tarea que voy a usar en mi script de Ant.
Para ello en el comienzo de mi script de Ant pongo el siguiente código donde referencio al archivo .jar y la tarea que voy a usar que es StringUtilTask que entre otras funciones tiene las opciones de transformar un string a minúsculas y también la de cortar un string.

 
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" basedir="." name="GX2 Packager"> 
<taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask">
  <classpath>
 <pathelement location="${AntLibs}/AntelopeTasks_3.5.1.jar"/>
  </classpath> 
</taskdef>


A la hora de utilizar la funcionalidad es tan sencillo como fijarse en los ejemplos que trae la documentación, os dejo el ejemplo del lowercase.

Es muy sencillo en la propiedad project_name_lowecase se guardará el contenido transformado en minúsculas que venga en la propiedad project_name.

  
<!-- Guardamos el nombre proyecto en minusculas-->
<stringutil string="${project_name}" property="project_name_lowercase">
        <lowercase/>
</stringutil> 
 


1 comentario: