Comment compiler le Carnet en Ligne avec GWT

Le Carnet en Ligne est écrit en GWT (Java). Chaque modification nécessite de le recompiler; voici les prérequis et la procédure.

Prérequis

Paquets

  • Java >= 8 : j'utilise le paquet Ubuntu oracle-java8-installer mais openjdk-8-jdk fonctionne
  • ant (outil similaire Ă  Make)

Bibliothèques GWT et consorts

Créer un dossier quelque part sur sa machine et y placer les bibliothèques suivantes, que l'on trouvera sur Internet ou sur le PC d'un collègue.
Les versions sont données à titre indicatif (Mathias, 2017-07). Ça devrait marcher avec les suivantes mais c'est pas garanti.

GWT


GWT-Ext

GWT-Ext n'existe plus, il a été remplacé par Smartclient : http://www.smartclient.com/product/download.jsp
Je n'ai jamais essayé de compiler le CeL avec Smartclient; voici donc les versions historiques :

GWT-Maps


Optionnel : plugin pour Eclipse

http://www.gwtproject.org/download.html

Fichiers de configuration

Créer un fichier local.properties et y placer ceci :
cel-base-url = chemin-vers-vos-sources-svn-cel/war/cel2.html
gwt-path = ${user.home}/chemin-vers-votre-lib-gwt/gwt-2.6.1


Compilation

Se rendre dans le dossier racine des sources du CeL et y taper joyeusement ceci :
ant compile

Pour développer, une compilation de la permutation Firefox seulement est suffisante (beaucoup plus rapide) :
ant compile-quick

On doit obtenir une sortie de ce type :
Buildfile: /home/mathias/web/eflore/applications/cel/build.xml

compile-quick:
     [java] Compiling module org.tela_botanica.cel-test
     [java]    Validating units:
     [java]       Ignored 1 unit with compilation errors in first pass.
     [java] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
     [java]    Compiling 1 permutation
     [java]       Compiling permutation 0...
     [java]    Compile of permutations succeeded
     [java] Linking into /home/mathias/web/eflore/applications/cel/war/org.tela_botanica.cel2
     [java]    Link succeeded
     [java]    Compilation succeeded -- 5,966s

link-resources:
     [copy] Copying 1 file to /home/mathias/web/eflore/applications/cel/war/org.tela_botanica.cel2/js/ext
     [copy] Copying 326 files to /home/mathias/web/eflore/applications/cel/war/org.tela_botanica.cel2/js/ext/resources
     [copy] Copying 1 file to /home/mathias/web/eflore/applications/cel/war/org.tela_botanica.cel2/js/ext/adapter/ext
     [copy] Copying 3 files to /home/mathias/web/eflore/applications/cel/war/org.tela_botanica.cel2/js/UploadDialog

BUILD SUCCESSFUL
Total time: 6 seconds

Si ça ne se termine pas par BUILD SUCCESSFUL, vous l'avez dans l'os vérifier les fichiers build.properties et si nécessaire build.xml qui contiennent malheureusement certains chemins relatifs de libs en dur, mais ne pas les modifier, au contraire adapter ses chemins pour refléter les exigences de ces fichiers.

Lancer le CeL

Dans le dossier war, copier config.defaut.js en config.js, le relire vite fait et ajuster les chemins.
Le CeL GWT peut taper dans n'importe quel service CeL; si vous n'avez pas les services en local, utiliser api-test... et ça devrait marcher.

Se débrouiller pour que votre serveur Web serve le dossier du CeL, et accéder au fichier war/cel2.html; ex: http://localhost/cel/war/cel2.html
Et voilĂ  !