私は、Gradleを使用したマルチモジュールのGroovyプロジェクトを持っています。私はjacoco、sonarqubeプラグインを適用しました。新しいGradle SonarQubeプラグインを使用してJacoco GroovyコードカバレッジをSonarに報告する方法は?
私は
- 検索ビルド/ jacoco/test.execすることができました。ジェンキンスはそれを正しく描写することができました。 SonarQube
しかしCode Coverage
上のすべてのコードカバレッジの詳細
は、ここで私は、ビルド時に次のログ・ステートメントを観察し、私のbuild.gradle
plugins {
id "org.sonarqube" version "2.0.1"
}
allprojects {
group = 'my'
version = '1.0-SNAPSHOT'
}
subprojects {
apply plugin: 'groovy'
apply plugin: "jacoco"
dependencies {
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.1'
testCompile group: 'org.spockframework', name: 'spock-core', version: '1.0-groovy-2.4'
testCompile group: 'org.assertj', name: 'assertj-core', version: '2.4.1'
}
}
です。
No binary directories defined for project core.
Project coverage is set to 0% since there is no directories with classes.
次に、サブプロジェクトまたはすべてのプロジェクトに以下を追加しようとしましたが、まだカバレッジがSonarQubeに報告されていませんでした。
sonarqube {
properties {
property "sonar.groovy.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.binaries", "${project.buildDir}/classes"
property "sonar.groovy.binaries", "${project.buildDir}/classes"
}
}
ヤココのGroovyコードカバレッジをSonarQubeに報告するにはどうすればよいですか?
あなたの設定は大丈夫だと思います。これをバイナリに使用しましたが、 "$ project.buildDir.name/classes"。おそらく、あなたのモジュールとカバレッジファイルを探すパスを具体的に列挙するログからより長いスニペットを追加することができます。更新:rootにsonarqubeプラグインを適用したい場合は、別のプロジェクトであると思われるかもしれません。 – dbalakirev
今私は1つのプロジェクトではこのような問題はありますが、他のプロジェクトではそうではありません。ルート上の設定を直接適用しようとしましたか? – dbalakirev