【发布时间】:2017-01-14 06:32:25
【问题描述】:
在我的 Gradle 脚本中,我想在我的源集中包含与特定模式匹配的目录。我需要搜索并扫描所有子目录并包含所有子目录:
- 任何包含 Java 或 Groovy 文件的二级目录(可能深深嵌套在包文件夹结构中)。
- 和/或任何具有特定名称的子/目录,例如
api或source
问题是java sourceSet下的srcDirs只接受目录而不接受文件。
到目前为止我已经尝试过:
def javaSourceDirs = []
project.rootDir.eachFileRecurse(FileType.DIRECTORIES) { file ->
if ((file.getName().equalsIgnoreCase("api") || file.getName().equalsIgnoreCase("sources")))
javaSourceDirs << file
}
sourceSets {
main {
java {
srcDirs = javaSourceDirs
};
}
}
只是想知道使用fileTree 或类似的东西是否有更好/更清洁的方法?
【问题讨论】:
标签: gradle groovy build.gradle