static void Main() { MainManager MainManager = new MainManager(); string[] Args = Environment.GetCommandLineArgs(); string LaunchFolder = System.IO.Path.GetDirectoryName(Args[0]); if (LaunchFolder.ToLower().EndsWith("\\bin\\debug")) { LaunchFolder = LaunchFolder.Substring(0, LaunchFolder.Length - 10); } else if (LaunchFolder.ToLower().EndsWith("\\bin\\x64\\debug")) { LaunchFolder = LaunchFolder.Substring(0, LaunchFolder.Length - 14); } else if (LaunchFolder.ToLower().EndsWith("\\bin\\release")) { LaunchFolder = LaunchFolder.Substring(0, LaunchFolder.Length - 12); } else if (LaunchFolder.ToLower().EndsWith("\\bin\\x64\\release")) { LaunchFolder = LaunchFolder.Substring(0, LaunchFolder.Length - 16); } string ExpectedProjectName = "WristConsole"; if (LaunchFolder.ToLower().EndsWith($"\\{ExpectedProjectName.ToLower()}")) { LaunchFolder = LaunchFolder.Substring(0, LaunchFolder.Length - ExpectedProjectName.Length - 1); } string InputFolder; if (Args.Length > 1) { InputFolder = Path.GetFullPath(Args[1]); } else { InputFolder = Path.Combine(LaunchFolder, "Samples", "comet"); } string OutputFolder; if (Args.Length > 2) { OutputFolder = Path.GetFullPath(Args[2]); } else { OutputFolder = Path.Combine(LaunchFolder, "AppCSHtml5"); } string HomePageName; if (Args.Length > 3) { HomePageName = Args[3]; } else { HomePageName = "home"; } string ColorThemeName; if (Args.Length > 4) { ColorThemeName = Args[4]; } else { ColorThemeName = "default"; } string ConditionalDefines; if (Args.Length > 5) { ConditionalDefines = Args[5]; } else { ConditionalDefines = null; } string UnitTestName; if (Args.Length > 6) { UnitTestName = Args[6]; } else { UnitTestName = null; } try { Console.WriteLine($"Building {InputFolder}..."); IDomain Domain; MainManager.Build(InputFolder, OutputFolder, HomePageName, ColorThemeName, UnitTestName, ConditionalDefines, out Domain); Console.WriteLine("Done."); Thread.Sleep(TimeSpan.FromSeconds(2)); } catch (ParsingException e) { using (Stream ErrorStream = Console.OpenStandardOutput()) { using (StreamWriter ErrorWriter = new StreamWriter(ErrorStream)) { e.WriteDiagnostic(ErrorWriter); } } Console.WriteLine("Press any key to continue..."); Console.ReadKey(true); } catch (Exception e) { using (Stream ErrorStream = Console.OpenStandardOutput()) { using (StreamWriter ErrorWriter = new StreamWriter(ErrorStream)) { ErrorWriter.WriteLine(e.Message); ErrorWriter.WriteLine(e.StackTrace); } } Console.WriteLine("Press any key to continue..."); Console.ReadKey(true); } }