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
.
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>
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
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).
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
.