------ Introduction ------ Olivier Lamy ------ 2008-01-01 ------ ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. Maven Filtering 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 which needs to filter resources. * What's New in 1.0-beta-2 (All of this new features are configurable with the MavenResourcesExecution bean) ** Release Note The release note is available {{{http://jira.codehaus.org/secure/ReleaseNote.jspa?version=14488&styleName=Html&projectId=11761&Create=Create}here}}. ** Pom interpolation {{{http://jira.codehaus.org/browse/MSHARED-60}[MSHARED-60]}} something like $\{foo.url\} was interpolated to the value of pom url. Now pom values will interpolated <<>> with expressions starting with pom or project (it's configurable).\ This means before something like $\{foo.version\} or $\{version\} was interpolated with the current pom version. <> ** Escaping Interpolation {{{http://jira.codehaus.org/browse/MSHARED-51}[MSHARED-51]}} It's possible now to define a String which will escape interpolation.\ \$\{java.home\} will be interpolated to $\{java.home\} ** targetPath accepts now absolute paths too ** overwrite parameter {{{http://jira.codehaus.org/browse/MSHARED-67}[MSHARED-67]}} Add a new parameter to force file copy even if the destination file is newer. * MavenResourcesFiltering This component will apply filtering on a <<>> of <<>>. If you want to use the default <<>> of <<>> (see below) you should use the method without the <<>> 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. * MavenFileFilter This component has a method which returns the default <<>>. These are: * interpolation with token $\{ \} and values from properties files, project.build.filters, project.properties and mavenSession.executionProperties * interpolation with token @ @ and values from properties files, project.build.filters, project.properties and mavenSession.executionProperties * interpolation with token $\{ \} and values from mavenProject interpolation * interpolation with token @ @ and values from mavenProject interpolation [] The values used for interpolation are stored in a <<>> object and are loaded in the following order: * A <<>> of properties files, provided as a parameter to the method * Filters defined in the <<<\>>>/<<<\>>> section of the POM * Properties defined in the <<<\>>> section of the POM * The <<>> from the current <<>> [] <>: As it's a <<>> object, the last defined key/value pair wins. <>: When building the <<>> object and reading the properties files defining 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.