Sonar + Emma (コードカバレッジ) / Arquillian で分析しているマルチモジュールプロジェクトがあります。私が走れば
mvn clean install
mvn sonar:sonar
各モジュールで個別に、すべて正常に動作します。ただし、メインの親モジュールから実行すると、エマが何らかの理由でそのカバレッジを取得しようとするため失敗します。親は次のようになります。
<groupId>com.parent</groupId>
<artifactId>parent-build</artifactId>
..
<packaging>pom</packaging>
...
<modules>
<module>Module A</module>
<module>Module B</module>
<module>Module C</module>
</modules>
...
mvn clean install -Dskiptests=true
mvn sonar:sonar
ソナーが「親ビルド」に到達し、カバレッジに emma を使用しようとすると、次の例外がスローされます。
Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar
(default-cli) on project parent-build: Can not execute Sonar
...
root cause is
IllegalStateException: source file data view requested for metadata
with incomplete SourceFile debug info at
com.vladium.emma.report.ReportDataModel.getView(ReportDataModel.java:49)
そのモジュールをスキップするようにソナーを取得しようとしましたが、その統計にはルートモジュールが必要です。親に到達したときにエマの使用を停止するには、どうにかして sonar-maven-plugin を取得する必要があります。
それを機能させるにはどうすればよいですか?