Maven

Maven est l’outil qui sert à compiler le serveur SAINet (principalement, toutes les sources qui se trouvent dans server).

Au préalable, la version 3.6.3 (ou suivante) doit être installée et le dossier bin doit être ajouté à la variable d’environnement PATH.

Note:

Cette étape de compilation est nécessaire afin de pouvoir utiliser un serveur SAINet.

Test

Dans un terminal, la commande mvn --version doit donner à peu près ceci:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /path/to/apache-maven-3.6.3
Java version: 11.0.8, vendor: Debian, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.8.0-1-amd64", arch: "amd64", family: "unix"

Configuration

Afin de pouvoir accéder au repository privé de SAINet, il est nécessaire de modifier le fichier de configuration ${user.home}/.m2/settings.xml afin d’ajouter les informations suivantes:

<!-- ... -->
  <servers>
    <server>
      <username>...</username>
      <password>...</password>
      <id>sai-central</id>
    </server>
    <server>
      <username>...</username>
      <password>...</password>
      <id>sai-snapshots</id>
    </server>
  </servers>
<!-- ... -->

Les identifiants peuvent être récupérés sur passbolt (Maven - reader).

Au final, le fichier settings.xml devrait ressembler à ceci (si aucune autre configuration n’est définie au préalable):

<settings>
  <servers>
    <server>
      <username>...</username>
      <password>...</password>
      <id>sai-central</id>
    </server>
    <server>
      <username>...</username>
      <password>...</password>
      <id>sai-snapshots</id>
    </server>
  </servers>
</settings>
Note:

Si l’utilisateur ou mot de passe contient des caractères XML spéciaux tels que &, <, >, ", ' ou !, Maven affichera une erreur lors de la compilation.

Dans ce cas, il faut simplement encapsuler la valeur dans un CDATA:

<password><![CDATA[passW!thSp<e>cialChars!]]></password>

Compilation

Pour compiler le projet dev / sainet, il suffit d’ouvrir un terminal et de lancer la compilation:

cd path/to/sainet
mvn clean install
Note:

Il est nécessaire d’avoir au moins 4Go de RAM disponible pour la compilation.

Une fois la compilation terminée, plusieurs fichiers/dossiers auront été créés, tels que l’EAR à déployer (server/SNV4SRV-ear/target/SNV4SRV.ear) ou les librairies pour le code à chaud (server/libapps/static et server/libapps/dynamic).

Info:

En utilisant le paramètre install au lieu de package, maven va copier les librairies (fichiers JARs) dans le dossier ${user.home}/.m2/repository, ce qui permettra ensuite de faire des recompilation partielles en utilisant l’option -pl.