in agent/src/jetbrains/buildServer/swabra/snapshots/iteration/FileSystemFilesIterator.java [106:129]
private FileInfo processFolder(File folder, boolean createFileInfo) throws IOException{
if (!folder.exists()){
return null;
}
final File[] files = folder.listFiles();
if (files == null) {
throw new IOException("Failed to get folder content for: " + folder);
}
final List<File> filesList = Arrays.asList(files);
Collections.sort(filesList, new Comparator<File>() {
public int compare(File o1, File o2) {
final int res = FilesComparator.compareByType(o1.isFile(), o2.isFile());
return res == 0 ? o1.getName().compareTo(o2.getName()) : res;
}
});
myIterators.push(filesList.iterator());
if (myVerboseLogging){
LOG.info(String.format("Processing '%s'. It has %d files and folders", folder.getAbsolutePath(), files.length));
}
if (createFileInfo)
return createFileInfo(folder);
else
return null;
}