我有一个包含如下子项目的项目:
Root Project
|----gradle.build
|----SubProject
|----|----gradle.build
这里的SubProject包含一个复制脚本,我需要在调用root项目的test命令时调用它。
所以我试图像这样在Root项目中调用SubProject的任务:
Task myTest(type: Test) {
Project(‘:SubProject’).tasks.myCopyTask.execut()
}
然而,这会导致错误,“无法为任务集获取未知属性'myCopyTask'。”
您知道应该如何进行此调用,以及正确的语法应该是什么?
答案 0 :(得分:2)
您的示例中有多个不起作用的内容:
execute
!的 NEVER 强>!任务由Gradles任务系统自动调用,调用execute
可能会破坏此系统。{ }
)用于配置。任务执行时,但在创建任务时不会执行。您可以使用dependsOn
方法和绝对任务路径来解决所有这些问题:
task myTest (type: Test) {
dependsOn ':Subproject:myCopyTask'
}