/ / Generuj raport w formacie html checkstyle z maven - xml, maven, xslt, maven-plugin, checkstyle

Wygeneruj raport w stylu html checkstyle z maven - xml, maven, xslt, maven-plugin, checkstyle

Wtyczka Maven-checkstyle jest dołączona do cyklu życiaw fazie kompilacji. Konfiguracja EmailEneError jest włączona. Generuje raport .xml i powoduje awarię kompilacji. Chcę uzyskać wersję html przy użyciu mojego niestandardowego pliku .xsl do transformacji. Do tego używam wtyczki xml-maven, ale nie mogę tego skonfigurować dla automatyczne wykonanie i nie można zintegrować z cyklem życia.

Muszę wdrożyć te kroki:
1) uruchom "instalacje mvn"
2) maven-checkstyle-plugin analizuje kod
3) wtyczka znajduje błędy i generuje raport xml
4) kompilacja ulega awarii
5) xml-maven-plugin automacilly generuje raport .html

Część mojego pom.xml

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.version}</version>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>check</goal>
</goals>
<phase>compile</phase>
<configuration>
<configLocation>checkstyle/checkstyle.xml</configLocation>
<encoding>utf-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>false</failsOnError>
<includeTestSourceDirectory>false</includeTestSourceDirectory>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>${xml.maven.version}</version>
<executions>
<execution>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<transformationSets>
<transformationSet>
<dir>target</dir>
<stylesheet>checkstylecheckstyle-author.xsl</stylesheet>
<includes>checkstyle-result.xml</includes>
<fileMappers>
<fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
<pattern>.xml$</pattern>
<replacement>.html</replacement>
</fileMapper>
</fileMappers>
</transformationSet>
</transformationSets>
</configuration>
</plugin>
</plugins>
</build>

Odpowiedzi:

1 dla odpowiedzi № 1

Musisz uważnie obserwować fazy i wtyczki.

Wtyczka Checkstyle wykonuje się w fazie "kompilacji". Według dokumenty xml-maven-plugin jego faza domyślna to "generate-resources".

Musisz włożyć ten cel faza później niż wtyczka checkstyle (klasy procesów przychodzi po kompilacji):

<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>

Uważam, że dzienniki wtyczki xml powinnynarzekać na brakujący plik lub powinien działać, jeśli uruchamiasz kompilację dwa razy bez czyszczenia? Co nie byłoby dobrym rezultatem. Tak więc posiadanie porządku w tym, co jest wykonywane, gdy zwykle jest najlepsze :)