aboutsummaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-01-05 08:11:11 +0100
committerHarald Musum <musum@verizonmedia.com>2021-01-05 08:11:11 +0100
commit3c71de82147e1327462aea4564befab5d834e7f0 (patch)
tree90d37c6dbc3e8236e20858bca427defa63e922b4 /config-application-package
parent06069e0d77a03bb94888d344b1ac83bd58a5cdd6 (diff)
Copy to temp dir and move directory
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
index ffc975d8668..fc93bd8b97b 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
@@ -611,11 +611,16 @@ public class FilesApplicationPackage implements ApplicationPackage {
@Override
public ApplicationPackage preprocess(Zone zone, DeployLogger logger) throws IOException {
- IOUtils.recursiveDeleteDir(preprocessedDir);
- IOUtils.copyDirectory(appDir, preprocessedDir, -1, (dir, name) -> ! name.equals(preprocessed) &&
+ File tempDir = Files.createTempDirectory("preprocessed").toFile();
+ IOUtils.copyDirectory(appDir, tempDir, -1, (dir, name) -> ! name.equals(preprocessed) &&
! name.equals(SERVICES) &&
! name.equals(HOSTS) &&
! name.equals(CONFIG_DEFINITIONS_DIR));
+ if (preprocessedDir.exists()) {
+ log.log(Level.INFO, "Preprocessed directory " + preprocessedDir.getAbsolutePath() + " already exists, deleting it");
+ IOUtils.recursiveDeleteDir(preprocessedDir);
+ }
+ Files.move(tempDir.toPath(), preprocessedDir.toPath());
preprocessXML(new File(preprocessedDir, SERVICES), getServicesFile(), zone);
preprocessXML(new File(preprocessedDir, HOSTS), getHostsFile(), zone);
FilesApplicationPackage preprocessed = FilesApplicationPackage.fromFile(preprocessedDir, includeSourceFiles);