Inicio > ANT > Ant para desarrolladores flash – Introducción II (parte 2)

Ant para desarrolladores flash – Introducción II (parte 2)

domingo, 6 de septiembre de 2009 panaewa Dejar un comentario Ir a comentarios

En esta segunda parte veremos algunas de las opciones que nos da ANT a la hora de automatizar la creación de proyectos, como son las propiedades y archivos de propiedades, dependencias de targets, creación y eliminación de directorios.

En ANT todo se organiza en torno a los tasks, hemos visto el task target, que es la manera de agrupar tasks, un task no es mas que un comando o porción de codigo que queremos que se ejecute.

Task echo
Para imprimir un mensaje en la consola de eclipse se utiliza el task echo, por ejemplo si ejecutamos el target main del siguiente ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<project name="AntBasic" default="main" basedir=".">
      <target name="main">
      		<echo>Hola Mundo</echo>
      </target>
</project>


imprimira: (Se han omitido las rutas absolutas)

Buildfile: X:\...\Ant Basic\build.xml
main:
[echo] Hola Mundo
BUILD SUCCESSFUL
Total time: 158 milliseconds

Task property.

Las propiedades son parecidas a las variables de cualquier lenguaje de programación, estas se pueden definir dentro del fichero build.xml o lo que es mas comun definir un fichero de propiedades al inicio de build.xml, la sintaxis es distinta si se utiliza uno u otro metodo.

Propiedades dentro de build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="AntBasic" default="main" basedir="src">

	<property name="src" value="src"/>
  	<property name="build" location="build"/>
  	<property name="dist"  location="dist"/>

    <target name="main">
    	<echo>${src}</echo>
    	<echo message="${build}"/>
    	<echo>${dist}</echo>
    </target>
</project>

Aquí se muestran dos parámetros distintos que se le pueden pasar al task property, si se ejecuta se verá diferencia. En el caso de location se parte de la ruta definida en el atributo basedir del proyecto.

Buildfile: X:\...\Ant Basic\build.xml
main:
[echo] src
[echo] X:\...\Ant Basic\src\build
[echo] X:\...\Ant Basic\src\dist
BUILD SUCCESSFUL
Total time: 116 milliseconds

Como se ve en el ejemplo anterior para hacer referencia a una propiedad utilizamos la sintaxis ${foo}, donde foo sera el nombre de la propiedad (si pulsas Ctrl+Space de desplegará la lista de propiedades disponibles).

Propiedades en un fichero externo:
Para cargar propiedades de un fichero externo utilizamos el task property, de esta manera despues podremos utilizar el fichero de propiedades en otros proyectos.

<?xml version="1.0" encoding="UTF-8"?>
<project name="AntBasic" default="main" basedir=".">

	<property name="build" value="build" />

	<property name="src" value="src" />
	<property name="bin" value="bin" />
	<property name="lib" value="lib" />

	<property file="${build}/flex.properties"/>

    <target name="main">
    	<echo message="${flex3dir}"/>
    	<echo message="${flex3bindir}"/>
    	<echo message="${flex3libsdir}"/>
    	<echo message="${mxmlc}"/>
    	<echo message="${asdoc}"/>
    	<echo message="${flashplayer}"/>
    </target>
</project>

build/flex.properties: (descarga del sdk de flex)

# Configurción FLEX
flex3dir      = "C:/Program Files/Adobe/Flex Builder 3/sdks/3.3.0.4852\"
flex3bindir   = "${flex3dir}/bin"
flex3libsdir  = "${flex3dir}/frameworks/libs"
mxmlc         = "${flex3bindir}/mxmlc.exe"
asdoc         = "${flex3bindir}/asdoc.exe"
flashplayer   = "${flex3dir}/runtimes/player/win/FlashPlayer.exe"

Dependencia de targets: atributo depends

La dependencia de targets se utiliza si queremos que un target solo se ejecute cuando se haya ejecutado otro o bien definir un conjunto de targets que se ejecuten juntos (secuencialmente). Si queremos que el target main conste de más de un target, nuestro fichero build será:

    <target name="main" depends="clean, compile">
    	<echo>target main</echo>
    </target>

    <target name="clean">
    	<echo>target clean</echo>
    </target>

    <target name="compile">
		<echo>target compile</echo>
    </target>

de esta forma cuando ejecutemos el target main obtendremos la siguiente salida:

Buildfile: X:\...\Ant Basic\build.xml
clean:
[echo] target clean
compile:
[echo] target compile
main:
[echo] target main
BUILD SUCCESSFUL
Total time: 135 milliseconds

(también se pueden ejecutar tanto el target clean como el compile por separado).

Task mkdir y Task delete

Si queremos crear un directorio, utilizamos el task mkdir, por ejemplo para crear los directorios src y lib en nuestra aplicación vamos crear el target create-dirs. Si el directorio esta creado como es el caso src no hará nada.

	<target name="create-dirs">
		<echo message="create-dirs"/>
		<mkdir dir="${src}"/>
		<mkdir dir="${lib}"/>
	</target>

Si queremos eliminar un directorio, utilizamos el task delete. Para eliminar el directorio lib vamos a crear dentro del target clean los siguientes tasks:

	<target name="clean">
		<echo message="clean"/>
		<delete dir="${src}"/>
		<delete dir="${lib}"/>
	</target>
Categories: ANT Tags: ,
  1. Sin comentarios aún.
  1. Sin trackbacks aún.