나는 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.
다음으로 하위 프로젝트 또는 allprojects를 추가하려고 시도했지만 여전히 범위가 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"
}
}
어떻게 Jacco Groovy 코드 범위를 SonarQube에보고 할 수 있습니까?
설정이 괜찮은 것 같습니다. 우리는 이것을 "$ project.buildDir.name/classes"라는 바이너리로 사용했습니다. 어쩌면 로그에서 더 긴 스 니펫을 추가하여 모듈과 커버리지 파일을 찾는 경로를 명시 할 수 있습니다. 업데이트 : 루트에 sonarqube 플러그인을 적용하려고합니다. 그렇지 않으면 실제로는 별개의 프로젝트라고 생각할 수 있습니다. – dbalakirev
이제는 비슷한 문제가 있는데,이 문제는 하나의 프로젝트에서는 작동하지만 다른 프로젝트에서는 그렇지 않습니다.루트에 직접 구성을 적용 해 보셨습니까? – dbalakirev