in nuget-feed/src/jetbrains/buildServer/nuget/feed/server/index/NuGetFeed.java [123:163]
public List<NuGetIndexEntry> getUpdates(@NotNull final String packageIdsValue,
@NotNull final String versionsValue,
@NotNull final String versionConstraintsValue,
@NotNull final String targetFrameworksValue,
final boolean includePrerelease,
final boolean includeAllVersions,
final boolean includeSemVer2) {
final List<String> packageIds = StringUtil.split(packageIdsValue, VALUE_SEPARATOR);
final List<String> versions = StringUtil.split(versionsValue, VALUE_SEPARATOR);
final List<String> versionConstraints = StringUtil.split(versionConstraintsValue, VALUE_SEPARATOR);
final Set<String> targetFrameworks = new HashSet<>(StringUtil.split(targetFrameworksValue, VALUE_SEPARATOR));
if (packageIds.size() != versions.size()) {
return Collections.emptyList();
}
final List<NuGetIndexEntry> packages = new ArrayList<>();
for (int i = 0; i < packageIds.size(); i++) {
final String requestedPackageId = packageIds.get(i);
final String versionString = versions.get(i);
final SemanticVersion requestedVersion = SemanticVersion.valueOf(versionString);
if (requestedVersion == null) {
LOG.warn("Failed to create valid semantic version from string " + versionString);
continue;
}
VersionConstraint versionConstraint = null;
if (i < versionConstraints.size()) {
final String versionConstraintString = versionConstraints.get(i);
versionConstraint = VersionConstraint.valueOf(versionConstraintString);
if (versionConstraint == null) {
LOG.warn("Failed to create valid version constraint from string " + versionConstraintString);
}
}
packages.addAll(getUpdateOfPackageWithId(includeAllVersions, includePrerelease, targetFrameworks, requestedPackageId, requestedVersion, versionConstraint, includeSemVer2));
}
LOG.debug(String.format("%d updated package(s) found", packages.size()));
return packages;
}