Mercurial > hg > mercurial
view mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java @ 509:94974e3482f6 Faradi-7.1.x
TW-24405 create unique temp dirs
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Mon, 12 Nov 2012 21:15:44 +0400 |
parents | 892f95a0f82d |
children | 3eb02fd5fd78 |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import com.intellij.openapi.diagnostic.Logger; import jetbrains.buildServer.util.FileUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.IOException; /** * @author dmitry.neverov */ public final class HgFileUtil { private final static String TEMP_DIR_PREFIX = "hg"; private HgFileUtil() { } /** * Create a temp dir with short name * @return created dir * @throws IOException in case of I/O error */ public static File createTempDir() throws IOException { File parentDir = new File(FileUtil.getTempDirectory()); int suffix = 0; File dir; do { suffix++; dir = new File(parentDir, TEMP_DIR_PREFIX + suffix); } while (dir.exists() || !dir.createNewFile()); dir.delete(); dir.mkdir(); return dir; } public static void deleteDir(@Nullable File dir, @NotNull Logger logger) { if (dir == null) return; boolean dirDeleted = FileUtil.delete(dir); if (!dirDeleted) logger.warn("Cannot delete directory " + dir.getAbsolutePath()); } }