2017-12-22 39 views
1

내가 Gradle을 구축하고 테스트 후, 호출하는 젠킨스 항목을 구성한 다음 사양 "SonarQube 스캐너를 실행"SonarQube로 Android Kotlin 코드 범위를 분석 할 수 있습니까?

sonar.projectKey=my_project_key 
sonar.projectName=my_Android 
sonar.projectVersion=1.0 
sonar.sources=app/src 
sonar.java.binaries=app/build/intermediates/classes/debug 
sonar.coverage.exclusions=app/src/test/**,app/src/androidTest/**,app/src/main/res/** 

을이 성공적으로 SonarQube를 실행하고 여기서 IPaddress에 보고서 생성 : 9000 측정 : 버그, 취약성, 부채, 코드 냄새 및 복제본이 있습니다. 그러나이 보고서에는 테스트에서 다루는 코드를 정의하는 곳이 없습니다. SonarQube는 Kotlin 플러그인을 성공적으로 실행하고 있으며 코드베이스 자체를보고 있지만 적용 범위를 결정하지는 않습니다. Kotlin Android를 사용할 때 SonarQube로이 정보를 수집 할 수 있습니까?

나는 Jacoco를 설치하려고했지만 SonarQube 결과에 대한 새로운 데이터를 보지 못했습니다.

답변

0

내 프로젝트는 Jacoco를 사용하여 범위 보고서를 생성합니다. Sonarqube는 다음과 같은 설정을 시도, 결과를 데리러 가지고 :

sonar.java.binaries = {$ buildDir}/즉 클래스/코 틀린

는 코 틀린 클래스 파일이있는 곳 Sonarqube 알려주세요. 이 구성은 100 % Kotlin 프로젝트를 가정합니다. 프로젝트에 Java와 Kotlin이 혼합되어 있다면 두 디렉토리를 구성하는 방법을 결정해야합니다.

+0

나는 변경 시도 : 'sonar.java.binaries = 응용 프로그램/빌드' 에 : 'sonar.java.binaries = 응용 프로그램// 코 틀린 빌드' 하지만 불행히도 나는 아직도 못하고 있어요 코드 커버리지 ... – Don

+0

안타깝게도 안드로이드 빌드 구조에 익숙하지 않습니다. 이것은 Gradle 4.4 및 JVM 기반 응용 프로그램에서 작동했지만, 사용중인 Gradle의 버전이 더 오래된 경우, 'binaries'폴더와 다른 디렉토리가 필요합니까? 또는 Android/Gradle이 클래스 파일을 다른 곳에 씁니까? – Mikezx6r