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 <[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]
