public void CreateNewVersion(string version) { if (version[0] == 'v') { Console.WriteLine("Version should begin with a number, not with a 'v'"); return; } ProductVersion = version; ReleaseLog = new ReleaseLog { Created = DateTime.Now, Filename = Path.Combine(ReleaseLogsDir, ProductVersion + ".xml"), Version = ProductVersion }; FillLog(); ReleaseLog.Save(); UpdateVersionFiles(); SharpKit.Installer.Builder.Utils.CallMake(Path.Combine(GitRoot, "Compiler")); SharpKit.Installer.Builder.Utils.CallMake(Path.Combine(GitRoot, "SDK")); //Because the the js files contains the version in the header, the files need to be regenerated before commit WriteLine("******************************************************************************", ConsoleColor.Green); WriteLine("The new version is now changed in all files. Please commit and push it to git now BEFORE you create a github release/tag!", ConsoleColor.Green); WriteLine("******************************************************************************", ConsoleColor.Green); Console.WriteLine("Press enter key to continue..."); Console.ReadLine(); //CommitGit(); }
void Run() { if (TestOnly) { Console.WriteLine("TEST MODE!!!"); } SkSlnFilename = @"C:\Projects\GitHub\SharpKit\Compiler\Compiler.sln"; SdkSlnFilename = @"C:\Projects\GitHub\SharpKit\Defs\Defs.sln"; WebConfigFilename = SkTrunkDir + @"Website\SharpKit.WebSite\Web.config"; OldWebConfigFilename = OldWebsite + @"Web.config"; ReleaseLogsDir = SkTrunkDir + @"Compiler\Packager\ReleaseLogs\"; InstallerProjectDir = SkTrunkDir + @"Compiler\Installer\"; SetupDir = SkTrunkDir + @"setup\"; try { var buildSdk = AskBoolean("Build SDK?"); if (!SkipLog) { if (!AskBoolean("Did you remember to get latest on SharpKit SDK?")) { return; } var logFiles = Directory.GetFiles(ReleaseLogsDir, "*.xml").OrderBy(t => t).ToList(); var lastReleaseLogFilename = logFiles.LastOrDefault(); LastReleaseLog = ReleaseLog.Load(lastReleaseLogFilename); SetupVersion = AskString(String.Format("Last version is: {0}, from:{1:dd-MM-yyyy}, enter new version:", LastReleaseLog.Version, LastReleaseLog.Created)); if (SetupVersion.IsNullOrEmpty()) { throw new Exception(); } if (SetupVersion == LastReleaseLog.Version) { if (!AskBoolean("You have selected to create the same version, are you sure?")) { return; } } } else { SetupVersion = AskString("enter new version:"); } ReleaseLog = new ReleaseLog { Created = DateTime.Now, Filename = Path.Combine(ReleaseLogsDir, SetupVersion + ".xml"), Version = SetupVersion }; if (!SkipLog) { FillLog(); } if (!TestOnly) { //UpdateSharpKitVersionInfoSourceFiles(ReleaseLog); //UpdateAssemblyFileVersions(SetupVersion); } if (!TestOnly) { BuildSolution(SkSlnFilename, "Release"); if (buildSdk) { BuildSdk(); } } CreateInstaller(); if (!TestOnly) { ReleaseLog.Save(); var oldFile = OldWebsite + "ReleaseNotes.aspx"; if (File.Exists(oldFile)) { WriteToReleaseNotesPage(ReleaseLog, oldFile); } WriteToReleaseNotesPage(ReleaseLog, SkTrunkDir + @"Website\SharpKit.Website\ReleaseNotes.aspx"); UpdateWebConfig(SetupVersion, SetupCloudFrontUrl, WebConfigFilename); UpdateWebConfig(SetupVersion, SetupCloudFrontUrl, OldWebConfigFilename); } CopyInstallerToReleaseFolder(); if (!TestOnly) { Upload(); } } catch (Exception e) { Console.WriteLine(e); } Console.WriteLine("Finished...."); Console.ReadLine(); }
void Run() { if (TestOnly) Console.WriteLine("TEST MODE!!!"); SkSlnFilename = @"C:\Projects\GitHub\SharpKit\Compiler\Compiler.sln"; SdkSlnFilename = @"C:\Projects\GitHub\SharpKit\Defs\Defs.sln"; WebConfigFilename = SkTrunkDir + @"Website\SharpKit.WebSite\Web.config"; OldWebConfigFilename = OldWebsite + @"Web.config"; ReleaseLogsDir = SkTrunkDir + @"Compiler\Packager\ReleaseLogs\"; InstallerProjectDir = SkTrunkDir + @"Compiler\Installer\"; SetupDir = SkTrunkDir + @"setup\"; try { var buildSdk = AskBoolean("Build SDK?"); if (!SkipLog) { if (!AskBoolean("Did you remember to get latest on SharpKit SDK?")) return; var logFiles = Directory.GetFiles(ReleaseLogsDir, "*.xml").OrderBy(t => t).ToList(); var lastReleaseLogFilename = logFiles.LastOrDefault(); LastReleaseLog = ReleaseLog.Load(lastReleaseLogFilename); SetupVersion = AskString(String.Format("Last version is: {0}, from:{1:dd-MM-yyyy}, enter new version:", LastReleaseLog.Version, LastReleaseLog.Created)); if (SetupVersion.IsNullOrEmpty()) throw new Exception(); if (SetupVersion == LastReleaseLog.Version) { if (!AskBoolean("You have selected to create the same version, are you sure?")) return; } } else { SetupVersion = AskString("enter new version:"); } ReleaseLog = new ReleaseLog { Created = DateTime.Now, Filename = Path.Combine(ReleaseLogsDir, SetupVersion + ".xml"), Version = SetupVersion }; if (!SkipLog) { FillLog(); } if (!TestOnly) { //UpdateSharpKitVersionInfoSourceFiles(ReleaseLog); //UpdateAssemblyFileVersions(SetupVersion); } if (!TestOnly) { BuildSolution(SkSlnFilename, "Release"); if (buildSdk) BuildSdk(); } CreateInstaller(); if (!TestOnly) { ReleaseLog.Save(); var oldFile = OldWebsite + "ReleaseNotes.aspx"; if (File.Exists(oldFile)) WriteToReleaseNotesPage(ReleaseLog, oldFile); WriteToReleaseNotesPage(ReleaseLog, SkTrunkDir + @"Website\SharpKit.Website\ReleaseNotes.aspx"); UpdateWebConfig(SetupVersion, SetupCloudFrontUrl, WebConfigFilename); UpdateWebConfig(SetupVersion, SetupCloudFrontUrl, OldWebConfigFilename); } CopyInstallerToReleaseFolder(); if (!TestOnly) Upload(); } catch (Exception e) { Console.WriteLine(e); } Console.WriteLine("Finished...."); Console.ReadLine(); }