bui/lin

Construction des applications SCENARI sous Linux

Installation d'un serveur autonome de build des applications SCENARI sous Linux

Conseil

NOTE : Dans notre exemple nous allons travailler avec un PC sous Fedora Core 6.

Prérequis

  • subversion (inclus dans toutes les distributions linux)
  • JDK 1.4.x de SUN (à télécharger à partir de la page d'archive de sun)
  • Apache Ant version 1.6.5
  • NSIS (Nullsoft Scriptable Install System) pour générer les installeurs Windows depuis la page de téléchargement du projet.
    Il vous faut récupérer:
    • le code source
    • la version binaire zippé

Construction de l'environnement

  1. Construction de l'arborescence
    Dans notre exemple nous allons isoler toute l'infrastructure de ce serveur de build dans une dossier scenariBuild à la racine du file système, ce dossier devra contenir trois sous dossiers:
    • apps - dossier contenant les applications nécessaires au build (java, ant, nsis etc...)
    • releases - dossier contenant les installeurs/packages construits par le processus de build
    • sources - les sources (ce dossier sera créé plus tard lors du checkout svn)
      [sam@kelispost01 /]$ sudo mkdir /scenariBuild
      [sam@kelispost01 /]$ sudo chmod 777 /scenariBuild/
      [sam@kelispost01 /]$ cd scenariBuild/
      [sam@kelispost01 scenariBuild]$ mkdir apps
      [sam@kelispost01 scenariBuild]$ mkdir releases
      
  2. Installation de la JDK
    installez la JDK dans /scenariBuild/apps/jdk:
    [sam@kelispost01 scenariBuild]$ cd apps/
    [sam@kelispost01 apps]$ mv /home/sam/tmp/scbuiinstall/j2sdk-1_4_2_13-linux-i586.bin .
    [sam@kelispost01 apps]$ chmod u+x j2sdk-1_4_2_13-linux-i586.bin 
    [sam@kelispost01 apps]$ ./j2sdk-1_4_2_13-linux-i586.bin 
    ...
    [sam@kelispost01 apps]$ mv j2sdk1.4.2_13/ jdk
    [sam@kelispost01 apps]$ rm j2sdk-1_4_2_13-linux-i586.bin 
    
  3. Installation de ANT
    Installez ANT dans /scenariBuild/apps/ant:
    [sam@kelispost01 apps]$ mv /home/sam/tmp/scbuiinstall/apache-ant-1.6.5-bin.zip .
    [sam@kelispost01 apps]$ unzip apache-ant-1.6.5-bin.zip 
    ...
    [sam@kelispost01 apps]$ mv apache-ant-1.6.5 ant
    [sam@kelispost01 apps]$ rm apache-ant-1.6.5-bin.zip 
    
  4. Installation de nsis
    Compilez nsis à partir des sources et construisez un dossier complet, voici la procédure.
    Installez nsis dans /scenariBuild/apps/nsis

Préparation des sources SCENARI

  1. Checkout des sources
    Vous devez effectuer un checkout complet du trunk des sources de SCEANRI depuis le serveur subversion de scenari-platform:
    [sam@kelispost01 apps]$ cd /scenariBuild/
    [sam@kelispost01 scenariBuild]$ svn checkout http://scenari-platform.org/svn/dev-core/trunk sources
    ...
    [sam@kelispost01 scenariBuild]$ 
    
  2. Ajout de xalan dans la JDK
    Pour que la compilation des sources SCENARI soit possible il faut ajouter la librairie xalan utilisé par SCENARI dans le dossier jre/lib/endorsed de la JDK.
    [sam@kelispost01 scenariBuild]$ mkdir apps/jdk/jre/lib/endorsed
    [sam@kelispost01 scenariBuild]$ cp sources/Lib_Res/xalan/xalan.jar apps/jdk/jre/lib/endorsed/
    
  3. Paramétrage du build ANT
    Copiez le template de fichier de paramétrage du build complet :
    [sam@kelispost01 scenariBuild]$ cp sources/Bui_FullBuild/_lin/conf.properties.template sources/Bui_FullBuild/_lin/conf.properties
    
    Modifiez le fichier de paramétrage du build complet :
    [sam@kelispost01 scenariBuild]$ nano sources/Bui_FullBuild/_lin/conf.properties
    
    Exemple:
    # Définition des répertoires de travail
    compil.dir = /scenariBuild/releases
    nsis.path  = /scenariBuild/apps/nsis/makensis
    svn.path   = /usr/bin/svn
    
    # Paramètres globeaux
    svn.update.wsp     = false
    
    # Définition des éléments à compiler
    SCENARIserver.win  = false
    SCENARIserver.lin  = false
    SCENARIclient.win  = true
    SCENARIclient.lin  = false
    SCENARIclient.mac  = false
    SCENARIchain.win   = false
    SCENARIchain.lin   = false
    SCENARIchain.mac   = false
    SCENARIbuilder.win = false
    SCENARIbuilder.lin = false
    SCENARIkit         = false
    modeling           = false
    modeling.assmnt    = false
    
    Cette exemple construit uniquement la version Windows de SCENARIclient sans mise à jour svn des sources au préalable.

Préparation et lancement du build

  1. paramétrage de l'environnement
    Posez les variables d'environnement JAVA_HOME et ANT_HOME
    [sam@kelispost01 scenariBuild]$ export ANT_HOME=/scenariBuild/apps/ant
    [sam@kelispost01 scenariBuild]$ export JAVA_HOME=/scenariBuild/apps/jdk
    
  2. lancement du build
    NOTE : vous devez lancer le script de build à partir de son emplacement dans le système de fichiers
    [sam@kelispost01 scenariBuild]$ cd sources/Bui_FullBuild/_lin/
    [sam@kelispost01 _lin]$ chmod a+x build.sh 
    [sam@kelispost01 _lin]$ ./build.sh 
    Buildfile: build.xml
    ...
    BUILD SUCCESSFUL
    Total time: 59 seconds
    [sam@kelispost01 _lin]$ ls -l /scenariBuild/releases/
    total 9692
    -rw-rw-r-- 1 sam sam 9819135 Apr 27 11:44 SCENARIclient_3.3.0.11beta_Full_070427-1143.exe
    -rw-rw-r-- 1 sam sam   81450 Apr 27 11:44 SCENARIclient.win_27_avril_2007.txt
    

Bravo ! vous avez construit SCENARIlclient 3.3 pour Windows qui se trouve maintenant dans le dossier /scenariBuild/releases/
Vous pouvez maintenant paramétrer le fichier /scenariBuild/sources/Bui_FullBuild/_lin/conf.properties pour construire toutes les versions des applications SCENARI que vous désirez.