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;
}
}