2013-03-26 3 views
0

안녕하세요 Gradle gurus! 나는 당신의 강력한 경험과 지식을 찾고 있습니다.요람 플러그인 jvm에 Jacoco 에이전트를 연결하는 방법

나는 Jacvo 에이전트를 jvm에 후크하는 Gradle 플러그인을 가지고 있습니다. 현재 내 코드는 다음과 같습니다.

Task t = project.allTasks.getByPath(project.getName+":"+"test"); 
t.jvmArgs = ["-javaagent:"+jacocoAgentJar+"=destfile=" + coverageResultFile.getCanonicalPath()]; 

이 작업은 정상적으로 작동하지만 동적 속성은 사용되지 않으므로 제거하려고합니다. 그러나 ... 코드를 t.ext.jvmArgs = ["-javaagent:"+jacocoAgentJar+"=destfile=" + coverageResultFile.getCanonicalPath()];으로 바꾸는 것은 효과가 없습니다.

이 동적 속성을 사용하여 jvm에 Jacoco 에이전트를 연결하려면 어떻게해야할까요?

감사

+0

'tasks.withType (Test) {..}'를 사용하여 일반 작업 유형의 동적 속성이 아니도록 시도하십시오. –

답변

1

여기에 경고 "동적 속성을"얻을 경우,이 코드 문제 가능성이 뭔가이며, 그것은 단지 스타일의 문제가 아니다. 예를 들어, getAllTasks (부울 매개 변수를 사용하는)의 사용은 여기에서 부적절합니다. 대신, 을 사용해야하며, 이는 project.tasks["test"] 또는 project.test으로 축약 될 수 있습니다. 또는 모든 테스트 작업을 수행하려는 경우 project.tasks.withType(Test). 귀하의 질문에

test{ 

    jvmArgs "javaagent:"+jacocoAgentJar+"=destfile=" + overageResultFile.getCanonicalPath()" 

} 
1

당신은 다음과 같이 구성 클로저를 추가하는 빌드 파일에서 직접 테스트 작업을 구성 할 수 있습니다.

0

아니 직접적인 대답을, 그러나 당신은 gradle-jacoco 플러그인을 조사 할 수 있습니다 :

관련 문제