Fixed bug regarding the skipping of unmodified builds
authorKai Moritz <kai@juplo.de>
Mon, 21 Dec 2015 16:01:42 +0000 (17:01 +0100)
committerKai Moritz <kai@juplo.de>
Mon, 7 Mar 2016 13:20:10 +0000 (14:20 +0100)
If a property or class was removed, its value or md5sum stayed in the set
of md5sums, so that each following build (without a clean) was juged as
modified.

src/main/java/de/juplo/plugins/hibernate/ModificationTracker.java

index d9ce624..f103ad1 100644 (file)
@@ -126,10 +126,18 @@ public class ModificationTracker
 
   boolean modified()
   {
-    modified |= !propertyNames.containsAll(properties.keySet());
-    modified |= !properties.keySet().containsAll(propertyNames);
-    modified |= !classNames.containsAll(classes.keySet());
-    modified |= !classes.keySet().containsAll(classNames);
+    for (String property : properties.keySet())
+      if (!propertyNames.contains(property))
+      {
+        modified = true;
+        properties.remove(property);
+      }
+    for (String clazz : classes.keySet())
+      if (!classNames.contains(clazz))
+      {
+        modified = true;
+        classes.remove(clazz);
+      }
     return modified;
   }