/// <summary> /// Runs this instance. /// </summary> /// <remarks></remarks> public void Run() { Console.WriteLine("CruiseControl.NET Server {0} -- .NET Continuous Integration Server", Assembly.GetExecutingAssembly().GetName().Version); // Find out our copyright claim, if any, and display it. AssemblyCopyrightAttribute[] copyrightAttributes = (AssemblyCopyrightAttribute[])Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); if (copyrightAttributes.Length > 0) { Console.WriteLine("{0} All Rights Reserved.", copyrightAttributes[0].Copyright); } Console.WriteLine(".NET Runtime Version: {0}{2}\tImage Runtime Version: {1}", Environment.Version, Assembly.GetExecutingAssembly().ImageRuntimeVersion, GetRuntime()); Console.WriteLine("OS Version: {0}\tServer locale: {1}", Environment.OSVersion, CultureInfo.CurrentCulture); Console.WriteLine(); // In DEBUG builds, give the developer a chance to debug our execution if (args.LaunchDebugger) { System.Diagnostics.Debugger.Launch(); } if (args.ShowHelp) { //Log.Warning(ConsoleRunnerArguments.Usage); return; } if (!args.Logging) { Log.Warning("Logging has been disabled - no information (except errors) will be written to the log"); Log.DisableLogging(); } if (args.ValidateConfigOnly) { serverFactory.Create(false, args.ConfigFile); return; } LaunchServer(); }
private void LaunchServer() { using (ConsoleEventHandler handler = new ConsoleEventHandler()) { handler.OnConsoleEvent += new EventHandler(HandleControlEvent); using (server = _serverFactory.Create(_parser.UseRemoting, _parser.ConfigFile)) { if (_parser.Project == null) { server.Start(); server.WaitForExit(); } else { server.ForceBuild(_parser.Project, null); server.WaitForExit(_parser.Project); } } } }