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();
