Compiler un projet GWT (et GWT-EXT) avec ANT sous Eclipse
Par PlaceOweb le lundi, mars 10 2008, 00:26 - JAVA - Lien permanent
Bien que le module Cypal pour Eclipse permette de lancer le GWT Toolkit Development et son Hosted Browser permettant d'accéder à la compilation, il est plus simple d'avoir un script Ant qui compile et place directement les bon fichiers générés au bon endroit, prêts pour la publication sur votre serveur web ou j2ee.
Créer le fichier build.xml à la racine de votre projet Eclipse
<?xml version="1.0" encoding="UTF-8"?> <!-- Compilation du projet GWT, puis copie des fichiers générés vers WebContent --> <project name="GwtCompile" basedir="." default="gwtCleanCompileAndPrepareForPublish"> <property name="gwt.module" value="com.placeoweb.monProjetGwt.MonModuleGwt" /> <property name="gwt.home" value="/home/placeoweb/gwt/gwt-linux-1.4.61/" /> <property name="gwt-ext.home" value="/home/placeoweb/libJava/gwt-ext/gwtext-2.0.2/" /> <target name="gwtCleanCompileAndPrepareForPublish"> <!-- On efface les anciennes sources de WebContent --> <delete dir="WebContent/css"/> <delete dir="WebContent/js"/> <delete> <fileset dir="WebContent" includes="*.*" defaultexcludes="no"/> </delete> <!-- On efface les anciennes compilations GWT --> <delete dir="build/gwtOutput"/> <!-- On compile le projet via GWT --> <ant target="gwtCompile" inheritAll="true" /> <!-- On copie les fichiers compilé vers le WebContent --> <copy todir="WebContent" preservelastmodified="true"> <fileset dir="build/gwtOutput/${gwt.module}" /> </copy> </target> <target name="gwtCompile"> <java classname="com.google.gwt.dev.GWTCompiler" fork="true"> <arg line="-logLevel TRACE"/> <arg line="-style OBF"/> <arg line="-out build/gwtOutput"/> <arg value="${gwt.module}"/> <classpath> <path refid="gwt"/> </classpath> </java> <path id="gwt"> <pathelement location="${gwt.home}/gwt-user.jar"/> <pathelement location="${gwt.home}/gwt-dev-linux.jar"/> <pathelement location="${gwt-ext.home}/gwtext.jar"/> <pathelement location="src"/> </path> </target> </project> <!-- ### Ressources de création de ce script ANT ### Ant : http://ant.apache.org/manual/ http://www.derepas.com/java/java_avance_cours2/java_avance_cours2.html#SECTION00030000000000000000 ### Effacement http://www.developpez.net/forums/showthread.php?t=187155 <delete> <fileset dir="myDir"> <include name="*.*"/> </fileset> </delete> ca ne devrait prendre que les fichiers a la racine de ton repertoire. il faudrait un <include name="**/*.*"/> pour qu'il efface tes sous-repertoires <delete file="/dir/doc.txt" /> <delete dir="build"/> ### Copie http://www.developpez.net/forums/showthread.php?t=285000 ### Appel interne de target http://www.developpez.net/forums/showthread.php?t=282248 avec la balise <ant filename="xxxxx.xml" traget="nomdutargetappeler" inheritAll="true" /> le inheritAll permet de recuperer toutes les propriété de l'ANT appelant (un peut comme un export sous UNIX) target ==> va appeler directement le target spécifié si rien n'est spécifier li va appeler le target par defaut definit dans la balise <project> du script appelé filename==> adresse du fichier XML que tu veut appeler -->
Ce script ANT remplace l'ancien script BASH
#!/bin/sh #APPDIR=`dirname $0`; APPDIR=/home/placeoweb/workspace/monProjetGwt java -cp "$APPDIR/src :$APPDIR/bin:/home/placeoweb/gwtext-0.9.3/samples/gwtext.jar:/home/placeoweb/gwt/gwt-linux-1.4.60/gwt-user.jar:/home/placeoweb/gwt/gwt-linux-1.4.60/gwt-dev-linux.jar" com.google.gwt.dev.GWTCompiler -out "$APPDIR/www" "$@" com.placeoweb.monProjetGwt.MonModuleGwt;
Exécuter votre script ANT
Rajouter la vue ANT
Window -> Show View -> Other -> Ant
Ajouter votre script dans le lanceur ANT
Faite glisser votre fichier build.xml dans la nouvelle vue ANT
Executer la cible par défaut de votre script ANT
Double cliquer sur la target par defaut "gwtCleanCompileAndPrepareForPublish"
Publier
N'oubliez pas de rafraîchir (F5) votre dossier WebContent avant d'utiliser le Publish d'Eclipse