public void SetUpdateInfoPanel(UpdateInfo lastUpdate, UpdateInfo info) { if (info.summary != null) { summaryLabel.Text = info.summary; versionLabel.Text = "Version " + VersionFormatter.ToString(info.version) + " - " + info.ReleaseDate.ToString("MMMM dd, yyyy"); } else { summaryLabel.Text = "Version " + VersionFormatter.ToString(info.version); versionLabel.Text = "Released on " + info.ReleaseDate.ToString("MMMM dd, yyyy"); } notesTextBox.Text = info.changeLog; FileDiffListItem[] diff; if (lastUpdate != null) { diff = GetUpdateFilesDiff(lastUpdate, info); } else { diff = new FileDiffListItem[info.fileChecksums.Count]; for (int i = 0; i < diff.Length; i++) { diff[i] = new FileDiffListItem(info.fileChecksums.Keys.ElementAt(i), FileDiffListItem.FileState.ADDED); } } SetFileChangesList(diff); }
private int GetDecimalPlaces(double argument) { if (Math.Floor(argument) == argument) { return(0); } string numberString = VersionFormatter.ToString(argument); return(numberString.Substring(numberString.IndexOf(".") + 1).Length); }
private static double GetDecimalIncrement(int decimalPlaces) { string resultString = "0."; for (int i = 0; i < decimalPlaces - 1; i++) { resultString = resultString + "0"; } resultString = resultString + "1"; return(VersionFormatter.FromString(resultString)); }
/// <summary> /// Returns the normalized version identity. This does not contain metadata since /// it is not part of the actual package identity. /// </summary> public static string ToIdentityString(this SemanticVersion version) { var formatter = new VersionFormatter(); var format = "V"; if (version.IsPrerelease) { format += "-R"; } return(version.ToString(format, formatter)); }
public void FormatComplexTest(string versionString, string expected) { // arrange var formatter = new VersionFormatter(); var version = NuGetVersion.Parse(versionString); // act var s = String.Format(formatter, "{0:x}.{0:x}.{0:y}.{0:z}.{0:r}({0:M})*{0:R}: {0:V}", version, version, version, version, version, version, version, version); var s2 = version.ToString("x.x.y.z.r(M)*R: V", formatter); // assert Assert.Equal(expected, s); Assert.Equal(expected, s2); }
public void FormatVersionTest(string versionString, string expected) { // arrange var formatter = new VersionFormatter(); var version = NuGetVersion.Parse(versionString); // act var s = String.Format(formatter, "{0:V}", version); var s2 = version.ToString("V", formatter); // assert Assert.Equal(expected, s); Assert.Equal(expected, s2); }
public void FormatReleaseTest(string versionString, string expected) { // arrange VersionFormatter formatter = new VersionFormatter(); NuGetVersion version = NuGetVersion.Parse(versionString); // act string s = String.Format(formatter, "{0:R}", version); string s2 = version.ToString("R", formatter); // assert Assert.Equal(expected, s); Assert.Equal(expected, s2); }
private UpdateInfo[] LoadUpdates(string folder, AppInfo info) { string versionsFolder = Path.Combine(folder, info.downloadBaseDir); UpdateInfo[] updates = new UpdateInfo[info.versions.Length]; for (int i = 0; i < info.versions.Length; i++) { double cur = info.versions[i]; string curVersionFolder = Path.Combine(versionsFolder, VersionFormatter.ToString(cur)); string infoFile = Path.Combine(curVersionFolder, "info.json"); updates[i] = UpdateInfo.FromJson(File.ReadAllText(infoFile)); } return(updates); }
public override void PublishUpdate(Project project, UpdateInfo newUpdate) { string updateVersion = VersionFormatter.ToString(newUpdate.version); AppInfo appInfo; string appInfoFile = Path.Combine(targetFolder, "appinfo.json"); if (!File.Exists(appInfoFile)) { appInfo = new AppInfo(); appInfo.appId = project.AppID; appInfo.versions = project.GetVersionNumbers(); appInfo.downloadBaseDir = "versions"; Directory.CreateDirectory(Path.Combine(targetFolder, "versions")); File.WriteAllText(appInfoFile, appInfo.ToJson()); } else { appInfo = AppInfo.FromJson(File.ReadAllText(appInfoFile)); } if (appInfo.versions.Contains(newUpdate.version)) { throw new PublishingFailedException("Version " + updateVersion + " already exists."); } string versionsFolder = Path.Combine(targetFolder, appInfo.downloadBaseDir); string newVersionFolder = Path.Combine(versionsFolder, updateVersion); string newVersionFilesFolder = Path.Combine(newVersionFolder, "dl"); if (Directory.Exists(newVersionFolder)) { throw new PublishingFailedException("The destination folder for this version already exists!"); } else { Directory.CreateDirectory(newVersionFilesFolder); } string infoFile = Path.Combine(newVersionFolder, "info.json"); File.WriteAllText(infoFile, newUpdate.ToJson()); CopyAllInFolder(project.ProjectFolder, newVersionFilesFolder); appInfo.versions = appInfo.versions.Concat(new double[] { newUpdate.version }).ToArray(); File.WriteAllText(appInfoFile, appInfo.ToJson()); }
public ActionResult GetHistory(string metaViewName, Guid id) { if (!SecurityCache.ViewCan(metaViewName, SecurityPermissionBaseTypeEnum.View)) { return(new ContentResult { ContentType = "text/html", Content = DynamicEntityJSONDataSource.GetNotSuccess(WsFactory.GetŠccessDeniedPage()) }); } return(new ContentResult { ContentType = "text/html", Content = VersionFormatter.GetObjectHistoryInHtml(id) }); }
/// <summary> /// Returns the display version, this contains metadata and is not unique /// to the package identity. /// </summary> public static string ToFullVersionString(this SemanticVersion version) { var formatter = new VersionFormatter(); var format = "V"; if (version.IsPrerelease) { format += "-R"; } // TODO: re-add this once NuGet properly supports SemVer 2.0.0 metadata. //if (version.HasMetadata) //{ // format += "+M"; //} return(version.ToString(format, formatter)); }
private void publishUpdateButton_Click(object sender, EventArgs e) { newUpdateInfo.summary = summaryTextBox.Text; newUpdateInfo.version = VersionFormatter.FromString(versionTextBox.Text); newUpdateInfo.changeLog = newNotesTextBox.Text; newUpdateInfo.ReleaseDate = DateTime.UtcNow; try { project.PublishUpdate(newUpdateInfo); } catch (PublishingFailedException ex) { MessageBox.Show(ex.Message, "Failed to publish update", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception ex) { string message = "An exception occured while trying to publish the update: " + ex.Message + Environment.NewLine + "Stacktrace:" + Environment.NewLine + ex.StackTrace; MessageBox.Show(message, "Failed to publish update", MessageBoxButtons.OK, MessageBoxIcon.Error); } parentPage.RefreshUpdateList(); parentPage.SelectUpdate(0); }
private void SetUpdateList(UpdateInfo[] updatesUnsorted) { updatesList.Clear(); if (updatesUnsorted == null) { return; } updates = updatesUnsorted.OrderByDescending(update => update.version); foreach (UpdateInfo cur in updates) { if (cur.summary == null) { updatesList.Items.Add("Version " + VersionFormatter.ToString(cur.version)); } else { updatesList.Items.Add(cur.summary); } updatesList.ItemSubTexts.Add(DateTools.GetSimpleDateRepresentation(cur.ReleaseDate)); } }
public void LoadUpdateChanges() { versionTextBox.Text = VersionFormatter.ToString(GetNextVersionNumber()); }