Tengo problemas para hacer que el estilo de comprobación funcione correctamente en Hudson/Jenkins.Hacer que la regla personalizada de Checkstyle funcione en Hudson/Jenkins
creé una regla Checkstyle personalizado con reglas muy mínimos en el mismo (sólo para ver si funciona) y colocarlo en algún servidor: -
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="RegexpSingleline">
<property name="format" value="\s+$" />
<property name="minimum" value="0" />
<property name="maximum" value="0" />
<property name="message" value="Line has trailing spaces." />
</module>
</module>
tengo un pom matriz que tiene este aspecto: -
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>a.b</groupId>
<artifactId>c</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.4</version>
<configuration>
<configLocation>http://server/checkstyle.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
el proyecto real incluirá el pom de los padres, así: -
<?xml version="1.0" encoding="UTF-8"?>
<project>
<parent>
<groupId>a.b</groupId>
<artifactId>c</artifactId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>some</groupId>
<artifactId>project</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
...
</project>
Cuando EXECU te mvn clean site
de Eclipse, funciona muy bien. En lugar de ver más de 1000 errores de estilo de control usando el valor predeterminado config/sun_checks.xml
, recibo solo 27 errores de estilo de control.
Cuando lo ejecuto en Jenkins, por alguna razón, no está recogiendo mi regla de estilo de cheque personalizado. Recibo más de 1000 errores de Checkstyle de Jenkins. Revisé el registro de "Salida de consola" y no veo ningún error/advertencia en checkstyle. El comando experto ejecutado desde Jenkins tener este aspecto: -
<===[HUDSON REMOTING CAPACITY]===>channel started
Executing Maven: -B -f D:\hudson\jobs\test\workspace\pom.xml clean site
[INFO] Scanning for projects...
...
Estoy esperando a ser capaz de añadir o -e
-X
opción para ver un tronco más robusto, pero no puedo encontrar un lugar para insertarlos en Jenkins.
¿Cómo hago para que mi regla de cheque personalizado funcione con Hudson/Jenkins?
Muchas gracias.