Repository: activemq-artemis
Updated Branches:
  refs/heads/master 2729bd613 -> f4235a6b9


Copy files recursively on create


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/9cae3906
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/9cae3906
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/9cae3906

Branch: refs/heads/master
Commit: 9cae390645823801045243a6da11e86a229df629
Parents: 2729bd6
Author: jbertram <[email protected]>
Authored: Wed Dec 9 15:19:23 2015 -0600
Committer: jbertram <[email protected]>
Committed: Wed Dec 16 16:00:17 2015 -0600

----------------------------------------------------------------------
 .../artemis/maven/ArtemisCreatePlugin.java      | 38 +++++++++++++-------
 1 file changed, 26 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/9cae3906/artemis-maven-plugin/src/main/java/org/apache/activemq/artemis/maven/ArtemisCreatePlugin.java
----------------------------------------------------------------------
diff --git 
a/artemis-maven-plugin/src/main/java/org/apache/activemq/artemis/maven/ArtemisCreatePlugin.java
 
b/artemis-maven-plugin/src/main/java/org/apache/activemq/artemis/maven/ArtemisCreatePlugin.java
index 39b6d8e..b8359f0 100644
--- 
a/artemis-maven-plugin/src/main/java/org/apache/activemq/artemis/maven/ArtemisCreatePlugin.java
+++ 
b/artemis-maven-plugin/src/main/java/org/apache/activemq/artemis/maven/ArtemisCreatePlugin.java
@@ -274,19 +274,9 @@ public class ArtemisCreatePlugin extends 
ArtemisAbstractPlugin {
 
             if (list != null) {
                
getLog().debug("************************************************");
-               getLog().debug("Replacing configuration files:");
+               getLog().debug("Copying configuration files:");
 
-               for (String file : configuration.list()) {
-                  Path target = instance.toPath().resolve("etc").resolve(file);
-                  getLog().debug("Replacing " + file + " into " + target);
-
-                  Path originalFile = configuration.toPath().resolve(file);
-                  Files.copy(originalFile, target, 
StandardCopyOption.REPLACE_EXISTING);
-
-                  commandLineStream.println("");
-                  commandLineStream.println("# replacing " + 
originalFile.getFileName() + " on the default configuration");
-                  commandLineStream.println("cp " + originalFile + " " + 
target);
-               }
+               copyConfigurationFiles(list, configuration.toPath(), 
instance.toPath().resolve("etc"), commandLineStream);
             }
          }
 
@@ -317,6 +307,30 @@ public class ArtemisCreatePlugin extends 
ArtemisAbstractPlugin {
       }
    }
 
+   private void copyConfigurationFiles(String[] list, Path sourcePath, Path 
targetPath, PrintStream commandLineStream) throws IOException {
+      for (String file : list) {
+         Path target = targetPath.resolve(file);
+
+         Path originalFile = sourcePath.resolve(file);
+         Files.copy(originalFile, target, StandardCopyOption.REPLACE_EXISTING);
+
+         commandLineStream.println("");
+
+         if (originalFile.toFile().isDirectory()) {
+            getLog().debug("Creating directory " + target);
+            commandLineStream.println("# creating directory " + 
originalFile.getFileName());
+            commandLineStream.println("mkdir " + target);
+
+            copyConfigurationFiles(originalFile.toFile().list(), originalFile, 
target, commandLineStream);
+         }
+         else {
+            getLog().debug("Copying " + file + " to " + target);
+            commandLineStream.println("# copying config file " + 
originalFile.getFileName());
+            commandLineStream.println("cp " + originalFile + " " + target);
+         }
+      }
+   }
+
    private String getCommandline(ArrayList<String> listCommands) {
       StringBuffer buffer = new StringBuffer();
       buffer.append(home.getAbsolutePath() + "/bin/artemis ");

Reply via email to