+ 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 {