拥有所有gradle子项目';测试';任务依赖于rootproject';设置';任务
我原以为这样行得通,但事情一定变了(或者我犯了某种错误) 我在根级别上有以下任务(即子项目闭包外部和allprojects闭包外部) 我得到的错误是拥有所有gradle子项目';测试';任务依赖于rootproject';设置';任务,gradle,Gradle,我原以为这样行得通,但事情一定变了(或者我犯了某种错误) 我在根级别上有以下任务(即子项目闭包外部和allprojects闭包外部) 我得到的错误是 A problem occurred evaluating root project 'webpieces'. > Could not get unknown property 'deleteJavaCache' for root project 'webpieces' of type org.gradle.api.Project. 然
A problem occurred evaluating root project 'webpieces'.
> Could not get unknown property 'deleteJavaCache' for root project
'webpieces' of type org.gradle.api.Project.
然后我猜了一些事情,包括这个
test.dependsOn rootProject.task('deleteJavaCache')
但这给了我一个错误
* What went wrong:
A problem occurred evaluating root project 'webpieces'.
> Cannot add task ':deleteJavaCache' as a task with that name already exists.
因此,版本信息是
------------------------------------------------------------
Gradle 4.1-milestone-1
------------------------------------------------------------
Build time: 2017-06-20 17:05:46 UTC
Revision: 3ad5af92d482b963cc6b00fb5ad53b608606d657
Groovy: 2.4.11
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_111 (Oracle Corporation 25.111-b14)
OS: Mac OS X 10.11.6 x86_64
仔细检查您的
设置。渐变
,如果子项目是,则在那里包括
如果我理解正确的话,是这样的:
root (deleteJavaCache)
|- subprojects (test.dependsOn deleteJavaCache from the root)
试试这个:
test.dependsOn (":deleteJavaCache")
或者,如果您希望所有子项目test
任务都在之前运行它:
//in root build.gradle
subprojects {
test.dependsOn (":deleteJavaCache")
}
我认为您正在尝试自定义子项目test
task,使其依赖于根项目的任务?
因为你说的有点混乱:
我在根级别有以下任务
这意味着整个代码块都在根项目中,deleteJavaCache
和test
任务。如果是,请尝试下面的解决方案如果不是,请使用上面的解决方案并澄清问题
test.dependsOn deleteJavaCache
请尝试rootProject.tasks['deleteJavaCache']
?@lu.koerfer close!但是错误是“在根项目“webpieces”中找不到名为“deleteJavaCache”的任务”。这很奇怪,因为我在帖子中定义了它,这就是我其他新目标的定义。哦,从那以后,我尝试了一个用于发布的全局任务,名为uploadArchives2,它说不存在,这肯定不是真的,因为我的发布会中断。长话短说,我试图在所有测试运行之前运行一个目标,并且只运行一次。我的完整build.gradle没有添加上面的代码(我正在尝试调整此文件)在您的build.gradle
中的哪里定义了deleteJavaCache
任务?注释中有一个链接指向实际的构建文件hmmm,是的,此文件似乎正在工作。因此它取决于根项目的单个deleteJavaCache目标。
test.dependsOn deleteJavaCache