如何将所有子目录包含为gradle模块?

时间:2017-04-23 12:48:21

标签: java gradle

我的主项目目录x中会有很多子模块,例如x/module1x/module2 ......

我可以避免手动将每个模块添加到settings.gradle吗?我可以以某种方式编写脚本来查找所有子目录并自动添加它们吗?

1 个答案:

答案 0 :(得分:2)

正如 cricket_007 已经提到的那样,Gradle基于Groovy编程语言(就像Java一样,在JVM中执行),settings.gradle文件只不过是一个Groovy脚本

每当您使用include 'project'时,都会调用Settings实例的include方法,因此,为了您的目标,您只需创建一个迭代所有文件夹并调用{{{每个人都有1}}。

更多' groovyesque'方法是为includeGroovy SDK extension提供的每个子目录使用闭包:

File

有多种方法可以解决您的问题,例如:由于file('.').eachDir { sub -> include sub.name } 方法接受项目路径字符串数组,因此您还可以首先聚合所有必需路径并将它们全部传递。只需熟悉Gradle文档并自行决定,哪种解决方案最适合您的情况。