There is the include, exclude filter for this, right or did you added
this to have some sort of "gloal policy" regarding filtering? Is this
documented on the site?

Thanks,
Stéphane

---------- Forwarded message ----------
From:  <[EMAIL PROTECTED]>
Date: Sat, Feb 16, 2008 at 1:37 AM
Subject: svn commit: r628218 - in
/maven/plugins/trunk/maven-war-plugin/src: it/MWAR-143/
it/MWAR-143/war-common/ it/MWAR-143/war-common/src/main/images/
main/java/org/apache/maven/plugin/war/
main/java/org/apache/maven/plugin/war/packaging/
To: [EMAIL PROTECTED]


Author: olamy
 Date: Fri Feb 15 16:37:38 2008
 New Revision: 628218

 URL: http://svn.apache.org/viewvc?rev=628218&view=rev
 Log:
 [MWAR-145] Add a mojo parameter for file extensions which must not be filtered.

 Added:
    
maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/src/main/images/
    
maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/src/main/images/duke-beer.jpg
  (with props)
 Modified:
    maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/pom.xml
    maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/verify.bsh
    maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/pom.xml
    
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/AbstractWarMojo.java
    
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java
    
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarPackagingContext.java
    
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java

 Modified: maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/pom.xml
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/pom.xml?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/pom.xml (original)
 +++ maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/pom.xml Fri
Feb 15 16:37:38 2008
 @@ -32,7 +32,13 @@
       <plugins>
         <plugin>
           <artifactId>maven-war-plugin</artifactId>
 -          <version>@pom.version@</version>
 +          <!--version>@pom.version@</version-->
 +          <version>2.1-alpha-2-SNAPSHOT</version>
 +          <configuration>
 +            <nonFilteredFileExtensions>
 +              <nonFilteredFileExtension>jpg</nonFilteredFileExtension>
 +            </nonFilteredFileExtensions>
 +          </configuration>
         </plugin>
       </plugins>
     </pluginManagement>

 Modified: maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/verify.bsh
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/verify.bsh?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/verify.bsh (original)
 +++ maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/verify.bsh
