Aller au contenu


Photo

Java : vérification des normes


  • Please log in to reply
No replies to this topic

#1 ungars

ungars

    Habitué(e)

  • Membres
  • PipPip
  • 116 Messages :
  • Configuration:iMAC 2Ghz Intel Core 2 Duo 1 Go 667 Mhz MAC OS X 10.6.8
  • Sexe:Masculin

Posté 06 avril 2011 - 23:19

PMD et CheckStyle permettent de réaliser de nombreuses vérifications sur des codes source Java. Utilisant NetBeans 6.8, je n'ai hélas pas trouvé de plugins opérationnels. J'ai donc utilisé le mode ligne de commande, fort simple.

Télécharger PMD : http://sourceforge.n...iles/pmd/4.2.5/
Télécharger CheckStyle : http://sourceforge.n...eckstyle/files/

J'ai défini quelques variables d'environnement pour me faciliter la vie : indiquer où sont les logiciels installés et où on doit mettre le résultat de leur utilisation; le fichier porteur de ces variables est donc ~/.MacOSX/environment.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CHECKSTYLE</key>
<string>/Applications/5-PROGRAMMATION/checkstyle-5.3</string>
<key>CHECKSTYLE_RESULT</key>
<string>/Users/XXXXXX/ValiderJava/CheckStyleErrors</string>

<key>DERBY_HOME</key>
<string>/Applications/NetBeans/sges-v3/javadb</string>
<key>JAVA_HOME</key>
<string>/Library/Java/Home</string>
<key>MYSQL</key>
<string>/usr/local/mysql/bin</string>
<key>PMD</key>
<string>/Applications/5-PROGRAMMATION/pmd-4.2.5/bin</string>
<key>PMD_RESULT</key>
<string>/Users/XXXXXX/ValiderJava/PmdErrors</string>

<key>TOMCAT_HOME</key>
<string>/Library/Tomcat</string>
<key>WGETRC</key>
<string>/Users/XXXXXX</string>
</dict>
</plist>


Exemple de script bash pour PMD (vous remarquerez la syntaxe spécifique pour les options et dans l'appel du script pmd.sh, le format restitué est en XML; je n'ai pas réussi à utiliser le mode "java jar") :

#!/bin/bash
SOURCE=/Users/XXXXXX/NetBeansProjects/<DOSSIERPROJET>/src/java/<PACKAGEJAVA>
OPTIONS=rulesets/basic.xml,rulesets/basic-jsf.xml,rulesets/basic-jsp.xml,rulesets/braces.xml,rulesets/clone.xml,rulesets/codesize.xml,rulesets/controversial.xml,rulesets/coupling.xml,rulesets/design.xml,rulesets/favorites.xml,rulesets/imports.xml,rulesets/finalizers.xml,rulesets/j2ee.xml,rulesets/junit.xml,rulesets/naming.xml,rulesets/optimizations.xml,rulesets/scratchpad.xml,rulesets/strictexception.xml,rulesets/strings.xml,rulesets/sunsecure.xml,rulesets/typeresolution.xml,rulesets/unusedcode.xml
$PMD/pmd.sh $SOURCE/<CLASSEJAVA>.java xml $OPTIONS > $PMD_RESULT/PMD_CLASSEJAVA_errors.xml


Exemple de script bash pour CheckStyle (là, j'ai compris pour utiliser "java jar"):

#!/bin/bash
SOURCE=/Users/XXXXXX/NetBeansProjects/<DOSSIERPROJET>/src/java/<PACKAGEJAVA>
java -jar $CHECKSTYLE/checkstyle-5.3-all.jar -c $CHECKSTYLE/sun_checks.xml -f xml -o $CHECKSTYLE_RESULT/CS_CLASSEJAVA_errors.xml $SOURCE/CLASSEJAVA.java


Voilà. Finalement c'est assez simple. A moins de produire des dizaines de classes par jour, c'est parfaitement utilisable, et en plus les rapports d'erreurs en XML sont fort pratiques.




0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)