2016-05-31 16 views
9

sonar.sources(デフォルトではpom.xml,src/main/java)をsrc/main/resourcesに拡張してそこにあるXMLファイルをチェックしたいと思います。sonar-maven-plugin:マルチモジュールプロジェクトでsonar.sourcesを拡張する

私はマルチモジュールのmavenプロジェクト(> 100モジュール、ネストされている)がたくさんあり、それらの多くはsrc/main/resourcesフォルダを持たず、そのほとんどがsrcフォルダでさえありません(例えば、包装= pomの場合)。自身が${project.build.sourceDirectory}を使用しています

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) on project xyz-parent: The directory 'C:\...\submodule\src\main\resources' does not exist for Maven module ... Please check the property sonar.sources -> [Help 1] 

ソナー-のmaven-pluginのが右のすべてのモジュールでそれを行うには:これは私がpom.xml,src/main/java,src/main/resourcesまたはpom.xml,src/mainsonar.sourcesを設定した場合、ビルドエラーにつながります。

私は

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
    <execution> 
     <id>regex-property</id> 
     <goals> 
     <goal>regex-property</goal> 
     </goals> 
     <configuration> 
     <name>sonar.sources</name> 
     <value>${project.build.sourceDirectory}</value> 
     <regex>[/\\]+java$</regex> 
     <replacement></replacement> 
     <failIfNoMatch>false</failIfNoMatch> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

経由(Windows上または\java/javaを切断することによりsrc/mainからsonar.sourcesを設定するために正規表現を使用しようとしたが、これは何もしませんし、私はそれをバインドする必要のあるライフサイクル・フェーズにないアイデアを持っていませんそれを実行させる。

sonar.sourcesにディレクトリがないためにエラーを回避する方法はありますか? current sonar-maven sourceによると、POMにpomパッケージが含まれていて、リソースがないモジュールがearまたはjarでない場合は、ディレクトリが紛失するだけです。

または、ソナーの開始前にsrc/mainが存在することを確認する必要がありますか?私はそれにどんなフックを使うことができますか?物事の

答えて

10

一つ、あなたはそれを行うことができます。

  • をルートPOMでは、次のプロパティを定義します。
    • sonar.sources.
    • sonar.inclusionsがすることsrc/main/**
    • =>これは、存在する場合、src/mainフォルダにSQがあなたのモジュールで見つける既知のファイルすべてを含みます。
    • お使いのモジュールで
  • あなたが取得するものをよりよく制御したい場合は、あなただけの上書き/ sonar.exclusionsまたはsonar.inclusions
+1

感謝を使用する必要があります!私は 'pom.xml、src/main/**'に 'sonar.inclusions'を設定しました。それはちょうどやり方で動作します。私はそれが[documentation](http://docs.sonarqube .org/display/SONAR/Analysis + Parameters) 'sonar.exclusions'が[Narrowing the Focus](http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus)のコンテキストで議論されただけでなく、 )。 – vboerchers

関連する問題