/// <summary> /// Tag version build. /// </summary> internal static void VersionBuild(Action build) { // Read UtilFramework.cs string fileNameServer = UtilFramework.FolderName + "Framework/Framework/UtilFramework.cs"; string textServer = UtilFramework.FileLoad(fileNameServer); string fileNameClient = UtilFramework.FolderName + "Framework/Framework.Angular/application/src/app/data.service.ts"; string textClient = UtilFramework.FileLoad(fileNameClient); string versionBuild = string.Format("Build (WorkplaceX={3}; Commit={0}; Pc={1}; Time={2} (UTC);)", UtilCli.GitCommit(), System.Environment.MachineName, UtilFramework.DateTimeToString(DateTime.Now.ToUniversalTime()), UtilFramework.Version); string findServer = "/* VersionBuild */"; // See also: method CommandBuild.BuildServer(); string replaceServer = string.Format(" return \"{0}\"; /* VersionBuild */", versionBuild); string findClient = "/* VersionBuild */"; // See also: file data.service.ts string replaceClient = string.Format(" public VersionBuild: string = \"{0}\"; /* VersionBuild */", versionBuild); // Write UtilFramework.cs string textNewServer = UtilFramework.ReplaceLine(textServer, findServer, replaceServer); File.WriteAllText(fileNameServer, textNewServer); string textNewClient = UtilFramework.ReplaceLine(textClient, findClient, replaceClient); File.WriteAllText(fileNameClient, textNewClient); try { build(); } finally { File.WriteAllText(fileNameServer, textServer); // Back to original text. File.WriteAllText(fileNameClient, textClient); // Back to original text. } }
/// <summary> /// Find and replace a line in a text file. /// </summary> internal void FileReplaceLine(string fileName, string find, string replace) { string text = UtilFramework.FileLoad(fileName); text = UtilFramework.ReplaceLine(text, find, replace); UtilFramework.FileSave(fileName, text); }