3

Maven プロジェクト用のコード品質プラグインを設定する際に助けが必要です。
マルチモジュールプロジェクトがあります。pmdビルド プロセスで、checkstylefindbugsおよびを構成coberturaし、プラグインごとに xml レポートを生成できますが、プロジェクトでソナー プラグインを構成するいくつかの課題に直面しています。

この問題にアプローチする方法がわかりません:

  1. ソナーの実行中に、これらのプラグインによって生成されたレポートを再利用する必要がありますか? もしそうなら、私のソナープラグインの設定はどうあるべきですか?
  2. 、、、およびプラグインを埋め込んpmdでソナーを実行する場合、特定のパッケージに対してのみ実行するように設定したり、構造を分析したりするにはどうすればよいですか。checkstylefindbugscoberturafindbugscom.mycompany.-
  3. 最後に、ソナーの外部またはソナー内で cobertura を実行している場合、ソナーでカバレッジ レポートを取得できません。

レビュー用に以下に私のポンがあります。どんな助けでも大歓迎です。

これは、ルート pom のビルド セクションのプラグイン セクションにあります。

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <instrumentation>
                    <includes>
                        <include>com/mycompany/**/*.class</include>
                    </includes>                 
                </instrumentation>
                <formats>
                    <format>xml</format>
                </formats>
            </configuration>                
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.7.1</version>
            <configuration>
                <sourceEncoding>utf-8</sourceEncoding>
                <minimumTokens>100</minimumTokens>
                <targetJdk>1.6</targetJdk>
                <includes>
                    <include>com/mycompany/**/*.java</include>                      
                </includes>
                <excludeRoots>
                    <excludeRoot>target/generated-sources/*</excludeRoot>
                </excludeRoots>
            </configuration>
        </plugin>   
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
                <onlyAnalyze>com.mycompany.-</onlyAnalyze>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.9.1</version>
            <configuration>
                <includes>com/mycompany/**/*.java</includes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>2.0</version>
        </plugin>
4

1 に答える 1

4

1)sonarの実行中に、これらのプラグインによって生成されたレポートを再利用する必要がありますか?もしそうなら、私のソナープラグインの構成はどうあるべきですか?

Sonarは、これらのプラグインによって生成されたレポートを再利用するためのメカニズムを提供していません。品質プロファイルを使用してルールを構成できます。

2)pmd、checkstyle、findbugs、coberturaプラグインが埋め込まれたソナーを実行する場合、特定のパッケージに対してのみ実行するように構成するか、findbugsを「com.mycompany.-」構造で分析させるにはどうすればよいですか。

Sonar Web UIを使用すると、findbugsフィルターの除外を指定できます。coberturaについても同様です。pmd、checkstyleについてはよくわかりません。

3)最後に、ソナーの外部またはソナー内でcoberturaを実行しているため、ソナーでカバレッジレポートを取得できません。

jacocoがデフォルトのコードカバレッジエンジンであることが原因である可能性があります。mvn clean verify/install sonar:sonar指示どおりに実行して、機能するかどうかを確認できます。

于 2012-08-13T10:19:42.317 に答える