Exclude files from FileTree in Gradle
Asked Answered
R

1

9

I want to exclude src\main and src\test files from src

FileCollection files = 
project.fileTree(/src/).minus(project.fileTree(/src\main/)).minus(project.fileTree(/src\test/))

How can I exclude this directories without double minus usage?

Rigid answered 21/2, 2014 at 9:51 Comment(0)
E
17

The idiomatic way to exclude subdirectories from a FileTree is:

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

PS: Instead of .minus, you can use -.

Excrete answered 21/2, 2014 at 13:54 Comment(2)
I was wandering can pass ArrayList ["src/main","src/test"]on FilerTree or something like that?Rigid
If you have multiple roots, you need to create multiple file trees and combine them with +. For users of a task or extension it can be more convenient if the task/extension accepts an Object (or List<Object>) representing the root directory(s), and converts to a FileTree internally. For API details, see the Gradle Build Language Reference (e.g. Project#fileTree) and the Javadoc/Groovydoc.Excrete

© 2022 - 2024 — McMap. All rights reserved.