我以为这会起作用,但事情一定发生了变化(或者我犯了某种错误)
根据父项目的任务,gradle子项目任务的语法是什么?
我在根级别上有以下任务(即子项目闭包之外和所有项目闭包之外)。
task deleteJavaCache {
doLast {
System.out.println("DELETE java caches here to prevent intermitten build failures from java deleting files")
}
}
test.dependsOn rootProject.deleteJavaCache
test{
beforeTest{ descr ->
logger.warn("Starting Test ${descr.className} : ${descr.name}")
}
...
我得到的错误是
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
仔细检查你的settings.gradle
,如果子项目是包含
在那里
如果我理解正确,是这样的:
root (deleteJavaCache)
|- subprojects (test.dependsOn deleteJavaCache from the root)
试试这个:
test.dependsOn (":deleteJavaCache")
或者,如果您希望所有子项目test
任务都在之前运行它:
//in root build.gradle
subprojects {
test.dependsOn (":deleteJavaCache")
}
我假设您正在尝试自定义子项目测试任务,使其依赖于根项目的任务?
因为你说的有点让人困惑:
我在根级别有以下任务
这意味着整个代码块都在根项目中,包括deleteJavaCache和test任务。如果是,请尝试下面的解决方案。如果不是,请使用上面的解决方案,并请澄清问题。
test.dependsOn deleteJavaCache
问题内容: 可以运行以了解模块任务的依赖性。有没有办法找到 buildscript依赖 的 传递依赖 ? 示例: 直接取决于: 可以在MVNRepository上看到。但是,这些工件有其自己的依赖性。有没有找到方法而无需手动遍历整个依赖树的方法? 为了澄清起见,我正在谈论的类路径由以下方式定义: 问题答案: 您可以使用以下命令: Udacity提供了很棒的Android Gradle 教程,但是您
我有两个互斥的任务,它们都应该在完成后启动。 我提到它们是互斥的,因为我不想让< code>bootRun依赖于它们中的任何一个。相反,我在寻找一个类似如下的流程: 我尝试了以下方法, 因此,将启动设置()和bootRun(与的类似设置)。这会导致在项目'中找不到路径'bootRun'的 我还尝试将A/B任务声明为:< code > task A(type:org . spring framewo
我有以下结构: api和web项目都使用插件,但其他项目只有插件。 我想在根项目中为heroku定义一个任务,即: 对所有拥有它的子项目执行干净任务 对所有拥有它的子项目执行战争任务 在所有拥有它的子项目上执行构建任务 我看到了这个答案:按顺序调用子项目和其他任务但失败的Gradle批处理任务。已尝试以下配置 并获取此错误: (api有war插件,如果我取消对task stage的注释,我可以运行
我有以下多模块项目结构。 当我为/builder子项目运行任务时,我希望所有子项目都会执行任务(对于
在我的多项目中,我正在根项目上运行测试任务,并期望它将在子项目上运行测试任务并生成一个测试报告。我观察到的是,它从来没有在子项目上运行测试任务。我的期望是不正确的吗?“我需要在我的gradle脚本中进行任何特殊配置吗? 请注意,我的根项目中没有测试。
嗨,如果我用任务列出所有任务--我看到所有导入的ant任务,但是当我试图创建依赖于ant任务的任务时,我得到的是“Could not determine the dependencies of task':testgradle'”。 出现问题的行:-它显然看不到ant init任务。 我做错了什么? 所有编译-编译主源树java文件 byWorld5 copyTestConfiguration-复