X-Git-Url: http://git.megacz.com/?p=wix.git;a=blobdiff_plain;f=src%2FHaskellHelper.java;h=a9efb30eeb3dd4a4079bd27dfb02ccaa4b9a118f;hp=753c5b8e0cb7a3e3d9731af69d8e44b055a0a045;hb=d60804399a886f1dc26f0f22fc066ba0dd49dc16;hpb=78cfe8113affda63fdb4ea2ef607f0b8e3ee1139 diff --git a/src/HaskellHelper.java b/src/HaskellHelper.java index 753c5b8..a9efb30 100644 --- a/src/HaskellHelper.java +++ b/src/HaskellHelper.java @@ -79,7 +79,32 @@ public class HaskellHelper { process(indir, suffix + File.separatorChar + s, outdir); return; } - if (f.getPath().endsWith(".wix")) { + if (!f.getPath().endsWith(".wix")) { + boolean skip = false; + if (f.getName().equals(".DS_Store")) skip = true; + if (f.getName().endsWith("-")) skip = true; + if (!skip) { + File dest = new File(outdir.getAbsolutePath()+File.separatorChar+suffix); + if (dest.exists() && dest.lastModified()==f.lastModified() && dest.length()==f.length()) { + System.out.println(ANSI.yellow("no change: "+f.getPath())); + return; + } + System.out.println(ANSI.green("copying: "+f.getPath())); + File dest_ = new File(outdir.getAbsolutePath()+File.separatorChar+suffix+"-"); + FileOutputStream fos = new FileOutputStream(dest_); + FileInputStream fis = new FileInputStream(f); + byte[] buf = new byte[1024]; + while(true) { + int numread = fis.read(buf, 0, buf.length); + if (numread==-1) break; + fos.write(buf, 0, numread); + } + fos.close(); + fis.close(); + dest_.renameTo(dest); + dest.setLastModified(f.lastModified()); + } + } else { String out = "== " + suffix + " "; while(out.length() < 75) out+="="; System.out.println(ANSI.yellow(out));