2008/2/16, Stephane Nicoll <[EMAIL PROTECTED]>:
> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>:
> >
> > > 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]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> --
> 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]
>
>

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

Reply via email to