forked from phoedos/pmd
Import initiale.
Support, sujet d'un TD dédié aux outils du génie logiciel (ici spécifiquement Ant et CVS). Le TD a eu lieu en sept 2007. git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5727 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
parent
2f12f0b01f
commit
d1ef222824
30
pmd-jerry/SUJET_TPBUILD.txt
Normal file
30
pmd-jerry/SUJET_TPBUILD.txt
Normal file
@ -0,0 +1,30 @@
|
||||
TP Génie Logiciel 1:
|
||||
====================
|
||||
|
||||
Ce sujet résumé les tâches à accomplir et les livrables attendus pour la remise du TP, le vendredi 5 octobre 2007, au soir.
|
||||
|
||||
L'objectif du tp de génie logiciel est la prise en main des outils "classiques" d'un projet de développement, soit:
|
||||
|
||||
- Un outil de "build", soit ici, l'outil Open Source Ant.
|
||||
- Un outil de gestion de code source, soit ici, le server CVS de l'école.
|
||||
|
||||
Dans le cadre des travaux demandés, vous devez donc démontrer votre maitrise de ces outils, essentiellement par la réalisation d'un script Ant, assez complet, que vous livrerez en plaçant le "tag" TPBUILD_1_0 sur la version finale.
|
||||
|
||||
Votre script Ant devra proposer, au minimum, les fonctionnalités suivantes:
|
||||
|
||||
- une tâche de compilation, permettant de compiler les sources du projet fournies.
|
||||
- une tâche de génération de 'jar' qui est le mode de 'packaging' le plus répandu dans le monde java ( il s'agit en fait, simplement d'un fichier 'zip' regroupant l'ensemble des fichiers générées par la compilation et quelques fichiers de métadonnées).
|
||||
- une tâche de compilation et d'exécution des tests unitaires fournies avec le projet.
|
||||
- une tâche de génération de la documentation 'javadoc' à partir des commentaires des sources.
|
||||
- un tâche de "nettoyage" permettant de supprimmer toutes les 'artefacts', c'est à dire, tout les fichiers généré par les différentes tâche ( fichier issues de la compilation '.classes', fichier HTML, etc...) qui n'ont pas leur place dans le CVS et qui seront de toute manière regénéré au besoin.
|
||||
|
||||
Note: Il vous est aussi demandé de trouver par quel "astuce" il est possible de récupérer une variable d'environement, sous forme de propriété Ant, issu du système d'exploitation au sein de votre script.
|
||||
|
||||
Le correcteur étudiera aussi les commentaires saisies lors des 'commit' du CVS mais aussi la nature de ces commit pour déterminer l'intelligence que vous démontrerez dans l'utilisation de cet outil. Faites des commits et commentaires pertinents !
|
||||
|
||||
Livrables:
|
||||
==========
|
||||
- L'ensemble du projet d'exemple avec son script 'build.xml', taggué dans le CVS sous le nom "TPBUILD_1_0".
|
||||
- Un fichier ReadMe.txt, placé à la raçine du projet, si vous le jugez nécessaire.
|
||||
|
||||
En cas de difficulté ou de question, merci d'envoyer un email à pelisse@esme.fr
|
74
pmd-jerry/build.xml
Normal file
74
pmd-jerry/build.xml
Normal file
@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="tpbuild" default="compile" basedir=".">
|
||||
|
||||
<!-- TODO: Trouver comment récupérer une variable d'environnement,
|
||||
c'est à dire une variable définie par le système d'exploitation
|
||||
sous forme de propriété -->
|
||||
<property name="version" value="1.0"/>
|
||||
<property name="src" value="src"/>
|
||||
<property name="lib" value="lib"/>
|
||||
|
||||
<property name="build" value="build"/>
|
||||
|
||||
|
||||
<target name="init">
|
||||
<mkdir dir="${build}"/>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<!-- TODO SECOND: Nettoie le projet des artefacts temporaires
|
||||
(fichiers classes issus de la compilation,
|
||||
fichiers html générés par l'outil javadoc
|
||||
...) -->
|
||||
</target>
|
||||
|
||||
<target name="compile">
|
||||
<!-- TODO FIRST: Compile les sources du projet à l'aide de la tâche 'javac':
|
||||
http://ant.apache.org/manual/CoreTasks/javac.html
|
||||
* Attention à placer, dans un répertoire 'classes', lui-même dans
|
||||
le répertoire 'build', le résultat de la compilation.* -->
|
||||
</target>
|
||||
|
||||
<target name="javadoc">
|
||||
<!-- TODO: Générer la documentation des sources du projet -->
|
||||
</target>
|
||||
|
||||
<target name="release" depends="package,javadoc">
|
||||
<!-- TODO THIRD: La release est un répertoire zippé contenant:
|
||||
les sources, le jar avec la version -->
|
||||
</target>
|
||||
|
||||
<target name="tests" depends="compile">
|
||||
<!-- TODO: Compiler et exécuter les tests unitaires avec JUnit -->
|
||||
</target>
|
||||
|
||||
<target name="package" depends="compile,tests">
|
||||
<!-- TODO: Après compilation, les fichiers .class sont
|
||||
regroupés dans une archive 'jar' sous le nom
|
||||
tpbuild-3ctXXX.jar
|
||||
|
||||
TODO: Le jar n'est qu'un simple ZIP des class avec un fichier MANIFEST
|
||||
Dans ce dernier, on peut indiquer beaucoup de choses, notamment
|
||||
le numéro de version du projet. Trouver comment ajouter le
|
||||
numéro de version.-->
|
||||
</target>
|
||||
<!-- EXTRA:
|
||||
* Utiliser le projet Checkstyle pour vérifier les règles de style de code
|
||||
- http://checkstyle.sourceforge.net/anttask.html
|
||||
* Utiliser le projet PMD pour vérifier le respect de bonnes pratiques et de régles de programmation
|
||||
- http://pmd.sourceforge.net/ant-task.html
|
||||
* Utiliser Emma pour étudier la couverture de code (à quel point les tests unitaires couvrent
|
||||
toutes les utilisations possibles du code existant) :
|
||||
- installation : http://emma.sourceforge.net/reference/ch01.html
|
||||
- utilisation : http://emma.sourceforge.net/reference/
|
||||
|
||||
Attention, tout ces outils nécessiteront des bibliothèques en plus et surtout de définir
|
||||
une nouvelle tâche avec "TaskDef"...
|
||||
|
||||
* Comme vous l'avez vu, il ne faut pas placer de fichier binaire comme des jars
|
||||
dans le CVS. Plutot que d'imposer à l'utilisateur de ce projet de télécharger un à un
|
||||
tous les jars nécessaires, vous pouvez concevoir une tâche qui télécharge ces jars
|
||||
s'ils ne sont pas présents dans le répertoire ( et éviter ainsi de stocker les jars
|
||||
dans le CVS). Attention, vous devrez configurer Ant pour qu'il utilise le
|
||||
proxy de l'école : proxy.esme.fr.-->
|
||||
</project>
|
BIN
pmd-jerry/note-tpbuild-2007.xls
Normal file
BIN
pmd-jerry/note-tpbuild-2007.xls
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user