Author: snicoll Date: Sat Jan 16 15:41:33 2010 New Revision: 899981 URL: http://svn.apache.org/viewvc?rev=899981&view=rev Log: MEAR-117: filtering should create the appropriate target directory if necessary.
Added: maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/pom.xml - copied, changed from r899895, maven/plugins/trunk/maven-ear-plugin/src/it/basic/pom.xml maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/classes/ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/classes/foo.properties maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/verify.bsh - copied, changed from r899895, maven/plugins/trunk/maven-ear-plugin/src/it/basic/verify.bsh Modified: maven/plugins/trunk/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java Copied: maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/pom.xml (from r899895, maven/plugins/trunk/maven-ear-plugin/src/it/basic/pom.xml) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/pom.xml?p2=maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/pom.xml&p1=maven/plugins/trunk/maven-ear-plugin/src/it/basic/pom.xml&r1=899895&r2=899981&rev=899981&view=diff ============================================================================== --- maven/plugins/trunk/maven-ear-plugin/src/it/basic/pom.xml (original) +++ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/pom.xml Sat Jan 16 15:41:33 2010 @@ -27,8 +27,12 @@ <version>1.0</version> <packaging>ear</packaging> - <name>Maven Integration Test :: it0033</name> - <description>Test an EAR generation</description> + <name>Maven EAR Plugin ntegration Test :: resource custom directory</name> + <description>Test filtering of a custom directory</description> + + <properties> + <filtered.value>Hello World!</filtered.value> + </properties> <build> <plugins> @@ -37,7 +41,7 @@ <artifactId>maven-ear-plugin</artifactId> <version>@project.version@</version> <configuration> - <generateApplicationXml>true</generateApplicationXml> + <filtering>true</filtering> </configuration> </plugin> </plugins> Added: maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/classes/foo.properties URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/classes/foo.properties?rev=899981&view=auto ============================================================================== --- maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/classes/foo.properties (added) +++ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/src/main/application/APP-INF/classes/foo.properties Sat Jan 16 15:41:33 2010 @@ -0,0 +1 @@ +test.property=${filterd.value} \ No newline at end of file Copied: maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/verify.bsh (from r899895, maven/plugins/trunk/maven-ear-plugin/src/it/basic/verify.bsh) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/verify.bsh?p2=maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/verify.bsh&p1=maven/plugins/trunk/maven-ear-plugin/src/it/basic/verify.bsh&r1=899895&r2=899981&rev=899981&view=diff ============================================================================== --- maven/plugins/trunk/maven-ear-plugin/src/it/basic/verify.bsh (original) +++ maven/plugins/trunk/maven-ear-plugin/src/it/resouce-custom-directory/verify.bsh Sat Jan 16 15:41:33 2010 @@ -14,7 +14,7 @@ String[] includedEntries = { "META-INF/application.xml", - "META-INF/appserver-application.xml", + "APP-INF/classes/foo.properties", }; for ( String included : includedEntries ) { Modified: maven/plugins/trunk/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java?rev=899981&r1=899980&r2=899981&view=diff ============================================================================== --- maven/plugins/trunk/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java (original) +++ maven/plugins/trunk/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java Sat Jan 16 15:41:33 2010 @@ -212,14 +212,12 @@ private ArchiverManager archiverManager; /** - * * @component role="org.apache.maven.shared.filtering.MavenFileFilter" role-hint="default" * @required */ private MavenFileFilter mavenFileFilter; /** - * * @component role="org.apache.maven.shared.filtering.MavenResourcesFiltering" role-hint="default" * @required */ @@ -279,8 +277,9 @@ final File destinationFile = buildDestinationFile( getWorkDirectory(), module.getUri() ); if ( !sourceFile.isFile() ) { - throw new MojoExecutionException( "Cannot copy a directory: " + sourceFile.getAbsolutePath() + - "; Did you package/install " + module.getArtifact() + "?" ); + throw new MojoExecutionException( + "Cannot copy a directory: " + sourceFile.getAbsolutePath() + "; Did you package/install " + + module.getArtifact() + "?" ); } if ( destinationFile.getCanonicalPath().equals( sourceFile.getCanonicalPath() ) ) @@ -310,8 +309,9 @@ } else { - getLog().debug( "Skipping artifact[" + module + "], as it is already up to date at[" + - module.getUri() + "]" ); + getLog().debug( + "Skipping artifact[" + module + "], as it is already up to date at[" + module.getUri() + + "]" ); } } } @@ -339,8 +339,7 @@ String[] fileNames = getEarFiles( earSourceDir ); for ( int i = 0; i < fileNames.length; i++ ) { - copyFile( new File( earSourceDir, fileNames[i] ), - new File( getWorkDirectory(), fileNames[i] ) ); + copyFile( new File( earSourceDir, fileNames[i] ), new File( getWorkDirectory(), fileNames[i] ) ); } } @@ -359,7 +358,7 @@ } catch ( MavenFilteringException e ) { - throw new MojoExecutionException( "Error filetering EAR sources", e ); + throw new MojoExecutionException( "Error filtering EAR sources", e ); } // Copy resources files @@ -367,7 +366,7 @@ { if ( resourcesDir != null && resourcesDir.exists() ) { - getLog().warn( "resourcesDir is deprecated. Please use the earSourceDirectory property instead."); + getLog().warn( "resourcesDir is deprecated. Please use the earSourceDirectory property instead." ); getLog().info( "Copy ear resources to " + getWorkDirectory().getAbsolutePath() ); String[] fileNames = getEarFiles( resourcesDir ); for ( int i = 0; i < fileNames.length; i++ ) @@ -384,7 +383,7 @@ // Check if deployment descriptor is there File ddFile = new File( getWorkDirectory(), APPLICATION_XML_URI ); - if ( !ddFile.exists() && (! (version.equals( VERSION_5 ) || version.equals( VERSION_6 )))) + if ( !ddFile.exists() && ( !( version.equals( VERSION_5 ) || version.equals( VERSION_6 ) ) ) ) { throw new MojoExecutionException( "Deployment descriptor: " + ddFile.getAbsolutePath() + " does not exist." ); @@ -393,7 +392,7 @@ try { File earFile = getEarFile( outputDirectory, finalName, classifier ); - final MavenArchiver archiver = new EarMavenArchiver(getModules()); + final MavenArchiver archiver = new EarMavenArchiver( getModules() ); final JarArchiver jarArchiver = getJarArchiver(); getLog().debug( "Jar archiver implementation[" + jarArchiver.getClass().getName() + "]" ); archiver.setArchiver( jarArchiver ); @@ -560,15 +559,21 @@ return jarArchiver; } - private void copyFile(File source, File target) - throws MavenFilteringException, IOException, MojoExecutionException { + private void copyFile( File source, File target ) + throws MavenFilteringException, IOException, MojoExecutionException + { if ( filtering && !isNonFilteredExtension( source.getName() ) ) { - mavenFileFilter.copyFile( source, target, true, getFilterWrappers(), null ); + // Silly that we have to do this ourselves + if ( target.getParentFile() != null && !target.getParentFile().exists() ) + { + target.getParentFile().mkdirs(); + } + mavenFileFilter.copyFile( source, target, true, getFilterWrappers(), null ); } else { - FileUtils.copyFile(source,target); + FileUtils.copyFile( source, target ); } } @@ -577,15 +582,18 @@ return !mavenResourcesFiltering.filteredFileExtension( fileName, nonFilteredFileExtensions ); } - private List getFilterWrappers() throws MojoExecutionException { - if (filterWrappers == null) + private List getFilterWrappers() + throws MojoExecutionException + { + if ( filterWrappers == null ) { try { MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution(); mavenResourcesExecution.setEscapeString( escapeString ); - filterWrappers = mavenFileFilter.getDefaultFilterWrappers( project, filters, - escapedBackslashesInFilePath, this.session, mavenResourcesExecution ); + filterWrappers = + mavenFileFilter.getDefaultFilterWrappers( project, filters, escapedBackslashesInFilePath, + this.session, mavenResourcesExecution ); } catch ( MavenFilteringException e ) {