문서의 이전 판입니다!
checkstyle.xml
, pmd.xml
등은 프로젝트디렉토리/.sonar/*
에 두는 것 같음.apply plugin: 'sonar-runner' sonarRunner { sonarProperties { property "sonar.host.url", "http://my.server.com" property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar" property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver" property "sonar.jdbc.username", "Fred Flintstone" property "sonar.jdbc.password", "very clever" property "sonar.working.directory", "build" } }
sonar.exclusions
프라퍼티를 *,,? wild card를 이용해 지정한다. 여러개가 필요하면 쉼표로 구분한다.<code java>
sonarRunner {
sonarProperties {
property 'sonar.exclusions', 'com/xxx//*_.java,com//QMyEntity.java,….'
}
}
</code>
* 이를 함수로 만들어 두고, 각 프로젝트에서 호출하도록 한다.<code java>
def excludeFromSonar(List exclusions) {
project.sonarRunner {
sonarProperties {
property 'sonar.exclusions', exclusions.join(“,”)
}
}
}
배열 기반 호출
excludeFromSonar(['com/xxx//*_.java', 'com//QMyEntity.java'])
</code>
===== jacoco =====
* Gradle JaCoCo Plugin를 설정해서 테스트 실행시 코드 커버리지 정보를 파일로 남겨둬야, SonarRunner가 그것을 분석하여 Sonar 데이터베이스에 넣어줄 수 있다.
===== 명령행 옵션 =====
* -Dsonar.verbose=true
상세 로그
<code sh>
gradle sonarRunner -Dsonar.host.url=http://sonar.mycompany.com -Dsonar.jdbc.password=myPassword -Dsonar.verbose=true
</code>