2016-12-21 7 views
0

내 젠킨스 빌드에서 gradle-cobertura-plugin을 사용하고 계측되지 않습니다. 어제 구성 된 auxiliaryClasspath를 덮어 쓴이 플러그인의 문제점을 수정했습니다. 이 문제로 인해 일부 수업이 지원 보고서에 표시되지 않았습니다. Cobertura - 클래스는 더 이상

나는 다음과 같은 변경 :

auxiliaryClasspath = project.files("${project.buildDir.path}/intermediates/classes/${classesDir}") 

if (auxiliaryClasspath != null) { 
     auxiliaryClasspath += project.files("${project.buildDir.path}/intermediates/classes/${classesDir}") 
} else { 
     auxiliaryClasspath = project.files("${project.buildDir.path}/intermediates/classes/${classesDir}") 
} 

gradle cobertura 모든 것을 로컬 빌드를 실행 잘 작동하고 누락 된 클래스는 보고서에서 나타났다 수정은 매우 간단 무언가이다. 는 젠킨스에 플러그인의 패치 버전을 설치 한 후 젠킨스의 범위는 제로에 갔다.

나는 instrumented_classes - 폴더의 클래스가 더 이상 계측하지 않는 것을 발견 무슨 일이 주위를 찾고! 다시 모든 롤링 동작이 동일하게 유지 (build.gradle는 등의 Gradle을 캐시를 삭제, 내 플러그인을 제거). 로컬로 작업하면서이 문제의 원인을 궁금해합니다.

아마 뭔가 잘못되어 로그에 기록되고 자동으로 무시되지만,이 정보를 찾을 수있는 단서가 없습니다. Jenkins 로그는 깨끗합니다. 따라서 계측을 담당하는 코드에 대한 로거를 추가하는 것이 도움이 될 것 같습니다. 불행히도 나는 어떤 로거를 사용할 지 아무 생각도 없습니다. org.sourceforge.cobertura 아무 것도 출력하지 않았습니다.

내 질문은 : 다른 사람이이 동작을보고이 문제를 해결하는 방법을 던질 수도 있습니다.

답변

0

OK, 나는 그것을 알아 냈다. 많은 시행 착오 후에 나는 coverageExcludes 재산권에 약간의 변화가 원인 것을 발견했다. 여러 번 변경하면 클래스가 다시 한 번 계측됩니다. 재밌지, 젠킨스가 아닌 로컬에서 작동 했어. 나는 그것이 다시 일어나면 조금 더 깊이 잠수해야한다고 생각한다.

지금은 행복하게 작동합니다. :-)