/// <summary> /// Defines the entry point of the application. /// </summary> /// <param name="args">The arguments.</param> public static void Main(string[] args) { Logger.Debug("NugetToolConsole <- Start"); // Build project info before this sprint var gitPath = "D:\\SMEE_Project\\NADAE_Sprint_4\\Implementation"; var oldBranch = "refs/heads/NADAE-M2_S004_1218"; var listOldProjectInfoModels = BuildAllProjectInfoModel(gitPath, oldBranch); //// Temp save to excel file //var nugetInfos = new List<object[]>(); //foreach (var nugetProjectChanged in listOldProjectInfoModels) //{ // nugetInfos.Add(new object[] { nugetProjectChanged.ProjectName, nugetProjectChanged.NugetVersion }); //} //// Save excel file //ExcelHelper.SaveProjectInfo("D:\\Study project\\NugetVerion.xlsx", nugetInfos); // Build list project info changed var startDat = "06/14/2018"; var endDay = "07/29/2018"; var newBranch = "refs/heads/NADAE-M2_S005_2418_Dev"; var newGitPath = "D:\\SMEE_Project\\NADAE_Sprint_5\\Implementation"; var listChangedProjectInfoModels = BuildChangedProjectInfoModel(newGitPath, newBranch, startDat, endDay); //// Temp save to excel file //var newNugetInfos = new List<object[]>(); //foreach (var nugetProjectChanged in listChangedProjectInfoModels) //{ // newNugetInfos.Add(new object[] { nugetProjectChanged.ProjectName, nugetProjectChanged.NugetVersion }); //} //// Save excel file //ExcelHelper.SaveProjectInfo("D:\\Study project\\NugetVerion1.xlsx", newNugetInfos); // Buildm latest version for project var maxVersion = "1.15.0"; var nugetVersionList = new List <NugetInfo>(); foreach (var changedProjectInfoModel in listChangedProjectInfoModels) { var nugetInfo = new NugetInfo() { NugetName = changedProjectInfoModel.ProjectName }; var oldProjectInfo = listOldProjectInfoModels.FirstOrDefault( p => string.Equals(p.ProjectName, changedProjectInfoModel.ProjectName)); if (oldProjectInfo == null) { nugetInfo.NugetVersion = changedProjectInfoModel.NugetVersion; nugetInfo.OldNugetVersion = changedProjectInfoModel.NugetVersion; nugetInfo.NeedUpgrate = !string.Equals(changedProjectInfoModel.NugetVersion, maxVersion); } else { if (string.Equals(changedProjectInfoModel.NugetVersion, oldProjectInfo.NugetVersion) && string.Equals(changedProjectInfoModel.NugetVersion, maxVersion)) { nugetInfo.NugetVersion = maxVersion; nugetInfo.OldNugetVersion = maxVersion; nugetInfo.NeedUpgrate = false; } else if (string.Equals(changedProjectInfoModel.NugetVersion, oldProjectInfo.NugetVersion) && !string.Equals(changedProjectInfoModel.NugetVersion, maxVersion)) { nugetInfo.NugetVersion = changedProjectInfoModel.NugetVersion; nugetInfo.OldNugetVersion = oldProjectInfo.NugetVersion; nugetInfo.NeedUpgrate = true; } else if (!string.Equals(changedProjectInfoModel.NugetVersion, oldProjectInfo.NugetVersion)) { nugetInfo.OldNugetVersion = VersionHelper.GetLowerVersion( changedProjectInfoModel.NugetVersion, oldProjectInfo.NugetVersion); nugetInfo.NugetVersion = VersionHelper.GetHigherVersion(changedProjectInfoModel.NugetVersion, oldProjectInfo.NugetVersion); nugetInfo.NeedUpgrate = VersionHelper.IsNeedToChangeVersion(changedProjectInfoModel.NugetVersion, oldProjectInfo.NugetVersion, maxVersion); } } nugetVersionList.Add(nugetInfo); } var latestBuild = 100; var listNugetProjectNeedToChangeds = nugetVersionList.Where(n => n.NeedUpgrate && n.NugetName.StartsWith("SMEE.")).ToList(); foreach (var nugetProjectNeedToChanged in listNugetProjectNeedToChangeds) { nugetProjectNeedToChanged.NugetVersionNeedToUpgrate = VersionHelper.BuildLatestNugetVersion(nugetProjectNeedToChanged.NugetVersion); nugetProjectNeedToChanged.AssemblyVersionNeedToUpgrate = $"{nugetProjectNeedToChanged.NugetVersionNeedToUpgrate}.{latestBuild + 1}"; } var nugetVersionInfos = new List <object[]>(); foreach (var nugetVersionInfo in listNugetProjectNeedToChangeds) { nugetVersionInfos.Add(new object[] { nugetVersionInfo.NugetName, nugetVersionInfo.OldNugetVersion, nugetVersionInfo.NugetVersion, nugetVersionInfo.NeedUpgrate, nugetVersionInfo.NugetVersionNeedToUpgrate, nugetVersionInfo.AssemblyVersionNeedToUpgrate }); } // Save excel file ExcelHelper.SaveProjectInfo("D:\\Study project\\NugetVerion.xlsx", nugetVersionInfos); Logger.Debug("NugetToolConsole -> End"); }