我有一个具有以下结构的gradle项目:
rootDir
|--agent-v1.0.0
|--agent.jar
|--proj1
|-- // other project files
|--build.gradle
|--proj2
|-- // other project files
|--build.gradle
|--build.gradle
我想test.jvmArgs = ['javaagent:agent-v1.0.0/agent.jar']
为所有子项目运行,所以我在 root 中编写了以下任务build.gradle
:
subprojects {
task cs {
outputs.upToDateWhen { false }
dependsOn test.jvmArgs = ['javaagent:../agent-v1.0.0/agent.jar']
}
}
但这失败了:
无法确定任务“:proj1”的依赖关系。
在项目“:proj1”中找不到路径为“javaagent:../agent-v1.0.0/agent.jar”的任务。
我已经尝试将 agent-v1.0.0 放在根目录和每个项目中,但仍然失败。我错过了什么?
你为什么要把这个逻辑包装成一个新的task
?然后将返回值传递jvmArgs
给dependsOn
?
只需正确配置测试任务:
subprojects {
tasks.withType(Test) {
jvmArgs "-javaagent:${project.rootDir}/agent-v1.0.0/agent.jar"
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句