1

古いgradle 'sonar'プラグインからgradle 1.5用の新しいgradle 'sonar-runner'プラグインに構成を変換しようとしています。

sonar-runner プラグインに切り替えたので、ソナーは単体テストのカバレッジを計算するために cobertura coverage.xml を再利用しなくなりました。これを設定する方法を示すsonar-runner ユーザーガイドには例がありません。以前は、sonar.project.coberturaReportPath を使用して、coverage.xml の場所を指定していました。

私のソナー インスタンスは v.3.4 です。gradle cobertura プラグインを使用して、coverage.xml を生成しています。

これが私のソナーランナー構成です:

sonarRunner {
    sonarProperties{
        property "sonar.host.url", "http://sonar"
        property "sonar.jdbc.url", "jdbc:mysql://sonar:3306/sonar"
        property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
        property "sonar.username", "username"
        property "sonar.password", "password"
        property "sonar.language", "grvy"
        property "sonar.coberturaReportPath", file("$buildDir/reports/cobertura/coverage.xml") //not sure if this is right!
    }
}

これが私の古いソナー構成です(うまくいきました!):

sonar {
    server {
        url = "http://sonar"
    }
    database {
        url = "jdbc:mysql://sonar:3306/sonar"
        driverClassName = "com.mysql.jdbc.Driver"
        username = "username"
        password = "password"
    }
    project {
        language = "grvy"
        coberturaReportPath = file("$buildDir/reports/cobertura/coverage.xml")
    }
}
4

2 に答える 2

2

正しい Sonar プロパティを使用していることを確認する必要があります。http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Projectから:

sonarRunner {
    ...
    sonarProperty "sonar.java.coveragePlugin", "cobertura"
    sonarProperty "sonar.cobertura.reportPath", file(...)
}
于 2013-04-04T20:43:30.077 に答える
1

私が使用していた:

そして、私はそれを機能させることができませんでした。ソナーは、カバーされたコードの割合の代わりに「-」を表示していました。

Sonar Groovy Plugin 1.0で修正する必要があるこのJIRAを見つけました。私と同じ問題があり、1.0 が既にリリースされている場合は、アップデートで問題が修正される可能性があります。

または、このトピックで説明されている回避策があります。

  • Sonar Groovy PluginのSpantree フォークをダウンロードします。
  • 解凍してビルドします (プロジェクトmvn installのルートで)sonar-groovy-master
  • Sonar インストール ディレクトリのサブディレクトリにコピーsonar-groovy-plugin-1.0-spantree-SNAPSHOT.jarします。extensions/plugins
  • 古い拡張子の削除または変更sonar-groovy-plugin-0.6.jar
  • ソナーを再起動して、もう一度gradle sonarRunnerやり直してください
于 2013-04-29T10:45:24.487 に答える