你好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吗?
由于
答案 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插件。