Fixed the issue with reusing an existing deflated folder keeping removed files / folders alive
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
index 5ee733b..dd6c92f 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
@@ -39,6 +39,7 @@
import java.util.Set;
import java.util.regex.Pattern;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.vault.fs.api.ImportMode;
import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
@@ -84,6 +85,13 @@
private static VaultPackageAssembler create(VaultPackage vaultPackage, WorkspaceFilter filter) {
File storingDirectory = new File(TMP_DIR, vaultPackage.getFile().getName() + "-deflated");
+ if(storingDirectory.exists()) {
+ try {
+ FileUtils.deleteDirectory(storingDirectory);
+ } catch(IOException e) {
+ throw new RuntimeException("Unable to delete existing deflated folder: '" + storingDirectory + "'", e);
+ }
+ }
// avoid any possible Stream is not a content package. Missing 'jcr_root' error
File jcrRootDirectory = new File(storingDirectory, ROOT_DIR);
jcrRootDirectory.mkdirs();