mojo/src/main/java/org/apidesign/bck2brwsr/mojo/Bck2BrswrMojo.java
changeset 134 e79e499caac8
parent 111 92ccd639df19
child 168 1d4bf362c3a4
     1.1 --- a/mojo/src/main/java/org/apidesign/bck2brwsr/mojo/Bck2BrswrMojo.java	Tue Oct 16 17:18:37 2012 +0200
     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