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 );