X-Git-Url: http://git.megacz.com/?p=wix.git;a=blobdiff_plain;f=src%2FHaskellHelper.java;h=753c5b8e0cb7a3e3d9731af69d8e44b055a0a045;hp=daa4fe6e4d4d341c861f360f1d6d2ceeb836ddd3;hb=6df648a7ec73e4acdfa9bfd77990e0a4b0fe51fd;hpb=c8eb19eb8ebd2556050ab08a6476c8413af64435 diff --git a/src/HaskellHelper.java b/src/HaskellHelper.java index daa4fe6..753c5b8 100644 --- a/src/HaskellHelper.java +++ b/src/HaskellHelper.java @@ -1,4 +1,6 @@ -// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license +// Copyright 2008 the Contributors, as shown in the revision logs. +// Licensed under the Apache Public Source License 2.0 ("the License"). +// You may not use this file except in compliance with the License. import edu.berkeley.sbp.*; import edu.berkeley.sbp.misc.*; @@ -61,11 +63,16 @@ public class HaskellHelper { } File indir = new File(argv[0]); File outdir = new File(argv[1]); - process(indir, "", outdir); + if (!indir.isDirectory()) { + process(new File(indir.getParent()), indir.getName(), outdir); + } else { + process(indir, "", outdir); + } } private static void process(File indir, String suffix, File outdir) throws Throwable { - File f = new File(indir.getAbsolutePath()+suffix); + File f = new File(indir.getAbsolutePath()+File.separatorChar+suffix); + //System.out.println(f+" "+indir + " " + suffix + " " + outdir); if (!f.exists()) return; if (f.isDirectory()) { for (String s : f.list()) @@ -73,15 +80,16 @@ public class HaskellHelper { return; } if (f.getPath().endsWith(".wix")) { - System.out.println(); String out = "== " + suffix + " "; while(out.length() < 75) out+="="; System.out.println(ANSI.yellow(out)); + //System.out.println(); + String outPath = outdir.getAbsolutePath()+File.separatorChar+suffix; + outPath = outPath.substring(0, outPath.length()-".wix".length())+".html"; + if (new File(outPath).exists() && new File(outPath).lastModified() > f.lastModified()) return; Class.forName("Main"). getMethod("main", new Class[] { String[].class }). invoke(null, new Object[] { new String[] { f.getAbsolutePath() } }); - String outPath = outdir.getAbsolutePath()+suffix; - outPath = outPath.substring(0, outPath.length()-".wix".length())+".html"; new File(new File(outPath).getParent()).mkdirs(); PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(outPath+"+"))); pw.println(ret); @@ -110,6 +118,8 @@ public class HaskellHelper { } } new File(outPath+"+").renameTo(dest); + if (dest.lastModified() <= f.lastModified()) + dest.setLastModified(f.lastModified()+1); } }