You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2020/02/13 22:11:39 UTC
[maven-filtering] 29/44: add filterWrappers coming from the
execution configuration bean update documentation
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to annotated tag maven-filtering-1.0-alpha-1
in repository https://gitbox.apache.org/repos/asf/maven-filtering.git
commit 7465c47a36d62e51173d188b9a4182538a3a5f86
Author: Oliver Lamy <ol...@apache.org>
AuthorDate: Wed Feb 27 22:58:39 2008 +0000
add filterWrappers coming from the execution configuration bean
update documentation
git-svn-id: https://svn.apache.org/repos/asf/maven/sandbox/trunk/shared/maven-filtering@631768 13f79535-47bb-0310-9956-ffa450edef68
---
.../filtering/DefaultMavenResourcesFiltering.java | 19 +++++++++----
src/site/apt/usage.apt | 33 ++++++++++++++--------
.../DefaultMavenResourcesFilteringTest.java | 18 ++++++------
3 files changed, 43 insertions(+), 27 deletions(-)
diff --git a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
index 05706d4..b0257c4 100755
--- a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
+++ b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
@@ -138,10 +138,15 @@ public class DefaultMavenResourcesFiltering
if ( mavenResourcesExecution.isUseDefaultFilterWrappers() )
{
- List filterWrappers = mavenFileFilter.getDefaultFilterWrappers( mavenResourcesExecution.getMavenProject(),
- mavenResourcesExecution.getFileFilters(),
- true, mavenResourcesExecution
- .getMavenSession() );
+ List filterWrappers = new ArrayList();
+ if ( mavenResourcesExecution.getFilterWrappers() != null )
+ {
+ filterWrappers.addAll( mavenResourcesExecution.getFilterWrappers() );
+ }
+ filterWrappers.addAll( mavenFileFilter.getDefaultFilterWrappers( mavenResourcesExecution.getMavenProject(),
+ mavenResourcesExecution.getFileFilters(),
+ true, mavenResourcesExecution
+ .getMavenSession() ) );
mavenResourcesExecution.setFilterWrappers( filterWrappers );
}
@@ -209,8 +214,8 @@ public class DefaultMavenResourcesFiltering
getLogger().info(
"Copying " + includedFiles.size() + " resource" + ( includedFiles.size() > 1 ? "s" : "" )
- + ( targetPath == null ? "" : " to " + targetPath ) );
-
+ + ( targetPath == null ? "" : " to " + targetPath ) );
+
for ( Iterator j = includedFiles.iterator(); j.hasNext(); )
{
String name = (String) j.next();
@@ -230,8 +235,10 @@ public class DefaultMavenResourcesFiltering
{
destinationFile.getParentFile().mkdirs();
}
+
boolean filteredExt = filteredFileExtension( source.getName(), mavenResourcesExecution
.getNonFilteredFileExtensions() );
+
mavenFileFilter.copyFile( source, destinationFile, resource.isFiltering() && filteredExt,
mavenResourcesExecution.getFilterWrappers(), mavenResourcesExecution
.getEncoding() );
diff --git a/src/site/apt/usage.apt b/src/site/apt/usage.apt
index 3c28ce5..8c6a0bc 100755
--- a/src/site/apt/usage.apt
+++ b/src/site/apt/usage.apt
@@ -43,11 +43,24 @@ Maven Filtering Component Basic Usage
+-----+
-encoding can be null platform default will be used
+resources : List of org.apache.maven.model.Resource
+
+outputDirectory : base output directory for Resource.targetPath
+
+mavenProject : a mavenProject
+
+encoding : output encoding for filtered files (can be null platform default will be used)
+
+filtersFile : List of String pointed to a properties file
nonFilteredFileExtensions : is a List of String which file extensions to not apply filtering (default List contains jpg,jpeg,gif,bmp,png)
-mavenResourcesFiltering.filterResources( resources, outputDirectory, mavenProject, encoding, filtersFile, nonFilteredFileExtensions, mavenSession );
+mavenSession : executionProperties will be used for file filtering
+
+MavenResourcesExecution mavenResourcesExecution =
+ new MavenResourcesExecution ( resources, outputDirectory, mavenProject, encoding, filtersFile, nonFilteredFileExtensions, mavenSession );
+
+mavenResourcesFiltering.filterResources( mavenResourcesExecution );
+-----+
@@ -58,11 +71,8 @@ mavenResourcesFiltering.filterResources( resources, outputDirectory, mavenProjec
+-----+
-MavenFileFilter mavenFileFilter = (MavenFileFilter) lookup( MavenFileFilter.class.getName(), "default" );
-List defaultFilterWrappers = mavenFileFilter.getDefaultFilterWrappers( mavenProject, null, true, mavenSession );
+Create your FilterWrapper.
-List filterWrappers = new ArrayList( );
-filterWrappers.addAll( defaultFilterWrappers );
FileUtils.FilterWrapper filterWrapper = new FileUtils.FilterWrapper()
{
public Reader getReader( Reader reader )
@@ -71,15 +81,14 @@ FileUtils.FilterWrapper filterWrapper = new FileUtils.FilterWrapper()
return new InterpolationFilterReader( reader, reflectionProperties, "@", "@" );
}
};
-filterWrappers.add( filterWrapper );
-here you can apply filtering on your resources.
+Create your MavenResourcesExecution instance and add a new filterWrapper.
-encoding can be null platform default will be used
+mavenResourcesExecution.addFilterWrapper( filterWrapper );
+If the mavenResourcesExecution.useDefaultFilterWrappers is set to true default FilterWrapper will be added first.
-nonFilteredFileExtensions : is a List of String which file extensions to not apply filtering (default List contains jpg,jpeg,gif,bmp,png)
+here you can apply filtering on your resources.
-mavenResourcesFiltering.filterResources( resources, outputDirectory, encoding, filterWrappers,
- outputDirectory, nonFilteredFileExtensions, mavenSession );
+mavenResourcesFiltering.filterResources( mavenResourcesExecution );
+-----+
diff --git a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
index dcf3e14..fe5a6a1 100755
--- a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
+++ b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
@@ -28,7 +28,9 @@ import java.util.Collections;
import java.util.List;
import java.util.Properties;
+import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Resource;
+import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
@@ -194,12 +196,6 @@ public class DefaultMavenResourcesFilteringTest
List nonFilteredFileExtensions = Collections.singletonList( "gif" );
- MavenFileFilter mavenFileFilter = (MavenFileFilter) lookup( MavenFileFilter.class.getName(), "default" );
- List defaultFilterWrappers = mavenFileFilter.getDefaultFilterWrappers( mavenProject, null, true,
- new StubMavenSession() );
-
- List filterWrappers = new ArrayList();
- filterWrappers.addAll( defaultFilterWrappers );
FileUtils.FilterWrapper filterWrapper = new FileUtils.FilterWrapper()
{
public Reader getReader( Reader reader )
@@ -208,9 +204,13 @@ public class DefaultMavenResourcesFilteringTest
return new InterpolationFilterReader( reader, reflectionProperties, "@", "@" );
}
};
- filterWrappers.add( filterWrapper );
- mavenResourcesFiltering.filterResources( resources, outputDirectory, null, filterWrappers,
- new File( getBasedir() ), nonFilteredFileExtensions );
+
+ MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution( resources, outputDirectory,
+ mavenProject, null, null,
+ nonFilteredFileExtensions,
+ new StubMavenSession() );
+ mavenResourcesExecution.addFilterWrapper( filterWrapper );
+ mavenResourcesFiltering.filterResources( mavenResourcesExecution );
Properties result = PropertyUtils
.loadPropertyFile( new File( outputDirectory, "maven-resources-filtering.txt" ), null );