Ceci est une ancienne révision du document !


Prise en main de Maven, Mercurial et Redmine

Ce TP est à réaliser de préférence sous Linux (accès à mvn et hg en ligne de commande).

Il est important de configurer correctement maven: voir l'aide

Démarrage

Créer un nouveau projet sur la forge (http://forge.univ-lyon1.fr → Projets → Nouveau Projet). Si vous vous connectez pour la première fois, le système vous permettra de vérifier/modifier les informations qui vous concernent.

Clonez votre dépôt mercurial dans un répertoire work1. L'URL de votre dépôt est accessible dans Redmine depuis votre projet via Configuration → Dépôt:

hg clone https://......... 

Se placer dans le répertoire work1 et récupérer des modifications depuis le projet inf1006m-mmr:

hg pull https://forge.univ-lyon1.fr/hg/inf1006m-mmr

puis mettre à jour à la dernière version

hg update

Ce projet est constitué d'un projet maven (nommé base dans le fichier pom.xml) contenant un module nommé bonjour, ce dernier étant lui aussi un projet maven.

Par la suite on nommera base le projet à la racine du répertoire de travail et bonjour le sous-projet de l'application/module bonjour.

Reverser cette mise à jour dans votre projet forge:

hg push

Dans le navigateur, naviguer dans le dépôt: vous pouvez voir les révisions déjà présentes et même regarder le code source en ligne, ainsi que les différences entre les révisions.

Invocation de maven

Regarder le code de la classe bonjour.App du module bonjour (bonjour/src/main/java/bonjour/App.java).

Invoquer

mvn compile

à la racine du projet base (répertoire work1) et constater que la construction du projet bonjour est bien déclenchée.

Le répertoire bonjour/target contient tout ce qui est généré par maven concernant le projet bonjour. Explorer le contenu du répertoire, puis invoquer

mvn clean

Regarder ce qui a été supprimé.

Correction de code

Exécuter les tests unitaires:

mvn test

La construction échoue. Pour comprendre quelle est le problème, regarder le fichier bonjour/target/surefire-reports/bonjour.AppTest.txt

Corriger la classe bonjour.App pour générer le bon message et passer le test unitaire.

Vérifier que la construction complète passe:

mvn install

puis lancer l'application en ligne de commande:

java -cp bonjour/target/bonjour-1.0-SNAPSHOT.jar bonjour.App

S'il n'y a pas d'erreur, enregistrer1) les modifications, puis poussez les vers votre dépôt:

hg commit -m "un message explicatif ici"
hg push

Constater que les modifications sont visibles depuis site de votre projet forge.

1)
commit