Translate

martes, 30 de julio de 2013

Eclipse: Refrescar un proyecto desde ANT

Yo realizo muchos scripts en ant, desde lo encargados de instalar, empaquetar y desplegar los proyectos hasta los que se encargan de inter-conectar proyectos del entorno de desarrollo (eclpise en este caso) como puede ser copia de archivos a otros proyectos y refresco de los mismos.

El refresco de un proyecto siempre se necesario siempre que se copian archivos desde otra ubicación, por ejemplo nosotros estamos utilizando proyectos Flex que tiene módulos, entonces estos módulos cada vez que se compilan quiero que se copien en el proyecto principal para su ejecución. Una vez copiado el archivo con el script de Ant lo que es necesario es refrescar el proyecto para que este se entere de que tiene archivos nuevos.

Esta funcionalidad puede hacer se directamente con un script de ant (ej: build.xml) que contenga la siguiente instrucción:

<eclipse.refreshLocal resource="project_name/folder_name" depth="infinite" />

Donde resource es la ruta relativa desde donde está nuestro archivo ant al proyecto que quieres refrescar.

Ejemplo: Script que se encarga de copiar todos los SWF situados en bin-debug del proyecto actual a la carpeta ../modules del proyecto AntuanMainProject.

Una vez copiado realizo el refresco del proyecto para que se materialice la modificación.

<?xml version="1.0" encoding="UTF-8"?>
   <project name="ForumModule" basedir="." default="copySWF" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
   
      <target name ="copySWF" description="Copy SWF Module to Projects">             
       <copy todir="../../AntuanMainProject/bin-debug/modules" overwrite="true"><fileset dir="../bin-debug/"><include name="**/*.swf"/></fileset></copy>                     
       
       <eclipse.refreshLocal resource="../../AntuanMainProject/" depth="infinite"></eclipse.refreshLocal>
      </target>
            
</project>



No hay comentarios:

Publicar un comentario