Любой простой способ создать отчет Findbug HTML из Maven без site: site? - PullRequest
11 голосов
/ 12 августа 2011

Я пытаюсь интегрировать FindBugs в проект maven. У кого-нибудь есть образец pom.xml, генерирующий простой HTML-отчет findbug в target? Можно ли создать этот отчет без необходимости запуска site:site?

Ответы [ 2 ]

27 голосов
/ 28 апреля 2012

В банке Findbugs содержится 5 XSLT-преобразований, которые можно использовать для преобразования трудно читаемого XML в легко читаемый HTML, поэтому мы можем использовать плагин xml-maven-plugin для выполнения преобразования, и вот конфигурация:

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.4.0</version>
        <executions>
            <execution>
                <id>findbug</id>
                <phase>verify</phase>
                <goals>
                    <goal>check</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <findbugsXmlOutputDirectory>
                ${project.build.directory}/findbugs
            </findbugsXmlOutputDirectory>
            <failOnError>false</failOnError>
        </configuration>
    </plugin>

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0</version>
        <executions>
            <execution>
                <phase>verify</phase>
                <goals>
                    <goal>transform</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <transformationSets>
                <transformationSet>
                    <dir>${project.build.directory}/findbugs</dir>
                    <outputDir>${project.build.directory}/findbugs</outputDir>
                    <stylesheet>fancy-hist.xsl</stylesheet>
                    <!--<stylesheet>default.xsl</stylesheet>-->
                    <!--<stylesheet>plain.xsl</stylesheet>-->
                    <!--<stylesheet>fancy.xsl</stylesheet>-->
                    <!--<stylesheet>summary.xsl</stylesheet>-->
                    <fileMappers>
                        <fileMapper
                                implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                            <targetExtension>.html</targetExtension>
                        </fileMapper>
                    </fileMappers>
                </transformationSet>
            </transformationSets>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>findbugs</artifactId>
                <version>2.0.0</version>
            </dependency>
        </dependencies>
    </plugin>
</plugins>

Чтобы получить отчет просто выполните mvn clean install.

Приведенный выше фрагмент кода содержит все 5 возможных преобразований, поэтому попробуйте их все, и, надеюсь, вы найдете то, что вам нравится.

Я пробовал это с maven 3 и Finbugs 2.0

4 голосов
/ 12 августа 2011

Выезд Сонар .Это автономный веб-сервис с открытым исходным кодом, в который вы «отправляете» свой код, и он создает прекрасные HTML-отчеты по всем видам метрик кода.Он также хранит историю сборок.И, что самое приятное, вам не нужно изменять свои сборки или помпы!

Для этого тоже есть мавенская цель: sonar:sonar. Дженкинс (ранее Хадсон) имеет плагин для него, поэтому совершенно безболезненно, если вы используете его для своего CI.

Проверьте это - вы не пожалеете!

...