From 11ed432ea2dd8fae673d9ed1603c0ac0cbfebd01 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Tue, 5 Apr 2016 06:51:58 -0800 Subject: [PATCH] Minor refactorings. --- .../src/main/kotlin/com/beust/kobalt/misc/Io.kt | 8 ++++++++ .../src/main/kotlin/com/beust/kobalt/misc/JarUtils.kt | 9 +++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Io.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Io.kt index 399bde5a..6f8694a9 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Io.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/Io.kt @@ -33,6 +33,14 @@ class Io(val dryRun: Boolean = false) { } } + fun rename(from: File, to: File) { + log("rename $from $to") + moveFile(from, to.parentFile) + if (from.name != to.name) { + File(to, from.name).renameTo(to) + } + } + fun copyDirectory(from: File, toDir: File) { log("cp -r $from $toDir") diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/JarUtils.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/JarUtils.kt index 13c0ebd3..90b8aacc 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/JarUtils.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/JarUtils.kt @@ -123,9 +123,10 @@ public class JarUtils { return null } - fun extractJarFile(jarFile: File, destDir: File) { - val jar = JarFile(jarFile) - val enumEntries = jar.entries() + fun extractJarFile(file: File, destDir: File) = extractZipFile(JarFile(file), destDir) + + fun extractZipFile(zipFile: ZipFile, destDir: File) { + val enumEntries = zipFile.entries() while (enumEntries.hasMoreElements()) { val file = enumEntries.nextElement() val f = File(destDir.path + File.separator + file.name) @@ -134,7 +135,7 @@ public class JarUtils { continue } - jar.getInputStream(file).use { ins -> + zipFile.getInputStream(file).use { ins -> f.parentFile.mkdirs() FileOutputStream(f).use { fos -> while (ins.available() > 0) {