Author: olamy Date: Mon Dec 3 16:31:29 2007 New Revision: 600742 URL: http://svn.apache.org/viewvc?rev=600742&view=rev Log: [MWAR-129] WebRessource not filtered when is part of the the warSourceDirectory
Modified: maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/goals.txt maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/pom.xml maven/plugins/trunk/maven-war-plugin/src/it/scoped-dependency-same-artifact/pom.xml maven/plugins/trunk/maven-war-plugin/src/it/simple-war-no-webxml/pom.xml maven/plugins/trunk/maven-war-plugin/src/it/simple-war-project/pom.xml 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/WarProjectPackagingTask.java maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/util/WebappStructure.java Modified: maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/goals.txt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/goals.txt?rev=600742&r1=600741&r2=600742&view=diff ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/goals.txt (original) +++ maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/goals.txt Mon Dec 3 16:31:29 2007 @@ -1 +1 @@ -clean package \ No newline at end of file +clean war:exploded Modified: maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/pom.xml?rev=600742&r1=600741&r2=600742&view=diff ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/pom.xml (original) +++ maven/plugins/trunk/maven-war-plugin/src/it/MWAR-129/pom.xml Mon Dec 3 16:31:29 2007 @@ -20,10 +20,10 @@ <project xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd' xmlns='http://maven.apache.org/POM/4.0.0'> <modelVersion>4.0.0</modelVersion> <groupId>testwar</groupId> - <artifactId>mwar_129</artifactId> + <artifactId>MWAR-129</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> - <name>mwar_129 Maven Webapp</name> + <name>MWAR-129 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> @@ -68,7 +68,9 @@ <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> - <version>2.0.2</version> + <!--version>2.0.2</version--> + <!--version>2.1-alpha-2-SNAPSHOT</version--> + <version>@pom.version@</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> <webResources> Modified: maven/plugins/trunk/maven-war-plugin/src/it/scoped-dependency-same-artifact/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/scoped-dependency-same-artifact/pom.xml?rev=600742&r1=600741&r2=600742&view=diff ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/it/scoped-dependency-same-artifact/pom.xml (original) +++ maven/plugins/trunk/maven-war-plugin/src/it/scoped-dependency-same-artifact/pom.xml Mon Dec 3 16:31:29 2007 @@ -30,6 +30,7 @@ <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> + <version>@pom.version@</version> <configuration> </configuration> Modified: maven/plugins/trunk/maven-war-plugin/src/it/simple-war-no-webxml/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/simple-war-no-webxml/pom.xml?rev=600742&r1=600741&r2=600742&view=diff ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/it/simple-war-no-webxml/pom.xml (original) +++ maven/plugins/trunk/maven-war-plugin/src/it/simple-war-no-webxml/pom.xml Mon Dec 3 16:31:29 2007 @@ -30,8 +30,7 @@ <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> - <!-- Silly we need to fix this --> - <version>2.1-alpha-2-SNAPSHOT</version> + <version>@pom.version@</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> Modified: maven/plugins/trunk/maven-war-plugin/src/it/simple-war-project/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/it/simple-war-project/pom.xml?rev=600742&r1=600741&r2=600742&view=diff ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/it/simple-war-project/pom.xml (original) +++ maven/plugins/trunk/maven-war-plugin/src/it/simple-war-project/pom.xml Mon Dec 3 16:31:29 2007 @@ -30,6 +30,7 @@ <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> + <version>@pom.version@</version> <configuration> </configuration> 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=600742&r1=600741&r2=600742&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 Mon Dec 3 16:31:29 2007 @@ -136,18 +136,25 @@ String targetFilename ) throws IOException { + context.getLog().debug( "sourceId " + sourceId +", copyFile file " + file + ", targetFilename " + targetFilename ); final File targetFile = new File( context.getWebappDirectory(), targetFilename ); context.getWebappStructure().registerFile( sourceId, targetFilename, new WebappStructure.RegistrationCallback() { public void registered( String ownerId, String targetFilename ) throws IOException { + context.getLog().debug( + "registered copy file " + file.getPath() + " to targetFile " + + targetFile.getName() ); copyFile( context, file, targetFile, targetFilename, false ); } public void alreadyRegistered( String ownerId, String targetFilename ) throws IOException { + context.getLog().debug( + "alreadyRegistered copy onlyIfModified file " + file.getPath() + + " to targetFile " + targetFile.getName() ); copyFile( context, file, targetFile, targetFilename, true ); } @@ -196,9 +203,11 @@ throws IOException, MojoExecutionException { + context.getLog().debug( "sourceId " + sourceId + ", filtering file " + file + " to targetFilename " + targetFilename ); if ( context.getWebappStructure().registerFile( sourceId, targetFilename ) ) { final File targetFile = new File( context.getWebappDirectory(), targetFilename ); + context.getLog().debug( "filtering file " + file + " to targetFile " + targetFile ); // buffer so it isn't reading a byte at a time! Reader fileReader = null; Writer fileWriter = null; 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=600742&r1=600741&r2=600742&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 Mon Dec 3 16:31:29 2007 @@ -8,8 +8,11 @@ import org.codehaus.plexus.util.DirectoryScanner; import org.codehaus.plexus.util.StringUtils; +import sun.security.action.GetLongAction; + import java.io.File; import java.io.IOException; +import java.util.Iterator; /** * Handles the project own resources, that is: @@ -61,10 +64,15 @@ File metainfDir = new File( context.getWebappDirectory(), META_INF_PATH ); metainfDir.mkdirs(); - handleWebResources( context ); - + handleWebResources( context ); + handeWebAppSourceDirectory( context ); - + PathSet pathSet = context.getWebappStructure().getStructure( "currentBuild" ); + context.getLog().debug( "currentBuild pathSet content dump" ); + for ( Iterator iterator = pathSet.iterator(); iterator.hasNext(); ) + { + context.getLog().debug( "pathSet content " + iterator.next() ); + } handleDeploymentDescriptors( context, webinfDir, metainfDir ); handleClassesDirectory( context ); @@ -122,6 +130,7 @@ else if ( !context.getWebappSourceDirectory().getAbsolutePath().equals( context.getWebappDirectory().getPath() ) ) { + final PathSet sources = getFilesToIncludes( context.getWebappSourceDirectory(), context.getWebappSourceIncludes(), context.getWebappSourceExcludes() ); @@ -230,11 +239,20 @@ for ( int i = 0; i < fileNames.length; i++ ) { String targetFileName = fileNames[i]; + context.getLog().debug( "copy targetFileName " + targetFileName ); if ( resource.getTargetPath() != null ) { //TODO make sure this thing is 100% safe - targetFileName = resource.getTargetPath() + File.separator + targetFileName; + // MWAR-129 if targetPath is only a dot <targetPath>.</targetPath> or ./ + // and the Resource is in a part of the warSourceDirectory the file from sources will override this + // that's we don't have to add the targetPath yep not nice but works + if ( !StringUtils.equals( ".", resource.getTargetPath() ) + && !StringUtils.equals( "./", resource.getTargetPath() ) ) + { + targetFileName = resource.getTargetPath() + File.separator + targetFileName; + } } + context.getLog().debug( "copy targetFileName with targetPath " + targetFileName ); if ( resource.isFiltering() ) { copyFilteredFile( id, context, new File( resource.getDirectory(), fileNames[i] ), targetFileName ); Modified: maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/util/WebappStructure.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/util/WebappStructure.java?rev=600742&r1=600741&r2=600742&view=diff ============================================================================== --- maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/util/WebappStructure.java (original) +++ maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/util/WebappStructure.java Mon Dec 3 16:31:29 2007 @@ -99,6 +99,7 @@ throws IOException { + // If the file is already in the current structure, rejects it with the current owner if ( isRegistered( path ) ) {