从 Gradle 中的 FileTree 中排除文件

Posted

技术标签:

【中文标题】从 Gradle 中的 FileTree 中排除文件【英文标题】:Exclude files from FileTree in Gradle 【发布时间】:2014-02-21 09:51:41 【问题描述】:

我想从 src

中排除 src\mainsrc\test 文件
FileCollection files = 
project.fileTree(/src/).minus(project.fileTree(/src\main/)).minus(project.fileTree(/src\test/))

如何在不使用双减号的情况下排除此目录?

【问题讨论】:

【参考方案1】:

FileTree 中排除子目录的惯用方法是:

def files = fileTree("src").matching 
    exclude "main", "test" // relative to the file tree's root directory

PS:你可以用-代替.minus

【讨论】:

我在徘徊可以通过 ArrayList ["src/main","src/test"] on FilerTree 之类的吗? 如果有多个根,则需要创建多个文件树,并与+结合。对于任务或扩展的用户,如果任务/扩展接受代表根目录的Object(或List<Object>)并在内部转换为 FileTree,则可能会更方便。有关 API 详细信息,请参阅 Gradle Build Language Reference(例如 Project#fileTree)和 Javadoc/Groovydoc。

以上是关于从 Gradle 中的 FileTree 中排除文件的主要内容,如果未能解决你的问题,请参考以下文章

仅限Gradle FileTree目录

Android Gradle 插件Gradle 依赖管理 ⑧ ( implementation fileTree 引入jar文件依赖 | implementation files 引入文件依赖 )

从 Gradle 中的 Spring Boot 中排除 Tomcat 依赖项

如何从 Kotlin DSL build.gradle 中的所有依赖项中排除库?

在 gradle 中排除声纳类

gradle 删除指定目录中的文件和目录