Fri Feb 15 16:37:38 2008
 @@ -23,8 +23,55 @@

  boolean result = true;

 +filesAreIdentical( File expected, File current )
 +    throws IOException
 +{
 +    if ( expected.length() != current.length() )
 +    {
 +        return false;
 +    }
 +    FileInputStream expectedIn = new FileInputStream( expected );
 +    FileInputStream currentIn = new FileInputStream( current );
 +    try
 +    {
 +        byte[] expectedBuffer = IOUtil.toByteArray( expectedIn );
 +
 +        byte[] currentBuffer = IOUtil.toByteArray( currentIn );
 +        if (expectedBuffer.length != currentBuffer.length)
 +        {
 +            return false;
 +        }
 +        for (int i = 0,size = expectedBuffer.length;i<size;i++)
 +        {
 +            if(expectedBuffer[i]!= currentBuffer[i])
 +            {
 +                return false;
 +            }
 +        }
 +    }
 +    finally
 +    {
 +        expectedIn.close();
 +        currentIn.close();
 +    }
 +    return true;
 +}
 +
  try
  {
 +
 +       File originalImg = new File( basedir,
"war-common/src/main/images/duke-beer.jpg" );
 +
 +       File targetImg = new File( basedir,
"war-common/target/common-overlay-1.0-SNAPSHOT/duke-beer.jpg" );
 +
 +    boolean identical = filesAreIdentical( originalImg, targetImg );
 +
 +    if (!identical)
 +    {
 +        System.err.println( "filtered images are not identical in
war-common." );
 +        return false;
 +    }
 +
     File target = new File( basedir, "war-filter-overlay/target" );
     if ( !target.exists() || !target.isDirectory() )
     {
 @@ -57,6 +104,16 @@
        return false;
     }

 +       targetImg = new File( basedir,
"war-filter-overlay/target/custom-manifest-1.0-SNAPSHOT/duke-beer.jpg"
);
 +
 +    boolean identical = filesAreIdentical( originalImg, targetImg );
 +
 +    if (!identical)
 +    {
 +        System.err.println( "filtered images are not identical with
overlay." );
 +        return false;
 +    }
 +
  }
  catch( Throwable e )
  {
 @@ -65,3 +122,4 @@
  }

  return result;
 +

 Modified: 
maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/pom.xml
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/pom.xml?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/pom.xml
(original)
 +++ maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/pom.xml
Fri Feb 15 16:37:38 2008
 @@ -32,13 +32,19 @@
     <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
 -          <artifactId>maven-war-plugin</artifactId>
 +          <artifactId>maven-war-plugin</artifactId>
           <configuration>
             <archive>
               <manifestEntries>
                 <Class-Path>properties</Class-Path>
               </manifestEntries>
 -            </archive>
 +            </archive>
 +            <webResources>
 +              <resource>
 +                <directory>src/main/images</directory>
 +                <filtering>true</filtering>
 +              </resource>
 +            </webResources>
           </configuration>
         </plugin>
     </plugins>

 Added: 
maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/src/main/images/duke-beer.jpg
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/src/main/images/duke-beer.jpg?rev=628218&view=auto
 ==============================================================================
 Binary file - no diff available.

 Propchange: 
maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/src/main/images/duke-beer.jpg
 ------------------------------------------------------------------------------
    svn:executable = *

 Propchange: 
maven/plugins/trunk/maven-war-plugin/src/it/MWAR-143/war-common/src/main/images/duke-beer.jpg
 ------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

 Modified: 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/AbstractWarMojo.java
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/AbstractWarMojo.java?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/AbstractWarMojo.java
(original)
 +++ 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/AbstractWarMojo.java
Fri Feb 15 16:37:38 2008
 @@ -24,6 +24,7 @@
  import java.io.Reader;
  import java.util.ArrayList;
  import java.util.Arrays;
 +import java.util.Collections;
  import java.util.Iterator;
  import java.util.List;

 @@ -243,6 +244,15 @@
      * @since 2.1
      */
     private List overlays = new ArrayList();
 +
 +    /**
 +     * A list of file extensions to not filtering.
 +     * <b>will be used for webResources and overlay filtering</b>
 +     *
 +     * @parameter
 +     * @since 2.1-alpha-2
 +     */
 +    private List nonFilteredFileExtensions;

     /**
      * The maven archive configuration to use.
 @@ -397,7 +407,9 @@
             throw new MojoExecutionException( e.getMessage(), e );
         }

 -        final WarPackagingContext context = new
DefaultWarPackagingContext( webappDirectory, cache, overlayManager,
filterWrappers );
 +        final WarPackagingContext context = new
DefaultWarPackagingContext( webappDirectory, cache, overlayManager,
 +
       filterWrappers,
 +
       getNonFilteredFileExtensions() );
         final Iterator it = packagingTasks.iterator();
         while ( it.hasNext() )
         {
 @@ -485,15 +497,19 @@
         private final OverlayManager overlayManager;

         private final List filterWrappers;
 +
 +        private List nonFilteredFileExtensions;

         public DefaultWarPackagingContext( File webappDirectory,
final WebappStructure webappStructure,
 -                                           final OverlayManager
overlayManager, List filterWrappers )
 +                                           final OverlayManager
overlayManager, List filterWrappers,
 +                                           List nonFilteredFileExtensions )
         {
             this.webappDirectory = webappDirectory;
             this.webappStructure = webappStructure;
             this.overlayManager = overlayManager;
             this.filterWrappers = filterWrappers;
 -
 +            this.nonFilteredFileExtensions =
nonFilteredFileExtensions == null ? Collections.EMPTY_LIST
 +
         : nonFilteredFileExtensions;
             // This is kinda stupid but if we loop over the current
overlays and we request the path structure
             // it will register it. This will avoid wrong warning
messages in a later phase
             final Iterator it = overlayManager.getOverlayIds().iterator();
 @@ -593,7 +609,15 @@
         {
             return filterWrappers;
         }
 -
 +
 +        public boolean isNonFilteredExtension( String fileName )
 +        {
 +            if (StringUtils.isEmpty( fileName ))
 +            {
 +                return false;
 +            }
 +            return nonFilteredFileExtensions.contains(
FileUtils.extension( fileName ) );
 +        }

     }

 @@ -776,5 +800,15 @@
     public MavenArchiveConfiguration getArchive()
     {
         return archive;
 +    }
 +
 +    public List getNonFilteredFileExtensions()
 +    {
 +        return nonFilteredFileExtensions;
 +    }
 +
 +    public void setNonFilteredFileExtensions( List nonFilteredFileExtensions )
 +    {
 +        this.nonFilteredFileExtensions = nonFilteredFileExtensions;
     }
  }

 Modified: 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java
(original)
 +++ 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java
Fri Feb 15 16:37:38 2008
 @@ -92,7 +92,8 @@
             }


 -            if ( filtered )
 +            if ( filtered
 +                && !context.isNonFilteredExtension( sourceFile.getName() ) )
             {
                 copyFilteredFile( sourceId, context, sourceFile,
destinationFileName );
             }

 Modified: 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarPackagingContext.java
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarPackagingContext.java?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarPackagingContext.java
(original)
 +++ 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarPackagingContext.java
Fri Feb 15 16:37:38 2008
 @@ -169,5 +169,10 @@
      * @since 2.1-alpha-2
      */
     List getFilterWrappers();
 -
 +
 +    /**
 +     * @param fileName
 +     * @return @since 2.1-alpha-2
 +     */
 +    boolean isNonFilteredExtension( String fileName );
  }

 Modified: 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java
 URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java?rev=628218&r1=628217&r2=628218&view=diff
 ==============================================================================
 --- 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java
(original)
 +++ 
maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java
Fri Feb 15 16:37:38 2008
 @@ -273,7 +273,7 @@
                 }
             }
             context.getLog().debug( "copy targetFileName with
targetPath " + targetFileName );
 -            if ( resource.isFiltering() )
 +            if ( resource.isFiltering() &&
!context.isNonFilteredExtension( fileNames[i] ) )
             {
                 copyFilteredFile( id, context, new File(
resource.getDirectory(), fileNames[i] ), targetFileName );
             }





-- 
Large Systems Suck: This rule is 100% transitive. If you build one,
you suck" -- S.Yegge

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to