All Downloads are FREE. Search and download functionalities are using the official Maven repository.

name.remal.gradle_plugins.dsl.extensions.org.gradle.api.file.FileTree.kt Maven / Gradle / Ivy

@file:Suppress("UNNECESSARY_NOT_NULL_ASSERTION")

package name.remal.gradle_plugins.dsl.extensions

import org.gradle.api.file.*
import org.gradle.api.tasks.util.PatternSet

fun FileTree.exclude(vararg excludes: String) = matching(PatternSet().exclude(*excludes))!!
fun FileTree.exclude(excludes: Iterable) = matching(PatternSet().exclude(excludes))!!
fun FileTree.exclude(excludeSpec: (FileTreeElement) -> Boolean) = matching(PatternSet().exclude(excludeSpec))!!

fun FileTree.include(vararg includes: String) = matching(PatternSet().include(*includes))!!
fun FileTree.include(includes: Iterable) = matching(PatternSet().include(includes))!!
fun FileTree.include(includeSpec: (FileTreeElement) -> Boolean) = matching(PatternSet().include(includeSpec))!!


fun FileTree.visitFiles(visitor: FileVisitor) = visit(object : EmptyFileVisitor() {
    override fun visitFile(fileDetails: FileVisitDetails) {
        visitor.visitFile(fileDetails)
    }
})!!

fun FileTree.visitFiles(visitor: (fileDetails: FileVisitDetails) -> Unit) = visit(object : EmptyFileVisitor() {
    override fun visitFile(fileDetails: FileVisitDetails) {
        visitor(fileDetails)
    }
})!!


fun FileTree.visitDirectories(visitor: FileVisitor) = visit(object : EmptyFileVisitor() {
    override fun visitDir(dirDetails: FileVisitDetails) {
        visitor.visitDir(dirDetails)
    }
})!!

fun FileTree.visitDirectories(visitor: (dirDetails: FileVisitDetails) -> Unit) = visit(object : EmptyFileVisitor() {
    override fun visitDir(fileDetails: FileVisitDetails) {
        visitor(fileDetails)
    }
})!!




© 2015 - 2025 Weber Informatics LLC | Privacy Policy