Gradle fileTree排除除某些目录之外的所有目录

时间:2016-07-05 15:13:36

标签: gradle build.gradle

我使用fileTree实用程序来获取文件列表,但需要排除除列表中的少数目录之外的所有目录。

我的目录结构:

node_modules/
    react-native/
    react/
    third-party-package/
    another-package/

我需要排除除了名为react-native和react之外的所有目录。

目前我排除了所有node_modules,但这不是我想要的......

fileTree(dir: '.', excludes: [ 'node_modules/**'] )

我如何使用fileTree执行此操作?

1 个答案:

答案 0 :(得分:3)

你可以使用一个闭包。像这样:

gallery.paintings.find(:&main_image_bool)

您可以提供自己的文件条件,想要排除。这是一个最简单的方法,其中检查文件路径,它们是否包含fileTree(dir: '.').exclude {details -> (details.file.canonicalPath.contains("node_modules") && !details.file.canonicalPath.contains('react'))} 而不是node_modules,如果条件为true,则排除这些文件。

当然,您必须使其更具体,但您可以自由地为您提供任何条件。