Groovy Documentation

org.gradle.api.file
[Java] Interface ContentFilterable


public interface ContentFilterable

Represents some binary resource whose content can be filtered.


Method Summary
ContentFilterable expand(Map properties)

ContentFilterable filter(Map properties, Class filterType)

ContentFilterable filter(Class filterType)

ContentFilterable filter(Closure closure)

Adds a content filter based on the provided closure.

 

Method Detail

expand

public ContentFilterable expand(Map properties)

Expands property references in each file as it is copied. More specifically, each file is transformed using Groovy's SimpleTemplateEngine. This means you can use simple property references, such as $property or ${property} in the file. You can also include arbitrary Groovy code in the file, such as ${version ?: 'unknown'} or ${classpath*.name.join(' ')}

Parameters:
properties - to implement line based filtering
Returns:
this


filter

public ContentFilterable filter(Map properties, Class filterType)

Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the filter chain. Each filter should implement java.io.FilterReader. Include org.apache.tools.ant.filters.* for access to all the standard Ant filters.

Filter properties may be specified using groovy map syntax.

Examples:

    filter(HeadFilter, lines:25, skip:2)
    filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1'])
 
Parameters:
properties - map of filter properties
filterType - Class of filter to add
Returns:
this


filter

public ContentFilterable filter(Class filterType)

Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the filter chain. Each filter should implement java.io.FilterReader. Include org.apache.tools.ant.filters.* for access to all the standard Ant filters.

Examples:

    filter(StripJavaComments)
    filter(com.mycompany.project.CustomFilter)
 
Parameters:
filterType - Class of filter to add
Returns:
this


filter

public ContentFilterable filter(Closure closure)
Adds a content filter based on the provided closure. The Closure will be called with each line (stripped of line endings) and should return a String to replace the line.
Parameters:
closure - to implement line based filtering
Returns:
this


 

Gradle API 1.12