我正在使用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
命令,我可以看到每个项目都列出了其各自的 description 。
与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
命令打印所有子模块,但没有描述。
什么是解决方案?
,只要每个子标记的构建文件名与subproject名称匹配,您就可以使用以下方式更新settings.gradle
文件。
rootProject.children.each {
it.buildFileName = "${it.name}.gradle"
}
这样,您就不需要召集每个项目buildfilename explicity。
这是关于该主题的讨论:
https://discuss.gradle.org/t/child-projects-with-different-names-than-than-than-build-gradle/4636
您可以通过设置适当属性的值 buildfilename in settings.gradle file。
project(':child-01').buildFileName = 'child-01.gradle'
有关更多详细信息,请检查此链接修改项目树的元素