From 8e83fd00b7c72362a516f42c1ec0207dff607d52 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Thu, 16 Feb 2023 15:52:29 +0000 Subject: [PATCH] Update C/C++ autobuilder --- .../Semmle.Autobuild.Cpp.Tests/BuildScripts.cs | 12 ++++++++++++ .../Semmle.Autobuild.Cpp/CppAutobuilder.cs | 9 ++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs b/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs index 846d8333030..160287c049a 100644 --- a/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs +++ b/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs @@ -75,6 +75,18 @@ namespace Semmle.Autobuild.Cpp.Tests throw new ArgumentException("Missing RunProcess " + pattern); } + int IBuildActions.RunProcess(string cmd, string args, string? workingDirectory, IDictionary? env, BuildOutputHandler onOutput, BuildOutputHandler onError) + { + var ret = (this as IBuildActions).RunProcess(cmd, args, workingDirectory, env, out var stdout); + + foreach (var line in stdout) + { + onOutput(line); + } + + return ret; + } + public IList DirectoryDeleteIn = new List(); void IBuildActions.DirectoryDelete(string dir, bool recursive) diff --git a/cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs b/cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs index 1503dedb376..5ebb3acca1c 100644 --- a/cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs +++ b/cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs @@ -21,7 +21,14 @@ namespace Semmle.Autobuild.Cpp public class CppAutobuilder : Autobuilder { - public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options) { } + private DiagnosticClassifier classifier; + + public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options) + { + classifier = new DiagnosticClassifier(); + } + + protected override DiagnosticClassifier DiagnosticClassifier => classifier; public override BuildScript GetBuildScript() {