2012-08-29 19 views
18

¿Hay alguna posibilidad de que forzar a maven a fallar la compilación si hay algunos errores checkstyle? Ahora tengo que ejecutar el objetivo site para generar informes javadocs y checkstyle. Quiero hacerlo en el objetivo install y si checkstyle tiene algún error, necesito construir para fallar. ¿Es esto posible de lograr?Estilo de comprobación de Maven como parte de la compilación

Ahora tengo mi checkstyle en los informes de bloques del experto:

<reporting> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-checkstyle-plugin</artifactId> 
      <version>2.9.1</version> 
      <configuration> 
       <configLocation>src/test/resources/checkstyle.xml</configLocation> 
      </configuration> 
     </plugin> 
    </plugins> 
</reporting> 
+0

¿Has visto aquí? http://maven.apache.org/plugins/maven-checkstyle-plugin/checkstyle-mojo.html – Eugene

Respuesta

24

Es necesario unir checkstyle:check a una fase del ciclo de vida Maven (por ejemplo validar) y ajuste failOnViolation true.

Algo así como:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <version>2.9.1</version> 
    <executions> 
     <execution> 
     <id>checkstyle</id> 
     <phase>validate</phase> 
     <goals> 
      <goal>check</goal> 
     </goals> 
     <configuration> 
      <failOnViolation>true</failOnViolation> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 
+0

No tiene que especificar 'phase' o' failOnViolation' porque están configurados para 'validate' y' true' por defecto. – Jonathan

+0

@PauliusMatulionis - ¿usó tanto un 'estilo de código' como' comprobar estilo'? –

+4

@Jonathan checkstyle realmente está predeterminado a la fase de verificación, no validar – Noel

5

Podría haber pasado algún tiempo desde la pregunta fue hecha, pero esto no estaba trabajando para mí.

Para cualquier otra persona que pueda estar teniendo el mismo problema que yo, con la acumulación sucesiva a pesar de la multitud de cuestiones, me fijo mediante la reducción de la propiedad violationSeverity de su valor predeterminado error-warning en el bloque del plugin configuration.

0

A pesar de que ha pasado mucho tiempo ya que esto se le pidió, me encuentro con otro problema:

JavadocMethod: Unable to get class information for @throws tag 'X'.

He resuelto esto cambiando la fase de "validar" a "prueba" para que checkstyle se ejecuta después de la fase de compilación.

Cuestiones relacionadas