Configuration de logiciels type maven en salle TP Linux

<note tip>Les informations données ci-dessous peut également être adaptées pour Windows en faisant attention aux chemins utilisés</note>

Pour les projets lourds utilisant beaucoup de dépendances, il est souvent plus profitable de travailler en local, par exemple dans /tmp/monlogin.

La suite nécessite la présence de ce répertoire sur la machine. Vous pouvez ajouter dans votre fichier ~/.bashrc la commande suivante:

mkdir -p /tmp/$(whoami) 

Un certains nombre d'outils de gestion de dépendances installent de nombreux fichiers localement à un compte. Dans les salles TP, cela produit rapidement un encombrement du compte, ainsi qu'une charge réseau accrue et inutile. Les éléments de configuration qui suivent on pour but de contourner ce problème.

Maven

Créer si besoin le répertoire ~/.m2. Placer le fichier settings.xml suivant à l'intérieur (ou éditer le fichier pour y ajouter ces informations si le fichier existe déjà). Editer le fichier pour remplacer pxxxxxxx par votre login.

settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">
     <localRepository>/tmp/pxxxxxxx/m2repo</localRepository>
</settings>

Il peut aussi être utile de configurer le proxy ce qui donne alors le fichier suivant:

settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>/tmp/pxxxxxxx/m2repo</localRepository>
  <proxies>
    <proxy>
       <id>proxy-lyon1</id>
       <active>true</active>
       <protocol>http</protocol>
       <host>proxy.univ-lyon1.fr</host>
       <port>3128</port>
     </proxy>
   </proxies>
</settings>

SBT

Si vous possédez un répertoire .ivy2, déplacez le dans /tmp/pxxxxxxx/ivy2:

mv $HOME/.ivy2 /tmp/$(whoami)/ivy2

Créer un lien symbolique pour pointer vers /tmp:

ln -s /tmp/$(whoami)/ivy2 $HOME/.ivy2

Ajouter la commande suivante (qui créée le répertoire s'il n'existe pas) à votre fichier ~/.bashrc:

mkdir -p /tmp/$(whoami)/ivy2

Exécuter à la main cette commande une fois avant d'utiliser pour la première fois sbt.