문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
gradle:sonarqube [2015/11/11 21:38] kwon37xi [jacoco] |
gradle:sonarqube [2018/04/20 18:30] (현재) kwon37xi [Multiple Module] |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Gradle SonarQube ====== | ====== Gradle SonarQube ====== | ||
| - | * [[http://www.gradle.org/ | + | * https://plugins.gradle.org/ |
| + | * https://docs.sonarqube.org/ | ||
| ===== 주의 ===== | ===== 주의 ===== | ||
| 줄 10: | 줄 11: | ||
| * 최신 SonarQube는 더이상 JDBC를 통한 저장을 지원하지 않는 듯 하다. 따라서 '' | * 최신 SonarQube는 더이상 JDBC를 통한 저장을 지원하지 않는 듯 하다. 따라서 '' | ||
| < | < | ||
| - | apply plugin: | + | buildscript { |
| + | dependencies { | ||
| + | classpath " | ||
| + | } | ||
| + | } | ||
| + | apply plugin: | ||
| - | sonarRunner | + | sonarqube |
| - | | + | |
| - | property " | + | property " |
| - | property " | + | property "sonar.sources", |
| - | property " | + | property "sonar.language", " |
| - | property " | + | property " |
| - | property " | + | property "sonar.exclusions", "**/*Test*.*, **/Q*.JAVA" |
| + | property "sonar.test.inclusions", | ||
| + | property " | ||
| + | property " | ||
| + | property " | ||
| } | } | ||
| } | } | ||
| + | |||
| </ | </ | ||
| + | * '' | ||
| * '' | * '' | ||
| + | * 원칙적으로 '' | ||
| + | systemProp.sonar.host.url=http:// | ||
| + | </ | ||
| + | |||
| ===== 분석에서 특정 클래스 제외 ===== | ===== 분석에서 특정 클래스 제외 ===== | ||
| * '' | * '' | ||
| 줄 50: | 줄 66: | ||
| * '' | * '' | ||
| * jacoco 분석파일 경로는 '' | * jacoco 분석파일 경로는 '' | ||
| - | * 단, 이 분석파일이 '' | + | * 단, 이 분석파일이 '' |
| ===== 명령행 옵션 ===== | ===== 명령행 옵션 ===== | ||
| * '' | * '' | ||
| 줄 57: | 줄 74: | ||
| gradle sonarRunner -Dsonar.host.url=http:// | gradle sonarRunner -Dsonar.host.url=http:// | ||
| </ | </ | ||
| + | |||
| + | ===== Multiple Module ===== | ||
| + | * 멀티 모듈 프로젝트의 경우 root project에만 '' | ||
| + | * root 프로젝트 설정에 sonarqube 공통 설정을 하고, 각각의 소스 디렉토리등에 대한 설정은 '' | ||
| + | * root의 공통 설정< | ||
| + | sonarqube { | ||
| + | properties { | ||
| + | // sonar.host.url 등 프로젝트별로 다르지 않은 모든 설정들... | ||
| + | property " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | * 각 subprojects별 설정< | ||
| + | sonarqube { | ||
| + | properties { | ||
| + | // 프로젝트별로 달라지는 설정들 | ||
| + | property " | ||
| + | property " | ||
| + | property " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | * 일부 subproject skip< | ||
| + | project(": | ||
| + | sonarqube { | ||
| + | skipProject = true | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | ===== 오류 대응 ===== | ||
| + | ==== File not found, Resource not found 대량 발생 ==== | ||
| + | * SonarQube가 멀티 언어를 지원하는데, | ||
| + | * Groovy는 테스트 코드용([[java: | ||
| + | |||