public static PackageStatus GetStatus(Package package, PackageNuGetInfo packageNuGetInfo) { var status = new PackageStatus(package, packageNuGetInfo); foreach (var version in packageNuGetInfo.Versions) { if (status.LatestVersion == null) { status.LatestVersion = version; } if (status.StableVersion == null && !version.IsPrerelease) { status.StableVersion = version; } if (status.WantedVersion == null && version.Major == package.CurrentVersion.Major && (package.CurrentVersion.IsPrerelease || !version.IsPrerelease)) { status.WantedVersion = version; } if (status.LatestVersion != null && status.StableVersion != null && status.WantedVersion != null) { break; } } if (status.WantedVersion == null) { status.WantedVersion = package.CurrentVersion; } return(status); }
private PackageStatus(Package package, PackageNuGetInfo packageNuGetInfo) { Package = package; PackageNuGetInfo = packageNuGetInfo; }