You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sn...@apache.org on 2010/01/16 16:41:34 UTC

svn commit: r899981 - in /maven/plugins/trunk/maven-ear-plugin/src: it/resouce-custom-directory/ it/resouce-custom-directory/src/ it/resouce-custom-directory/src/main/ it/resouce-custom-directory/src/main/application/ it/resouce-custom-directory/src/ma...

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 )
             {