목차

Gradle SonarQube

주의

sonarRunner 태스크를 실행하면 곧바로 ${buildDir}/sonar 디렉토리를 삭제한 뒤 새로 생성한다. 따라서 이 이전 태스크(특히 test)에서 ${buildDir}/sonar 디렉토리 아래에 jacoco.exec 처럼 분석용 파일을 생성하게 하면 해당 파일이 삭제돼 버려 아무런 분석도 이뤄지지 않게 된다.

기본 프라퍼티

buildscript {
    dependencies {
        classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
    }
}
apply plugin: "org.sonarqube"

sonarqube {
    properties {
        property "sonar.host.url", "http://localhost:8080"
        property "sonar.sources", "src"
        property "sonar.language", "java" // 분석을 Java로 제한
        property "sonar.sourceEncoding", "UTF-8"
        property "sonar.exclusions", "**/*Test*.*, **/Q*.JAVA"
        property "sonar.test.inclusions", "**/*Test.groovy, **/*Test.java"
        property "sonar.coverage.exclusions", "**/*Test*.*, **/Q*.java"
        property "sonar.java.junit.reportPaths", "${buildDir}/test-results"
        property "sonar.jacoco.reportPaths", "${buildDir}/jacoco/jacoco.exec"
    }
}

분석에서 특정 클래스 제외

jacoco

명령행 옵션

gradle sonarRunner -Dsonar.host.url=http://sonar.mycompany.com -Dsonar.jdbc.password=myPassword -Dsonar.verbose=true

Multiple Module

오류 대응

File not found, Resource not found 대량 발생