[FELIX-4714] Sort files alphabetically

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1720111 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
index 7fad43a..5b86311 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
@@ -22,10 +22,13 @@
 import java.io.File;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeSet;
 import java.util.regex.Pattern;
 import java.util.zip.CRC32;
 
@@ -124,15 +127,16 @@
     public Set<File> scan(boolean reportImmediately)
     {
         File[] list = directory.listFiles(filter);
-        if (list == null)
-        {
-            return null;
-        }
-        return processFiles(reportImmediately, list);
+        Set<File> files = processFiles(reportImmediately, list);
+        return new TreeSet<>(files);
     }
 
     private Set<File> processFiles(boolean reportImmediately, File[] list)
     {
+        if (list == null)
+        {
+            return new HashSet<>();
+        }
         Set<File> files = new HashSet<File>();
         Set<File> removed = new HashSet<File>(storedChecksums.keySet());
         for (File file : list)