You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sa...@apache.org on 2011/12/04 10:13:06 UTC

svn commit: r1210082 - /axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin/src/main/java/org/apache/axis2/maven2/aar/AbstractAarMojo.java

Author: sagara
Date: Sun Dec  4 09:13:06 2011
New Revision: 1210082

URL: http://svn.apache.org/viewvc?rev=1210082&view=rev
Log:
Applied the patch for AXIS2-5206.

Modified:
    axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin/src/main/java/org/apache/axis2/maven2/aar/AbstractAarMojo.java

Modified: axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin/src/main/java/org/apache/axis2/maven2/aar/AbstractAarMojo.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin/src/main/java/org/apache/axis2/maven2/aar/AbstractAarMojo.java?rev=1210082&r1=1210081&r2=1210082&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin/src/main/java/org/apache/axis2/maven2/aar/AbstractAarMojo.java (original)
+++ axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin/src/main/java/org/apache/axis2/maven2/aar/AbstractAarMojo.java Sun Dec  4 09:13:06 2011
@@ -24,6 +24,8 @@ import org.apache.maven.artifact.resolve
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 
@@ -240,16 +242,29 @@ public abstract class AbstractAarMojo
      *                                       TO DO: Remove this method when Maven moves to
      *                                       plexus-utils version 1.4
      */
-    private void copyFileIfModified(File source, File destination)
-            throws IOException {
-        // TO DO: Remove this method and use the method in WarFileUtils when Maven 2 changes
-        // to plexus-utils 1.2.
-        if (destination.lastModified() < source.lastModified()) {
-            FileUtils.copyFile(source.getCanonicalFile(), destination);
-            // preserve timestamp
-            destination.setLastModified(source.lastModified());
-        }
-    }
+	private void copyFileIfModified(File source, File destination)
+			throws IOException {
+		// TO DO: Remove this method and use the method in WarFileUtils when
+		// Maven 2 changes
+		// to plexus-utils 1.2.
+		if (destination.lastModified() < source.lastModified()) {
+			if (source.isDirectory()) {
+				JarArchiver jarArchiver = new JarArchiver();
+				try {
+					jarArchiver.setDestFile(destination);
+					jarArchiver.addDirectory(source.getCanonicalFile());
+					jarArchiver.createArchive();
+				} catch (ArchiverException e) {
+					// wrap ArchiverException in IOException
+					throw new IOException(e);
+				}
+			} else {
+				FileUtils.copyFile(source.getCanonicalFile(), destination);
+				// preserve timestamp
+				destination.setLastModified(source.lastModified());
+			}
+		}
+	}
 
     private void copyFileSet(FileSet fileSet, File targetDirectory)
             throws IOException {