Repository: karaf
Updated Branches:
  refs/heads/karaf-3.0.x a488bc7c2 -> d0856f40f


KARAF-4318 - Prepare the assembly before archiving


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d0856f40
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d0856f40
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d0856f40

Branch: refs/heads/karaf-3.0.x
Commit: d0856f40f10ec238709d1e4cb97f0c88c8960c56
Parents: a488bc7
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Fri Feb 5 16:19:26 2016 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Fri Feb 5 16:19:26 2016 +0100

----------------------------------------------------------------------
 tooling/karaf-maven-plugin/pom.xml              |  4 +++
 .../tooling/instances/CreateArchiveMojo.java    | 27 ++++++++++++--------
 2 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/d0856f40/tooling/karaf-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/pom.xml 
b/tooling/karaf-maven-plugin/pom.xml
index ed0c8ed..0cf9242 100644
--- a/tooling/karaf-maven-plugin/pom.xml
+++ b/tooling/karaf-maven-plugin/pom.xml
@@ -170,6 +170,10 @@
           <artifactId>xbean-finder-shaded</artifactId>
         </dependency>
         <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/karaf/blob/d0856f40/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/instances/CreateArchiveMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/instances/CreateArchiveMojo.java
 
b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/instances/CreateArchiveMojo.java
index 462d1ac..972b449 100644
--- 
a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/instances/CreateArchiveMojo.java
+++ 
b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/instances/CreateArchiveMojo.java
@@ -20,6 +20,10 @@ package org.apache.karaf.tooling.instances;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
 
 import org.apache.karaf.tooling.utils.MojoSupport;
 import org.apache.tools.ant.Project;
@@ -32,6 +36,7 @@ import org.apache.tools.ant.types.ZipFileSet;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.tools.ant.util.FileUtils;
 
 /**
  * Package a server archive from an assembled server
@@ -85,6 +90,15 @@ public class CreateArchiveMojo extends MojoSupport {
     private boolean archiveZip = true;
 
     public void execute() throws MojoExecutionException, MojoFailureException {
+        getLog().debug("Preparing assembly");
+        File outputDirectory = new 
File(this.project.getBuild().getOutputDirectory());
+        if (outputDirectory.exists()) {
+            try {
+                org.apache.commons.io.FileUtils.copyDirectory(outputDirectory, 
targetServerDirectory);
+            } catch (Exception e) {
+                throw new MojoExecutionException("Can't prepare assembly", e);
+            }
+        }
         getLog().debug("Setting artifact file: " + targetFile);
         org.apache.maven.artifact.Artifact artifact = project.getArtifact();
         artifact.setFile(targetFile);
@@ -130,6 +144,9 @@ public class CreateArchiveMojo extends MojoSupport {
     }
 
     private <T extends ArchiveFileSet> void populateArchive(Archiver<T> 
archiver, File source, String serverName) {
+
+        System.out.println("Source " + source.getAbsolutePath());
+
         Project project = new Project();
         T fileSet = archiver.createFileSet();
         fileSet.setDir(source);
@@ -154,16 +171,6 @@ public class CreateArchiveMojo extends MojoSupport {
         fileSet.setIncludes("bin/*.bat");
         archiver.add(fileSet);
 
-        File outputDirectory = new 
File(this.project.getBuild().getOutputDirectory());
-        if (outputDirectory.exists()) {
-            fileSet = archiver.createFileSet();
-            fileSet.setPrefix(serverName);
-            fileSet.setDir(outputDirectory);
-            fileSet.setProject(project);
-            fileSet.setExcludes("**/*.class");
-            archiver.add(fileSet);
-        }
-
         MatchingTask task = archiver.getTask();
         task.setProject(project);
         task.execute();

Reply via email to