public string GetLatestVersion(bool ignorePrerelease) { IEnumerable <string> allVersions = null; if (DirectoryProxy.Exists(NugetSource)) { var paketPrefix = "paket."; allVersions = DirectoryProxy. EnumerateFiles(NugetSource, "paket.*.nupkg", SearchOption.TopDirectoryOnly). Select(x => Path.GetFileNameWithoutExtension(x)). // If the specified character isn't a digit, then the file // likely contains the bootstrapper or paket.core Where(x => x.Length > paketPrefix.Length && Char.IsDigit(x[paketPrefix.Length])). Select(x => x.Substring(paketPrefix.Length)); } else { var apiHelper = new NugetApiHelper(PaketNugetPackageName, NugetSource); var versionRequestUrl = apiHelper.GetAllPackageVersions(!ignorePrerelease); var versions = WebRequestProxy.DownloadString(versionRequestUrl); allVersions = versions. Trim('[', ']'). Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries). Select(x => x.Trim('"')); } var latestVersion = allVersions. Select(SemVer.Create). Where(x => !ignorePrerelease || (x.PreRelease == null)). OrderBy(x => x). LastOrDefault(x => !String.IsNullOrWhiteSpace(x.Original)); return(latestVersion != null ? latestVersion.Original : String.Empty); }
private string GetLatestStable() { var data = WebRequestProxy.DownloadString(Constants.PaketReleasesLatestUrl); var title = data.Substring(data.IndexOf("<title>") + 7, (data.IndexOf("</title>") + 8) - (data.IndexOf("<title>") + 7)); // grabs everything in the <title> tag var version = title.Split(' ')[1]; // Release, 1.34.0, etc, etc, etc <-- the release number is the second part fo this split string return(version); }
protected override PaketHashFile DownloadHashFileCore(string latestVersion) { var url = string.Format(Constants.PaketCheckSumDownloadUrlTemplate, latestVersion); ConsoleImpl.WriteInfo("Starting download from {0}", url); var content = WebRequestProxy.DownloadString(url); return(PaketHashFile.FromString(content)); }
private string GetLatestPrerelease() { var data = WebRequestProxy.DownloadString(Constants.PaketReleasesUrl); return(GetVersions(data).FirstOrDefault(s => s.Contains("-"))); }