These Plexus components have been built from the filtering process/code in Maven Resources Plugin.
The goal is to provide a shared component for all plugins that needs to filter resources.
POM values will be interpolated only with expressions starting with pom or project (it's configurable). In previous versions something like ${foo.version} or ${version} was interpolated with the current POM version, but it won't be interpolated with a POM value any more.
This component will apply filtering on a List of org.apache.maven.model.Resources.
If you want to use the default List of FileUtils.FilterWrapper (see below) you should use the method without the filterWrappers parameter.
The component will not filter a predefined set of file extensions (jpg, jpeg, gif, bmp, png).
Note: You can easily add extra file extensions.
This component has a method which returns the default FileUtils.FilterWrappers. These are:
The values used for interpolation are stored in a Properties object and are loaded in the following order:
Note: As it's a Properties object, the last defined key/value pair wins.
Note: When building the Properties object and reading the properties files that defines the different filters, interpolation with the token ${ } is supported for these filters with limited properties values coming from project.properties and mavenSession.executionProperties. The last wins here too.