建.在子项目中运行 gradle 任务



我有一个这样的多项目构建

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任务创建。

最新更新