From f5fcda9490e372aa9d7e2520363229be60e1db34 Mon Sep 17 00:00:00 2001 From: Thog Date: Sun, 14 Aug 2016 16:22:45 +0200 Subject: Make sure to rewrite all the mapping files --- .../enigma/mapping/MappingsEnigmaWriter.java | 28 ++++++++++------------ 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java b/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java index a3b0616..ba0720a 100644 --- a/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java +++ b/src/main/java/cuchaz/enigma/mapping/MappingsEnigmaWriter.java @@ -30,10 +30,23 @@ public class MappingsEnigmaWriter { writeAsDirectory(out, mappings); } + private void deleteDir(File file) { + File[] contents = file.listFiles(); + if (contents != null) { + for (File f : contents) { + deleteDir(f); + } + } + file.delete(); + } + public void writeAsDirectory(File target, Mappings mappings) throws IOException { + //TODO: Know what have changes during write to not rewrite all the things + deleteDir(target); if (!target.exists() && !target.mkdirs()) throw new IOException("Cannot create mapping directory!"); + for (ClassMapping classMapping : sorted(mappings.classes())) { File obFile = new File(target, classMapping.getObfFullName() + ".mapping"); File result; @@ -55,21 +68,6 @@ public class MappingsEnigmaWriter { outputWriter.close(); } - // Remove empty directories - File[] fileList = target.listFiles(); - if (fileList != null) - { - for (File file : fileList) - { - if (file.isDirectory()) - { - File[] childFiles = file.listFiles(); - if (childFiles != null && childFiles.length == 0) - file.delete(); - } - } - } - } public void write(PrintWriter out, Mappings mappings) throws IOException { -- cgit v1.2.3