Gradle插件,如何将Jacoco代理挂钩到jvm

时间:2013-03-26 09:04:58

标签: gradle jacoco dynamic-properties

你好Gradle大师! 我正在寻找你强大的经验和知识:)

我有一个Gradle插件,可以将Jacoco代理挂钩到jvm。目前我的代码如下所示:

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

这工作正常,但由于动态属性已被弃用,我想以某种方式摆脱它们。但是......将代码更改为t.ext.jvmArgs = ["-javaagent:"+jacocoAgentJar+"=destfile=" + coverageResultFile.getCanonicalPath()];无效。

有人可以向我解释我应该如何使用这个动态属性将Jacoco代理连接到jvm吗?

由于

3 个答案:

答案 0 :(得分:1)

如果您在此处收到“动态属性”警告,则代码可能存在问题,而且不仅仅是样式问题。首先,使用getAllTasks(顺便说一下,它采用布尔参数)在这里是不合适的。相反,您应该使用project.tasks.getByName("test"),可以缩写为project.tasks["test"]甚至project.test。或者,如果您想要捕获所有测试任务,project.tasks.withType(Test)

答案 1 :(得分:1)

您可以直接在构建文件中配置测试任务,添加如下配置闭包:

test{

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

}

答案 2 :(得分:0)

不能直接回答您的问题,但您可能需要查看gradle-jacoco插件。