You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2021/12/31 12:41:46 UTC

[karaf] branch karaf-4.3.x updated: [KARAF-7304] Introduce cleanall startup argument

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch karaf-4.3.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.3.x by this push:
     new 5ffcf94  [KARAF-7304] Introduce cleanall startup argument
5ffcf94 is described below

commit 5ffcf942690b31aa7db59b888d478303083bbd2f
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Fri Dec 31 11:48:44 2021 +0100

    [KARAF-7304] Introduce cleanall startup argument
    
    (cherry picked from commit 95f840c3b35732a5271d284502a265f6da57e8ea)
---
 main/src/main/java/org/apache/karaf/main/Main.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/main/src/main/java/org/apache/karaf/main/Main.java b/main/src/main/java/org/apache/karaf/main/Main.java
index a5f6bf3..0793861 100644
--- a/main/src/main/java/org/apache/karaf/main/Main.java
+++ b/main/src/main/java/org/apache/karaf/main/Main.java
@@ -235,7 +235,9 @@ public class Main {
     }
 
     public void launch() throws Exception {
-        if (Arrays.asList(args).contains("clean")) {
+        boolean clean = Arrays.asList(args).contains("clean");
+        boolean cleanall = Arrays.asList(args).contains("cleanall");
+        if (clean || cleanall) {
             // clean instance
             final Path dataDir = new File(System.getProperty(ConfigProperties.PROP_KARAF_DATA)).toPath();
             final Path logDir = new File(System.getProperty(ConfigProperties.PROP_KARAF_LOG)).toPath();
@@ -244,14 +246,14 @@ public class Main {
                     Files.walkFileTree(dataDir, new SimpleFileVisitor<Path>() {
                         @Override
                         public FileVisitResult visitFile(final Path file, final BasicFileAttributes attributes) throws IOException {
-                            if (!file.startsWith(logDir)) {
+                            if (cleanall || (clean && !file.startsWith(logDir))) {
                                 Files.delete(file);
                             }
                             return super.visitFile(file, attributes);
                         }
                         @Override
                         public FileVisitResult postVisitDirectory(final Path dir, final IOException exception) throws IOException {
-                            if (dir.compareTo(logDir) != 0) {
+                            if (cleanall || (clean && dir.compareTo(logDir) != 0)) {
                                 Files.delete(dir);
                             }
                             return super.postVisitDirectory(dir, exception);