/// <summary> /// Initializes a new instance of the <see cref="RuleCheckResult"/> class /// </summary> /// <param name="thing"> /// a reference to te <see cref="Thing"/> that has been checked by a Rule /// </param> /// <param name="id"> /// the identifier or code of the Rule that may have been broken /// </param> /// <param name="description"> /// the description of the Rule that may have been broken /// </param> /// <param name="severity"> /// the <see cref="SeverityKind"/> /// </param> public RuleCheckResult(Thing thing, string id, string description, SeverityKind severity) { this.Thing = thing; this.Id = id; this.Description = description; this.Severity = severity; }
public void WriteMessage(string msg, SeverityKind severity) { ConsoleColor defaultColor = Console.ForegroundColor; switch (severity) { case SeverityKind.Info: Console.ForegroundColor = ConsoleColor.Cyan; break; case SeverityKind.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case SeverityKind.Error: Console.ForegroundColor = ConsoleColor.Red; break; default: Console.ForegroundColor = ConsoleColor.White; break; } Console.WriteLine(msg); Console.ForegroundColor = defaultColor; }
public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { if ((value == null)) { return(null); } SeverityKind valueCasted = ((SeverityKind)(value)); if ((valueCasted == SeverityKind.Unknown)) { return("unknown"); } if ((valueCasted == SeverityKind.Critical)) { return("critical"); } if ((valueCasted == SeverityKind.Major)) { return("major"); } if ((valueCasted == SeverityKind.Minor)) { return("minor"); } if ((valueCasted == SeverityKind.Warning)) { return("warning"); } throw new ArgumentOutOfRangeException("value"); }
public void WriteMessage(string msg, SeverityKind severity) { if (severity != SeverityKind.Info) { Console.Write($"{severity}: "); } Console.WriteLine(msg); }
public Flag(SeverityKind severity, Span span, string message, int code, ProgramName progName = null) { Severity = severity; Span = span; Message = string.IsNullOrWhiteSpace(message) ? "" : message; Code = code; Node = null; ProgramName = progName; }
public bool Compile(CommandLineOptions options, TextWriter log) { bool finished = false; bool result = false; NamedPipe service = Connect(log); CompilerOutputStream output = new CompilerOutputStream(log); options.compilerId = id; StringWriter writer = new StringWriter(); XmlSerializer serializer = new XmlSerializer(typeof(CommandLineOptions)); serializer.Serialize(writer, options); service.WriteMessage(writer.ToString()); try { while (!finished && !service.IsClosed) { string msg = service.ReadMessage(); DebugWriteLine(msg); int i = msg.IndexOf(':'); if (i > 0) { string sev = msg.Substring(0, i); SeverityKind severity = SeverityKind.Info; Enum.TryParse <SeverityKind>(sev, out severity); msg = msg.Substring(i + 2); if (msg.StartsWith(JobFinishedMessage)) { string tail = msg.Substring(JobFinishedMessage.Length); finished = true; bool.TryParse(tail, out result); } else { output.WriteMessage(msg, severity); } } else { log.WriteLine(msg); } } } catch (Exception) { result = false; output.WriteMessage("PCompilerService is gone, did someone kill it? Perhaps the P build is happening in parallel?", SeverityKind.Error); finished = true; } return(result); }
public Flag(SeverityKind severity, Node node, string message, int code, ProgramName progName = null) { Contract.Requires(node != null); Severity = severity; Span = node.Span; Message = string.IsNullOrWhiteSpace(message) ? "" : message; Code = code; Node = node; ProgramName = progName; }
public void WriteMessage(string msg, SeverityKind severity) { switch (severity) { case SeverityKind.Info: stdout.WriteLine(msg); break; case SeverityKind.Warning: case SeverityKind.Error: stderr.WriteLine(msg); break; default: throw new ArgumentOutOfRangeException(nameof(severity), severity, null); } }
/// <summary> /// Initializes a new instance of the <see cref="RuleCheckerErrorRowViewModel"/> class /// </summary> /// <param name="thing"> /// a reference to te <see cref="Thing"/> that has been checked by a Rule /// </param> /// <param name="id"> /// the identifier or code of the Rule that may have been broken /// </param> /// <param name="description"> /// the description of the Rule that may have been broken /// </param> /// <param name="severity"> /// the <see cref="SeverityKind"/> /// </param> public RuleCheckerErrorRowViewModel(Thing thing, string id, string description, SeverityKind severity) { this.ThingClassKind = thing.ClassKind.ToString(); this.Id = id; this.Description = description; this.Severity = severity; this.TopContainerName = thing.TopContainer is SiteDirectory ? "SiteDirectory" : thing.TopContainer.UserFriendlyShortName; }
public void WriteMessage(string msg, SeverityKind severity) { this.writer.WriteLine("OUT: " + msg); }
public void WriteMessage(string msg, SeverityKind severity) { // send this back to the command line process that invoked this compiler. this.pipe.WriteMessage(severity + ": " + msg); }
public void WriteMessage(string msg, SeverityKind severity) { WriteError(msg); }
public void WriteMessage(string msg, SeverityKind severity) { writer.WriteLine(msg); }
public bool Compile(CommandLineOptions options, TextWriter log) { service = new NamedPipe(ServerPipeName, false); Mutex processLock = new Mutex(false, "PCompilerService"); processLock.WaitOne(); try { if (!service.Connect()) { ProcessStartInfo info = new ProcessStartInfo(); info.FileName = typeof(CompilerServiceClient).Assembly.Location; info.WindowStyle = ProcessWindowStyle.Hidden; Process p = Process.Start(info); if (!service.Connect()) { log.WriteLine("Cannot start the CompilerService?"); return(false); } } } finally { processLock.ReleaseMutex(); } Guid clientPipe = Guid.NewGuid(); string clientPipeName = clientPipe.ToString() + "-CompilerServiceClient"; client = new NamedPipe(clientPipeName, true); if (!client.Connect()) { log.WriteLine("weird, the process that launched this job is gone?"); return(false); } AutoResetEvent msgEvent = new AutoResetEvent(false); bool finished = false; bool result = false; CompilerOutputStream output = new CompilerOutputStream(log); client.MessageArrived += (s2, e2) => { string msg = e2.Message; int i = msg.IndexOf(':'); if (i > 0) { string sev = msg.Substring(0, i); msg = msg.Substring(i + 2); if (msg.StartsWith("finished:")) { i = msg.IndexOf(':'); string tail = msg.Substring(i + 1); finished = true; bool.TryParse(tail, out result); msgEvent.Set(); } else { SeverityKind severity = SeverityKind.Info; Enum.TryParse <SeverityKind>(sev, out severity); output.WriteMessage(msg, severity); } } else { log.WriteLine(e2.Message); } }; options.pipeName = clientPipeName; StringWriter writer = new StringWriter(); XmlSerializer serializer = new XmlSerializer(typeof(CommandLineOptions)); serializer.Serialize(writer, options); service.WriteMessage(writer.ToString()); while (!finished) { msgEvent.WaitOne(1000); if (client.IsClosed) { result = false; output.WriteMessage("PCompilerService is gone, did someone kill it? Perhaps the P build is happening in parallel?", SeverityKind.Error); finished = true; } } service.Close(); client.Close(); return(result); }