Gradle多模块:如果为每个子模块更改了gradle.build文件。没有任务可用

时间:2017-06-02 17:23:41

标签: gradle build.gradle

我正在使用Gradle 3.5,我遇到以下情况。

我通过多个模块使用Spring Framework。 考虑以下结构:

root
   build.gradle
child-01
   build.gradle
child-02
   build.gradle
child-03
   build.gradle

直到这里一切都好。

从上面观察每个.gradle文件具有相同的名称。它是build

通过gradle tasks命令可以在控制台中列出每个子模块中每个build.gradle文件的所有自己的任务。此外,如果使用gradle project命令,我可以看到列出的每个项目及其各自的描述

使用Jenkins所有工作正常,我可以从每个子模块的任何build.gradle文件中调用任何任务

我做了以下变化:

root
   build.gradle
child-01
   child-01.gradle
child-02
   child-02.gradle
child-03
   child-03.gradle

对于每个子模块,每个build.gradle文件已分别重命名为child-0#.gradle

现在gradle tasks命令不会打印我自己的任务,Jenkins失败,因为任务不可用。 gradle project命令打印所有子模块但没有描述。

解决方案是什么?

2 个答案:

答案 0 :(得分:1)

您可以通过在 settings.gradle 文件中为相应属性 buildFileName 设置值来更改构建文件名。

project(':child-01').buildFileName = 'child-01.gradle'

有关详细信息,请查看此链接Modifying elements of the project tree

答案 1 :(得分:1)

只要每个子项目的构建文件名与子项目名称匹配,您就可以使用以下命令更新$update->bind_param('si', $desc, $data_id); 文件:

settings.gradle

这样你就不需要调用每个项目buildFileName explicity。

以下是对该主题的讨论:

https://discuss.gradle.org/t/child-projects-with-different-names-other-than-build-gradle/4636