1.1 --- a/mojo/src/main/java/org/apidesign/bck2brwsr/mojo/Bck2BrswrMojo.java Wed Oct 31 15:43:39 2012 +0100
1.2 +++ b/mojo/src/main/java/org/apidesign/bck2brwsr/mojo/Bck2BrswrMojo.java Wed Oct 31 16:54:42 2012 +0100
1.3 @@ -64,9 +64,11 @@
1.4 }
1.5
1.6 List<String> arr = new ArrayList<String>();
1.7 - collectAllClasses("", classes, arr);
1.8 + long newest = collectAllClasses("", classes, arr);
1.9
1.10 -
1.11 + if (javascript.lastModified() > newest) {
1.12 + return;
1.13 + }
1.14
1.15 try {
1.16 URLClassLoader url = buildClassLoader(classes, prj.getDependencyArtifacts());
1.17 @@ -93,14 +95,22 @@
1.18 return dir;
1.19 }
1.20
1.21 - private static void collectAllClasses(String prefix, File toCheck, List<String> arr) {
1.22 + private static long collectAllClasses(String prefix, File toCheck, List<String> arr) {
1.23 File[] files = toCheck.listFiles();
1.24 if (files != null) {
1.25 + long newest = 0L;
1.26 for (File f : files) {
1.27 - collectAllClasses(prefix + f.getName() + "/", f, arr);
1.28 + long lastModified = collectAllClasses(prefix + f.getName() + "/", f, arr);
1.29 + if (newest < lastModified) {
1.30 + newest = lastModified;
1.31 + }
1.32 }
1.33 + return newest;
1.34 } else if (toCheck.getName().endsWith(".class")) {
1.35 arr.add(prefix.substring(0, prefix.length() - 7));
1.36 + return toCheck.lastModified();
1.37 + } else {
1.38 + return 0L;
1.39 }
1.40 }
1.41