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

com.github.ksoichiro.web.resource.extension.FilterableProcessor.groovy Maven / Gradle / Ivy

package com.github.ksoichiro.web.resource.extension

class FilterableProcessor extends WebResourceProcessor {
    boolean enabled
    List include
    List exclude
    List filters
    boolean minify
    boolean parallelize

    FilterableProcessor(String src, String dest, List include, List exclude) {
        this(src, dest, include, exclude, [])
    }

    FilterableProcessor(String src, String dest, List include, List exclude, List filters) {
        super(src, dest)
        enabled = true
        minify = true
        parallelize = true
        this.include = include
        this.exclude = exclude
        this.filters = filters
    }

    /**
     * Configure filters by closure.
     *
     * @param configureClosure closure to be passed to this config object
     */
    void filters(Closure configureClosure) {
        configureClosure.delegate = this
        configureClosure()
    }

    /**
     * Add an include filter by {@code pattern}.
     *
     * @param pattern Ant pattern string
     */
    void include(String pattern) {
        filters.add(new Filter(include: pattern))
    }

    /**
     * Add an exclude filter by {@code pattern}.
     *
     * @param pattern Ant pattern string
     */
    void exclude(String pattern) {
        filters.add(new Filter(exclude: pattern))
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy