From 36a10dbbe633dfa6afabd61b3a9f8cb9a8f91fe2 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 10 Feb 2012 18:48:19 +0000 Subject: [PATCH] Add clean option to VersionedDirSync git-svn-id: https://svn.argeo.org/slc/trunk@5045 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/core/deploy/VersionedDirSync.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/deploy/VersionedDirSync.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/deploy/VersionedDirSync.java index 212eb367c..7199b0ef3 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/deploy/VersionedDirSync.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/deploy/VersionedDirSync.java @@ -17,9 +17,12 @@ package org.argeo.slc.core.deploy; import java.io.File; +import java.io.IOException; +import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.slc.SlcException; import org.argeo.slc.deploy.VersioningDriver; /** @@ -32,8 +35,18 @@ public class VersionedDirSync implements Runnable { private VersioningDriver versioningDriver; private File dir; private String url; + private Boolean clean = false; public void run() { + if (clean) { + try { + FileUtils.deleteDirectory(dir); + } catch (IOException e) { + throw new SlcException("Cannot delete checkout directory " + + dir, e); + } + dir.mkdirs(); + } versioningDriver.checkout(url, dir, true); if (log.isDebugEnabled()) log.debug("Synchronized " + url + " to " + dir); @@ -51,4 +64,9 @@ public class VersionedDirSync implements Runnable { this.url = url; } + /** Delete before checkout */ + public void setClean(Boolean clean) { + this.clean = clean; + } + } -- 2.39.2