You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2008/02/16 01:37:39 UTC

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/

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



Re: 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/

Posted by Olivier Lamy <ol...@apache.org>.
2008/2/16, Stephane Nicoll <st...@gmail.com>:
> Yep. I think lots of users are corrupting their binary files at first.
>
> Do you also think that we should exclude well known format by default
> (png,jpg,jpeg,bmp,etc)?

Yep, this will be easier and transparent for users.

>
> Thanks,
> Stéphane
>
> On Feb 16, 2008 10:28 AM, Olivier Lamy <ol...@apache.org> wrote:
> > Hi,
> > Here it's a global option at the mojo level to disable filtering on
> > user defined file extensions.
> > IMHO, it's more easy for a user to not have declare twice a resource
> > (in the war plugin : webResource or an overlay) directory :
> > - one with filtering enabled (with some includes/excludes to exclude
> > binary files)
> > - one with filtering disabled (with the opposite includes/excludes to
> > exclude the previous filtered resources)
> >
> > No, it's not yet documented but I will (sorry I MUST ;-) ) do it.
> >
> > And IMHO again, it could be a nice feature to add in the
> > maven-ressources-plugin.
> >
> > Thoughts/Comments are welcome.
> >
> > Thanks,
> > --
> > Olivier
> >
> > 2008/2/16, Stephane Nicoll <st...@gmail.com>:
> >
> > > 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:  <ol...@apache.org>
> > > 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: commits@maven.apache.org
> > >
> > >
> > > 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: dev-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: dev-help@maven.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
>
>
>
> --
> Large Systems Suck: This rule is 100% transitive. If you build one,
> you suck" -- S.Yegge
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: 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/

Posted by Stephane Nicoll <st...@gmail.com>.
Yep. I think lots of users are corrupting their binary files at first.

Do you also think that we should exclude well known format by default
(png,jpg,jpeg,bmp,etc)?

Thanks,
Stéphane

On Feb 16, 2008 10:28 AM, Olivier Lamy <ol...@apache.org> wrote:
> Hi,
> Here it's a global option at the mojo level to disable filtering on
> user defined file extensions.
> IMHO, it's more easy for a user to not have declare twice a resource
> (in the war plugin : webResource or an overlay) directory :
> - one with filtering enabled (with some includes/excludes to exclude
> binary files)
> - one with filtering disabled (with the opposite includes/excludes to
> exclude the previous filtered resources)
>
> No, it's not yet documented but I will (sorry I MUST ;-) ) do it.
>
> And IMHO again, it could be a nice feature to add in the
> maven-ressources-plugin.
>
> Thoughts/Comments are welcome.
>
> Thanks,
> --
> Olivier
>
> 2008/2/16, Stephane Nicoll <st...@gmail.com>:
>
> > 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:  <ol...@apache.org>
> > 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: commits@maven.apache.org
> >
> >
> > 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: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: 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/

Posted by Olivier Lamy <ol...@apache.org>.
Hi,
Here it's a global option at the mojo level to disable filtering on
user defined file extensions.
IMHO, it's more easy for a user to not have declare twice a resource
(in the war plugin : webResource or an overlay) directory :
- one with filtering enabled (with some includes/excludes to exclude
binary files)
- one with filtering disabled (with the opposite includes/excludes to
exclude the previous filtered resources)

No, it's not yet documented but I will (sorry I MUST ;-) ) do it.

And IMHO again, it could be a nice feature to add in the
maven-ressources-plugin.

Thoughts/Comments are welcome.

Thanks,
--
Olivier

2008/2/16, Stephane Nicoll <st...@gmail.com>:
> 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:  <ol...@apache.org>
> 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: commits@maven.apache.org
>
>
> 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: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Fwd: 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/

Posted by Stephane Nicoll <st...@gmail.com>.
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:  <ol...@apache.org>
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: commits@maven.apache.org


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: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org