private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { GitTagProvider.Dispose(); } disposedValue = true; } }
public void Execute() { TagVersionInfo currentVersion = null; string versionChangePattern = null; if (IsInHotfixBranch()) { currentVersion = GetHotFixVersion(); versionChangePattern = Task.HotfixVersionPattern; } if (currentVersion == null) { currentVersion = GetMasterVersion(); } if (string.IsNullOrWhiteSpace(versionChangePattern)) { versionChangePattern = Task.MasterVersionPattern; } if (currentVersion == null) { currentVersion = new TagVersionInfo(null, CreateDefaultVersion()); } ChangeVersionParser parser = new ChangeVersionParser(versionChangePattern, Task); NewVersion = new Version(parser.ChangeVersion(currentVersion.Version.ToString())); TagName = BuildVersionTag(GitTagProvider.CurrentBranchName, NewVersion.ToString()); if (!string.IsNullOrWhiteSpace(currentVersion.TagName)) { Task.ReleaseNotes = GitTagProvider.GetDescriptionsSinceTag(currentVersion.TagName); } }
private TagVersionInfo FindLastVersion(string branchName) { var prefix = BuildVersionTag(branchName, string.Empty); return(GitTagProvider.GetTags().Select(t => new TagVersionInfo(t, GetVersionFromTag(t, prefix))).FirstOrDefault(v => v.Version != null)); }