You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2008/09/16 00:59:58 UTC

svn commit: r695680 - in /maven/plugins/trunk/maven-resources-plugin: ./ src/it/includeEmptyDirs/ src/it/includeEmptyDirs/src/main/resources/empty-dir-child/ src/it/includeEmptyDirs/src/main/resources/empty-dir-child/child/ src/it/includeEmptyDirs/src/...

Author: olamy
Date: Mon Sep 15 15:59:57 2008
New Revision: 695680

URL: http://svn.apache.org/viewvc?rev=695680&view=rev
Log:
[MRESOURCES-36] resource copy to target/classes: empty directories are ignored


Added:
    maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/   (props changed)
      - copied from r695249, maven/plugins/trunk/maven-resources-plugin/src/it/filter/
    maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/src/main/resources/empty-dir/
    maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/src/main/resources/empty-dir-child/
    maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/src/main/resources/empty-dir-child/child/
Modified:
    maven/plugins/trunk/maven-resources-plugin/pom.xml
    maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/pom.xml
    maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/verify.bsh
    maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java

Modified: maven/plugins/trunk/maven-resources-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/pom.xml?rev=695680&r1=695679&r2=695680&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-resources-plugin/pom.xml Mon Sep 15 15:59:57 2008
@@ -71,7 +71,7 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.5.5</version>
+      <version>1.5.7-SNAPSHOT</version>
     </dependency>
 
     <dependency>
@@ -96,6 +96,8 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-invoker-plugin</artifactId>
+            <!-- SNAPSHOT due to MINVOKER-48 -->
+            <version>1.3-SNAPSHOT</version>
             <configuration>
               <projectsDirectory>src/it</projectsDirectory>
               <pomIncludes>
@@ -128,4 +130,18 @@
     </profile>
   </profiles>
   
+  <!-- remove when plexus-utils 1.5.7 released -->
+  <repositories>
+    <repository>
+      <id>snapshots.codehaus</id>
+        <url>http://snapshots.repository.codehaus.org/</url>
+        <releases>
+          <enabled>false</enabled>
+        </releases>
+        <snapshots>
+          <enabled>true</enabled>
+        </snapshots>
+      </repository>
+    </repositories>  
+  
 </project>

Propchange: maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Sep 15 15:59:57 2008
@@ -0,0 +1 @@
+target

Propchange: maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Sep 15 15:59:57 2008
@@ -0,0 +1 @@
+/maven/plugins/branches/MRESOURCES-56/src/it/filter:632505-692535

Modified: maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/pom.xml?rev=695680&r1=695249&r2=695680&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/pom.xml (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/pom.xml Mon Sep 15 15:59:57 2008
@@ -22,7 +22,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.maven.plugins</groupId>
-  <artifactId>maven-resources-plugin-it-filter</artifactId>
+  <artifactId>maven-resources-plugin-it-includeEmptyDirs</artifactId>
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
 
@@ -41,9 +41,21 @@
         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
           <version>@pom.version@</version>
+          <configuration>
+            <includeEmptyDirs>true</includeEmptyDirs>
+          </configuration>
         </plugin>
       </plugins>
     </pluginManagement>
+    <plugins>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>@pom.version@</version>
+        <configuration>
+          <includeEmptyDirs>true</includeEmptyDirs>
+        </configuration>
+      </plugin>      
+    </plugins>
   </build>
 
   <!--

Modified: maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/verify.bsh?rev=695680&r1=695249&r2=695680&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/verify.bsh (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/it/includeEmptyDirs/verify.bsh Mon Sep 15 15:59:57 2008
@@ -29,10 +29,56 @@
     File target = new File( basedir, "target" );
     if ( !target.exists() || !target.isDirectory() )
     {
-        System.err.println( "target file is missing or a directory." );
+        System.err.println( "target file is missing or not a directory." );
         return false;
     }
     
+    File classes = new File( target, "classes" );
+    if ( !classes.exists() || !classes.isDirectory() )
+    {
+        System.err.println( "target/classes file is missing or not a directory." );
+        return false;
+    }
+
+    File emptyDir = new File( classes, "empty-dir" );
+    if ( !emptyDir.exists() || !emptyDir.isDirectory() )
+    {
+        System.err.println( "target/classes/empty-dir file is missing or not a directory." );
+        return false;
+    }
+    
+    if ( emptyDir.list().length != 0 )
+    {
+        System.err.println( "target/classes/empty-dir file has child." );
+        return false;    
+    }
+
+    File emptyDirChild = new File( classes, "empty-dir-child" );
+    if ( !emptyDirChild.exists() || !emptyDirChild.isDirectory() )
+    {
+        System.err.println( "target/classes/empty-dir-child file is missing or not a directory." );
+        return false;
+    }
+
+    if ( emptyDirChild.list().length != 1 )
+    {
+        System.err.println( "target/classes/empty-dir-child file has child." );
+        return false;    
+    }
+    
+    File child = new File( emptyDirChild, "child" );
+    if ( !child.exists() || !child.isDirectory() )
+    {
+        System.err.println( "target/classes/empty-dir-child/child file is missing or not a directory." );
+        return false;
+    }    
+    
+    if ( child.list().length != 0 )
+    {
+        System.err.println( "target/classes/empty-dir-child/child file has child." );
+        return false;    
+    }    
+    
     File someResource = new File( target, "/classes/SomeResource.txt" );
     if ( !someResource.exists() || someResource.isDirectory() )
     {

Modified: maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java?rev=695680&r1=695679&r2=695680&view=diff
==============================================================================
--- maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java (original)
+++ maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java Mon Sep 15 15:59:57 2008
@@ -118,6 +118,13 @@
      * @since 2.3
      */
     private boolean overwrite;
+    
+    /**
+     * Copy any empty directories included in the Ressources.
+     * @parameter expression="${maven.resources.includeEmptyDirs}" default-value="false"
+     * @since 2.3
+     */    
+    protected boolean includeEmptyDirs;
 
     public void execute()
         throws MojoExecutionException
@@ -132,7 +139,7 @@
                                    + ", i.e. build is platform dependent!" );
             }
             
-            
+
             MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution( getResources(), 
                                                                                            getOutputDirectory(),
                                                                                            project, encoding, filters,
@@ -140,6 +147,7 @@
                                                                                            session );
             mavenResourcesExecution.setEscapeString( escapeString );
             mavenResourcesExecution.setOverwrite( overwrite );
+            mavenResourcesExecution.setIncludeEmptyDirs( includeEmptyDirs );
             mavenResourcesFiltering.filterResources( mavenResourcesExecution );
         }
         catch ( MavenFilteringException e )
@@ -199,6 +207,16 @@
     {
         this.overwrite = overwrite;
     }
+
+    public boolean isIncludeEmptyDirs()
+    {
+        return includeEmptyDirs;
+    }
+
+    public void setIncludeEmptyDirs( boolean includeEmptyDirs )
+    {
+        this.includeEmptyDirs = includeEmptyDirs;
+    }
     
     
 }