我有一个这样的多项目构建
main
|_build.gradle
|_settings.gradle
|_examples
|_|_build.gradle
|_|_simple-project
|_|_|_build.gradle
settings.gradle
rootProject.name = 'main'
include 'examples'
include 'examples:simple-project'
现在在examples
项目build.gradle
中,我已经为所有子项目声明了一个任务,如下所示:
subprojects {
task hello(group: 'example') {
doLast {
println "${it.project.name}: I am part of example"
}
}
}
当我运行gradle tasks --all
时,我得到类似于以下内容的输出(其他
Example tasks
-------------
examples:simple-project:hello
现在我尝试像这样为simple-project
运行该任务
gradle -p examples/simple-project hello
我得到的输出是:
失败:生成失败,出现异常。
出了什么问题:在项目":examples:simple-project"中找不到任务"hello"。一些候选人是:"帮助"。
尝试:运行 gradle 任务以获取可用任务的列表。使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获取更多日志输出。使用 --scan 运行以获取完整的见解。
在 https://help.gradle.org 获取更多帮助
构建失败在 0 秒内
我做错了什么?在子项目中运行任务的正确方法是什么?
编辑
如果我运行这个
gradle -p examples hello
然后这也运行子项目任务(hello
)
> 任务:示例:简单方面项目:你好
简单方面项目:我是一个例子
我不要这个。我希望能够为我想要的子项目运行任务,而不是一次运行所有子项目。
一个简单的gradle :examples:simple-project:hello
呢
我认为设置-p examples/simple-project
缩小了simple-project
项目的范围,并取消了位于examples
项目中的hello
任务创建。