in nuget-server/src/jetbrains/buildServer/nuget/server/trigger/PackagesHashCalculator.java [19:48]
public String serializeHashcode(@NotNull final Collection<SourcePackageInfo> _packages) {
List<SourcePackageInfo> sorted = new ArrayList<SourcePackageInfo>(_packages);
Collections.sort(sorted, new Comparator<SourcePackageInfo>() {
public int compare(SourcePackageInfo o1, SourcePackageInfo o2) {
int i;
String s1 = o1.getSource();
String s2 = o2.getSource();
if (s1 == null && s2 != null) return 1;
if (s1 != null && s2 == null) return -1;
//noinspection ConstantConditions
if (s1 != null && s2 != null && 0 != (i = s1.compareTo(s2))) return i;
if (0 != (i = o1.getPackageId().compareTo(o2.getPackageId()))) return i;
if (0 != (i = o1.getVersion().compareTo(o2.getVersion()))) return i;
return 0;
}
});
final StringBuilder sb = new StringBuilder();
sb.append(ourVersion);
for (SourcePackageInfo info : sorted) {
String source = info.getSource();
if (source != null) {
sb.append("|s:").append(source);
}
sb.append("|p:").append(info.getPackageId());
sb.append("|v:").append(info.getVersion());
}
return sb.toString();
}