Sonar не использует excludeFilterFile из проектов pom.xml.

У меня есть findbugs (и стиль проверки), настроенные в моем проекте pom.xml:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.3</version>
        <configuration>
            <xmlOutput>true</xmlOutput>
            <threshold>Normal</threshold>
            <effort>Max</effort>
            <debug>false</debug>
            <excludeFilterFile>${basedir}/src/test/config/findbugs-exclude.xml</excludeFilterFile>
        </configuration>
    </plugin>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.4</version>
        <configuration>
            <suppressionsLocation>${basedir}/src/test/config/checkstyle-surpressions.xml</suppressionsLocation>
            <testFailureIgnore>false</testFailureIgnore>
        </configuration>
    </plugin>

    <!--.......-->
</plugins>

And this works like a charm. 'mvn site' produces finbugs report which correctly uses the specified excludeFileterFile.

Проблема в том, что я пытаюсь использовать плагин сонара. ('mvn sonar:sonar') Сонар не использует указанный выше фильтр исключения. (Но он будет правильно использовать файл подавления checkstyle).

Информация из консоли при запуске 'mvn sonar:sonar':
ПРЕДУПРЕЖДЕНИЕ. Альтернативный файл настроек пользователя: C:\Users\rgi.m2\settings.xml недействителен. Использование пути по умолчанию.

[INFO] Scanning for projects...  
[INFO] ------------------------------------------------------------------------  
....  
[INFO] [findbugs:findbugs {execution: default-cli}]   
[INFO]   Using source root:  
[INFO]     <...edit...>\target\classes  
[INFO]   Using test source root:  
[INFO]     <...edit...>\target\test-classes  
[INFO]   Using maximum effort.  
[INFO]   Adding Source Directory: <...edit...>\src\main\java  
[INFO]   Using low threshold.  
[INFO]   Using FindBugs Version: 1.3.8  
[INFO]   Using low threshold.  
[INFO]   Using low threshold.  
[INFO]   Using the xdoc format  
[INFO]   Using maximum effort.  
[INFO]   Using low threshold.  
[INFO]   Using low threshold.  
[INFO]   Debugging is Off  
[INFO]   Using bug include filter <...edit...>\target\sonar\findbugs-include.xml  
[INFO]   Using bug exclude filter <...edit...>\target\sonar\findbugs-exclude.xml  
[INFO] Printing Errors  
    .....  
[INFO] ------------------------------------------------------------------------  
[INFO] BUILD SUCCESSFUL  
[INFO] ------------------------------------------------------------------------  

И файл sonar-pom.xml в каталоге target/sonar:

<plugin>  
    <artifactId>maven-checkstyle-plugin</artifactId>  
    <version>2.2</version>  
    <dependencies>  
        <dependency>  
            <groupId>org.codehaus.sonar.runtime.rules-extensions</groupId>  
            <artifactId>parent</artifactId>  
            <version>20100210071723</version>  
            <type>pom</type>  
        </dependency>  
    </dependencies>  
    <configuration>  
        <suppressionsLocation>{...edit...}/src/test/config/checkstyle-surpressions.xml</suppressionsLocation>  
        <testFailureIgnore>false</testFailureIgnore>  
        <outputFileFormat>xml</outputFileFormat>  
        <consoleOutput>false</consoleOutput>  
        <enableRSS>false</enableRSS>  
        <skip>false</skip>  
        <failsOnError>false</failsOnError>  
        <configLocation>{...edit...}\target\sonar\checkstyle.xml</configLocation>  
    </configuration>  
</plugin>  
<plugin>  
    <groupId>org.codehaus.mojo</groupId>  
    <artifactId>findbugs-maven-plugin</artifactId>  
    <version>2.0.1</version>  
    <configuration>  
        <xmlOutput>true</xmlOutput>  
        <threshold>Low</threshold>  
        <effort>Max</effort>  
        <debug>false</debug>  
        <excludeFilterFile>{...edit...}\target\sonar\findbugs-exclude.xml</excludeFilterFile>  
        <classFilesDirectory>{...edit...}\target\classes</classFilesDirectory>  
        <skip>false</skip>  
            <includeFilterFile>{...edit...}\target\sonar\findbugs-include.xml</includeFilterFile>  
    </configuration>  
</plugin>  

Обратите внимание, что checkstyle в sonar-pom.xml ссылается на файл в конфигурации проекта, но findbugs exclude file является фиктивным пустым файлом из сонара.

Кто-нибудь знает, как заставить сонар использовать finbugs для исключения файла, определенного в проекте pom.xml?

Заранее спасибо
/Рой


person Roy    schedule 11.02.2010    source источник


Ответы (2)



Я думаю, вы можете настроить это на стороне сервера сонара в настройках проекта для findbugs.

person er4z0r    schedule 11.02.2010
comment
Я могу добавить одиночные фильтры (не ссылаясь на файл фильтра) на эхолокационный сервер. Но это не будет хорошо, так как тогда мне придется вводить ложные срабатывания в нескольких местах. - person Roy; 11.02.2010