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]