我有一个像这样的多项目构建
main
|_build.gradle
|_settings.gradle
|_examples
|_|_build.gradle
|_|_simple-project
|_|_|_build.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
我得到的输出是:
失败:构建因异常而失败。
出了什么问题:任务'你好'没有在项目中找到':示例:simple-project'。有些候选人是:'帮助'
尝试:运行gradle任务以获取可用任务列表。使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获得全面的见解。
- 获取更多帮助
在0s内建立失败
我做错了什么?在子项目中运行任务的正确方法是什么?
如果我改为运行
gradle -p examples hello
然后这也运行子项目任务(hello
)
>任务:示例:simple-aspect-project:hello
simple-aspect-project:我是一个例子
我不想要这个。我希望能够为我想要的子项目运行任务,而不是一次完成所有这些任务。
答案 0 :(得分:1)
简单的file
我认为设置gradle :examples:simple-project:hello
会缩小-p examples/simple-project
项目的范围,并取消simple-project
项目中的hello
任务创建。