IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qualimétrie Discussion :

Referer le code java pour CheckStyle/Maven


Sujet :

Qualimétrie

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Par défaut Referer le code java pour CheckStyle/Maven
    Bonjour,
    je suis nouveau avec Maven, j'aimerais faire le control de mon code avec maven et checkStyle

    la structure des mes dossiers est la suivante

    c:\workDir
    ------\pom.xml
    ------\style.xml

    je lance la commande maven checkstyle:checkstyle tous marches bien ( BUILD SECCESSFUL)
    Mais ça me donne un dossier target\site au sein de workDir mais avec des pages web vides, le problème c'est que ne sais pas comment mettre en référence le chemin du code a contrôler,

    ceci est la structure de mon fichier pom.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="windows-1250"?>
    
    <project>
      <modelVersion>4.0.0</modelVersion>
      <groupId>fr.mycompagny</groupId>
      <artifactId>myCodeChecker</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>
      <name>Maven Check Style Project</name>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <configLocation>style.xml</configLocation>
            </configuration>
          </plugin>
        </plugins>
        <outputDirectory>target/site</outputDirectory>
      </reporting>
    </project>
    si quelqu'un a une idée

    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    Bonjour,

    Par défaut le plugin checkstyle regarde les sources dans le répertoire par défaut de maven
    Tu peux choisir un autre répertoire dans le POM avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <project>
        ...
        <build>
            ...
            <sourceDirectory>mon/repertoire/de/src</sourceDirectory>
        <build>
        ...
    </project>
    A bientôt.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Par défaut
    Bonjour,

    Merci Reizz, mais la j'ai une autre erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    [INFO] Velocimacro : adding VMs from VM library template : VM_global_library.vm
    [ERROR] ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
    [INFO] Velocimacro : error using  VM library template VM_global_library.vm : org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'VM_global_library.vm'
    [INFO] Velocimacro :  VM library template macro registration complete.
    [INFO] Velocimacro : allowInline = true : VMs can be defined inline in templates
    [INFO] Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
    [INFO] Velocimacro : allowInlineLocal = false : VMs defined inline will be  global in scope if allowed.
    [INFO] Velocimacro : initialization complete.
    [INFO] Velocity successfully started.
    [INFO] [checkstyle:checkstyle]
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] An error has occurred in Checkstyle report generation.
    
    Embedded error: Failed during checkstyle configuration
    Property 'suppressLoadErrors' in module JavadocMethod does not exist, please check the documentation
    [INFO] ------------------------------------------------------------------------
    [INFO] For more information, run Maven with the -e switch
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 1 second
    [INFO] Finished at: Fri May 09 09:20:49 GMT 2008
    [INFO] Final Memory: 5M/9M
    [INFO] ------------------------------------------------------------------------
    je ne vois la rapport avec velocity est ce une option quelque par dans ma configuration maven à enlever, et si c'est le cas, comment je peux le faire.

    A titre d'information, le code java que je suis entrain de valider en checkStyle est partiel c'est à dire qu'il pas totalement compilable, est ce que MAVEN compile toujours le code java et quelque soit l'operation
    pour mon cas c'est mvn checkstyle;checkstyle ou bien que c'est possible de la sauter (si oui comment)

    thanx in advance

    Merci de votre intervention

    cdt

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    Rebonjour,

    L'erreur VM_global_library.vm est "normale" et sans conséquence visible à ma connaissance.

    checktyle:checkstyle n'a pas besoin de compiler les sources, il ne travail quà partir des sources.

    Ton erreur vient de ton fichier de style.xml qui référence un test qui n'existe pas dans le jar checkstyle utilisé par le plugin maven.

    Pour quelle version de CS est faites ton style.xml (peut être elle est plus récente que celle en dépendance du plugin maven) ?

    Après je ne connais pas trop checkstyle.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Par défaut
    Merci Reizz pour réponse,

    en fait j'ai l'arborescence suivante :

    a structure des mes dossiers est la suivante

    c:\workDir
    ------\pom.xml
    ------\sun_checks.xml (style)
    ------\src
    |------main
    |-----java
    |-- *.java (packages)
    fichier style est celui de sun sun_check.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    <?xml version="1.0"?>
    <!DOCTYPE module PUBLIC
        "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
        "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
    
    
    <module name="Checker">
    	<property name="severity" value="warning"/>
    
        <!-- Checks that a package.html file exists for each package.     -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
        <module name="PackageHtml"/>
    
        <!-- Checks whether files end with a new line.                        -->
        <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
        <module name="NewlineAtEndOfFile"/>
    
        <!-- Checks that property files contain the same keys.         -->
        <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
        <module name="Translation"/>
    
    
        <module name="TreeWalker">
    
            <!-- Checks for Javadoc comments.                     -->
            <!-- See http://checkstyle.sf.net/config_javadoc.html -->
            <module name="JavadocMethod">
                <property name="logLoadErrors" value="true"/>
                <property name="suppressLoadErrors" value="true"/>
            </module>
            <module name="JavadocType"/>
            <module name="JavadocVariable"/>
            <module name="JavadocStyle"/>
    
    
            <!-- Checks for Naming Conventions.                  -->
            <!-- See http://checkstyle.sf.net/config_naming.html -->
            <module name="ConstantName"/>
            <module name="LocalFinalVariableName"/>
            <module name="LocalVariableName"/>
            <module name="MemberName"/>
            <module name="MethodName"/>
            <module name="PackageName"/>
            <module name="ParameterName"/>
            <module name="StaticVariableName"/>
            <module name="TypeName"/>
    
    
            <!-- Checks for Headers                                -->
            <!-- See http://checkstyle.sf.net/config_header.html   -->
            <!-- <module name="Header">                            -->
                <!-- The follow property value demonstrates the ability     -->
                <!-- to have access to ANT properties. In this case it uses -->
                <!-- the ${basedir} property to allow Checkstyle to be run  -->
                <!-- from any directory within a project. See property      -->
                <!-- expansion,                                             -->
                <!-- http://checkstyle.sf.net/config.html#properties        -->
                <!-- <property                                              -->
                <!--     name="headerFile"                                  -->
                <!--     value="${basedir}/java.header"/>                   -->
            <!-- </module> -->
    
            <!-- Following interprets the header file as regular expressions. -->
            <!-- <module name="RegexpHeader"/>                                -->
    
    
            <!-- Checks for imports                              -->
            <!-- See http://checkstyle.sf.net/config_import.html -->
            <module name="AvoidStarImport"/>
            <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
            <module name="RedundantImport"/>
            <module name="UnusedImports"/>
    
    
            <!-- Checks for Size Violations.                    -->
            <!-- See http://checkstyle.sf.net/config_sizes.html -->
            <module name="FileLength"/>
            <module name="LineLength"/>
            <module name="MethodLength"/>
            <module name="ParameterNumber"/>
    
    
            <!-- Checks for whitespace                               -->
            <!-- See http://checkstyle.sf.net/config_whitespace.html -->
            <module name="EmptyForIteratorPad"/>
            <module name="MethodParamPad"/>
            <module name="NoWhitespaceAfter"/>
            <module name="NoWhitespaceBefore"/>
            <module name="OperatorWrap"/>
            <module name="ParenPad"/>
            <module name="TypecastParenPad"/>
            <module name="TabCharacter"/>
            <module name="WhitespaceAfter"/>
            <module name="WhitespaceAround"/>
    
    
            <!-- Modifier Checks                                    -->
            <!-- See http://checkstyle.sf.net/config_modifiers.html -->
            <module name="ModifierOrder"/>
            <module name="RedundantModifier"/>
    
    
            <!-- Checks for blocks. You know, those {}'s         -->
            <!-- See http://checkstyle.sf.net/config_blocks.html -->
            <module name="AvoidNestedBlocks"/>
            <module name="EmptyBlock"/>
            <module name="LeftCurly"/>
            <module name="NeedBraces"/>
            <module name="RightCurly"/>
    
    
            <!-- Checks for common coding problems               -->
            <!-- See http://checkstyle.sf.net/config_coding.html -->
            <module name="AvoidInlineConditionals"/>
            <module name="DoubleCheckedLocking"/>    <!-- MY FAVOURITE -->
            <module name="EmptyStatement"/>
            <module name="EqualsHashCode"/>
            <module name="HiddenField"/>
            <module name="IllegalInstantiation"/>
            <module name="InnerAssignment"/>
            <module name="MagicNumber"/>
            <module name="MissingSwitchDefault"/>
            <module name="RedundantThrows">
                <property name="logLoadErrors" value="true"/>
                <property name="suppressLoadErrors" value="true"/>
            </module>
            <module name="SimplifyBooleanExpression"/>
            <module name="SimplifyBooleanReturn"/>
    
            <!-- Checks for class design                         -->
            <!-- See http://checkstyle.sf.net/config_design.html -->
            <module name="DesignForExtension"/>
            <module name="FinalClass"/>
            <module name="HideUtilityClassConstructor"/>
            <module name="InterfaceIsType"/>
            <module name="VisibilityModifier"/>
    
    
            <!-- Miscellaneous other checks.                   -->
            <!-- See http://checkstyle.sf.net/config_misc.html -->
            <module name="ArrayTypeStyle"/>
            <module name="FinalParameters"/>
            <module name="GenericIllegalRegexp">
                <property name="format" value="\s+$"/>
                <property name="message" value="Line has trailing spaces."/>
            </module>
            <module name="TodoComment"/>
            <module name="UpperEll"/>
    
        </module>
    
    </module>
    le pom.xml est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?xml version="1.0" encoding="windows-1250"?>
    
    <project>
       
        <modelVersion>4.0.0</modelVersion>
        <groupId>aa.mycompany</groupId>
        <artifactId>myCodeChecker</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
        <name>Maven Check Style Project</name>
    
      <build>    
        <sourceDirectory>src/main/java</sourceDirectory>
      </build>
    
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
                 <failOnViolation>false</failOnViolation>
                 <enableRulesSummary>false</enableRulesSummary>
                 <configLocation>sun_checks.xml</configLocation>
            </configuration>
          </plugin>
        </plugins>
        <outputDirectory>target/site</outputDirectory>
      </reporting>
    </project>
    je viens d'executer checkstyle avec l'option -e est j'obtient le traçer suivant :
    $ mvn checkstyle:checkstyle -e
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] An error has occurred in Checkstyle report generation.
    
    Embedded error: Failed during checkstyle configuration
    Property 'suppressLoadErrors' in module JavadocMethod does not exist, please check the documentation
    [INFO] ------------------------------------------------------------------------
    [INFO] Trace
    org.apache.maven.lifecycle.LifecycleExecutionException: An error has occurred in Checkstyle report generation.
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
    	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
    	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
    	at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
    Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in Checkstyle report generation.
    	at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:79)
    	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
    	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
    	... 16 more
    Caused by: org.apache.maven.reporting.MavenReportException: Failed during checkstyle configuration
    	at org.apache.maven.plugin.checkstyle.CheckstyleReport.executeReport(CheckstyleReport.java:488)
    	at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:98)
    	at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:73)
    	... 18 more
    Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: cannot initialize module TreeWalker - Property 'suppressLoadErrors' in module JavadocMethod does not exist, please check the documentation
    	at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:165)
    	at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:209)
    	at org.apache.maven.plugin.checkstyle.CheckstyleReport.executeCheckstyle(CheckstyleReport.java:723)
    	at org.apache.maven.plugin.checkstyle.CheckstyleReport.executeReport(CheckstyleReport.java:484)
    	... 20 more
    Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Property 'suppressLoadErrors' in module JavadocMethod does not exist, please check the documentation
    	at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:166)
    	at com.puppycrawl.tools.checkstyle.TreeWalker.setupChild(TreeWalker.java:220)
    	at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:209)
    	at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:144)
    	... 23 more
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 1 second
    [INFO] Finished at: Fri May 09 14:44:38 GMT 2008
    [INFO] Final Memory: 5M/9M
    [INFO] ------------------------------------------------------------------------

    Merci de vos retours
    @+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    La version actuelle du plugin checkstyle maven (2.1) utilise checkstyle 4.1

    http://repo1.maven.org/maven2/org/ap...plugin-2.1.pom


    Hors si tu regarde le change log de checkstyle, le supporte de la propriété suppressLoadErrors n'arrive qu'à la version 4.2. (si je comprend bien)

    http://checkstyle.sourceforge.net/re...#Release%204.2

    Pour faire rapide ne précise pas le suncheck.

    Par défaut le plugin utilise une version du suncheck compatible qu'il contient en interne.

    ça devrait suffir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
                 <failOnViolation>false</failOnViolation>
                 <enableRulesSummary>false</enableRulesSummary>
            </configuration>
          </plugin>
    A bientôt.

Discussions similaires

  1. Code JAVA pour import données CSV
    Par tim_m dans le forum Langage
    Réponses: 11
    Dernier message: 16/11/2009, 11h55
  2. code java pour jbpm
    Par ashref85 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 07/05/2008, 10h45
  3. code java pour lancer un batch
    Par catherine* dans le forum Langage
    Réponses: 6
    Dernier message: 18/09/2007, 10h41
  4. code java pour déclencher un formulaire
    Par kirth dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 14/06/2006, 21h25
  5. code java pour récupérer la valeur d'un neoud XML
    Par MASSAKA dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 14/10/2005, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo