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 2013/06/12 13:49:27 UTC

svn commit: r1492158 - /maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java

Author: olamy
Date: Wed Jun 12 11:49:26 2013
New Revision: 1492158

URL: http://svn.apache.org/r1492158
Log:
[MWAR-192] Conflict with workspace resoutlion in m2eclipse
Submitted by jurevert.

Modified:
    maven/plugins/trunk/maven-war-plugin/src/main/java/org/apache/maven/plugin/war/packaging/AbstractWarPackagingTask.java

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=1492158&r1=1492157&r2=1492158&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 Wed Jun 12 11:49:26 2013
@@ -32,6 +32,7 @@ import org.apache.maven.plugin.war.util.
 import org.apache.maven.shared.filtering.MavenFilteringException;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.UnArchiver;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
 import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
 import org.codehaus.plexus.interpolation.InterpolationException;
 import org.codehaus.plexus.util.DirectoryScanner;
@@ -93,10 +94,10 @@ public abstract class AbstractWarPackagi
             {
                 destinationFileName = targetPrefix + fileToCopyName;
             }
-            
+
 
             if ( filtered
-                && !context.isNonFilteredExtension( sourceFile.getName() ) ) 
+                && !context.isNonFilteredExtension( sourceFile.getName() ) )
             {
                 copyFilteredFile( sourceId, context, sourceFile, destinationFileName );
             }
@@ -301,10 +302,28 @@ public abstract class AbstractWarPackagi
         }
         else
         {
-            FileUtils.copyFile( source.getCanonicalFile(), destination );
-            // preserve timestamp
-            destination.setLastModified( source.lastModified() );
-            context.getLog().debug( " + " + targetFilename + " has been copied." );
+            if(source.isDirectory())
+            {
+	            context.getLog().warn( " + " + targetFilename + " is packaged from the source folder" );
+
+	            try {
+					JarArchiver archiver = context.getJarArchiver();
+					archiver.addDirectory(source);
+					archiver.setDestFile(destination);
+					archiver.createArchive();
+				} catch (ArchiverException e) {
+		            String msg = "Failed to create " + targetFilename;
+					context.getLog().error( msg, e );
+					throw new RuntimeException(msg, e);
+				}
+            }
+            else
+            {
+	        	FileUtils.copyFile( source.getCanonicalFile(), destination );
+	            // preserve timestamp
+	            destination.setLastModified( source.lastModified() );
+	            context.getLog().debug( " + " + targetFilename + " has been copied." );
+            }
             return true;
         }
     }