diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-01-05 08:11:11 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2021-01-05 08:11:11 +0100 |
commit | 3c71de82147e1327462aea4564befab5d834e7f0 (patch) | |
tree | 90d37c6dbc3e8236e20858bca427defa63e922b4 /config-application-package/src/main/java | |
parent | 06069e0d77a03bb94888d344b1ac83bd58a5cdd6 (diff) |
Copy to temp dir and move directory
Diffstat (limited to 'config-application-package/src/main/java')
-rw-r--r-- | config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java | 9 |
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); |