Подтвердить что ты не робот

Любой простой способ генерировать HTML-отчет Findbug от Maven без сайта: сайт?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Findbugs jar содержит 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