api / org.gradle.api.file / ContentFilterable / filter

filter

abstract fun filter(properties: MutableMap<String, *>, filterType: Class<out FilterReader>): ContentFilterable

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

Return
this

abstract fun filter(filterType: Class<out FilterReader>): ContentFilterable

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

Return
this

abstract fun filter(closure: Closure<Any>): ContentFilterable

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 or null to remove the line. If every line is removed, the result will be an empty file, not an absent one.

Parameters

closure - to implement line based filtering

Return
this

abstract fun filter(transformer: Transformer<String, String>): ContentFilterable

Adds a content filter based on the provided transformer. The Closure will be called with each line (stripped of line endings) and should return a String to replace the line or null to remove the line. If every line is removed, the result will be an empty file, not an absent one.

Parameters

transformer - to implement line based filtering

Return
this