Update C/C++ autobuilder

This commit is contained in:
Michael B. Gale
2023-02-16 15:52:29 +00:00
parent aa6efce695
commit 8e83fd00b7
2 changed files with 20 additions and 1 deletions

View File

@@ -75,6 +75,18 @@ namespace Semmle.Autobuild.Cpp.Tests
throw new ArgumentException("Missing RunProcess " + pattern); throw new ArgumentException("Missing RunProcess " + pattern);
} }
int IBuildActions.RunProcess(string cmd, string args, string? workingDirectory, IDictionary<string, string>? 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<string> DirectoryDeleteIn = new List<string>(); public IList<string> DirectoryDeleteIn = new List<string>();
void IBuildActions.DirectoryDelete(string dir, bool recursive) void IBuildActions.DirectoryDelete(string dir, bool recursive)

View File

@@ -21,7 +21,14 @@ namespace Semmle.Autobuild.Cpp
public class CppAutobuilder : Autobuilder<CppAutobuildOptions> public class CppAutobuilder : Autobuilder<CppAutobuildOptions>
{ {
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() public override BuildScript GetBuildScript()
{ {