mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
C#: Changing logging of dotnet commands to Debug except for dotnet --info and friends.
This commit is contained in:
@@ -35,7 +35,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
|
||||
private void Info()
|
||||
{
|
||||
var res = dotnetCliInvoker.RunCommand("--info");
|
||||
var res = dotnetCliInvoker.RunCommand("--info", silent: false);
|
||||
if (!res)
|
||||
{
|
||||
throw new Exception($"{dotnetCliInvoker.Exec} --info failed.");
|
||||
@@ -91,13 +91,13 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
return dotnetCliInvoker.RunCommand(args);
|
||||
}
|
||||
|
||||
public IList<string> GetListedRuntimes() => GetResultList("--list-runtimes");
|
||||
public IList<string> GetListedRuntimes() => GetResultList("--list-runtimes", null, false);
|
||||
|
||||
public IList<string> GetListedSdks() => GetResultList("--list-sdks");
|
||||
public IList<string> GetListedSdks() => GetResultList("--list-sdks", null, false);
|
||||
|
||||
private IList<string> GetResultList(string args, string? workingDirectory = null)
|
||||
private IList<string> GetResultList(string args, string? workingDirectory = null, bool silent = true)
|
||||
{
|
||||
if (dotnetCliInvoker.RunCommand(args, workingDirectory, out var results))
|
||||
if (dotnetCliInvoker.RunCommand(args, workingDirectory, out var results, silent))
|
||||
{
|
||||
return results;
|
||||
}
|
||||
@@ -316,4 +316,4 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,13 +40,13 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
return startInfo;
|
||||
}
|
||||
|
||||
private bool RunCommandAux(string args, string? workingDirectory, out IList<string> output)
|
||||
private bool RunCommandAux(string args, string? workingDirectory, out IList<string> output, bool silent)
|
||||
{
|
||||
var dirLog = string.IsNullOrWhiteSpace(workingDirectory) ? "" : $" in {workingDirectory}";
|
||||
logger.LogInfo($"Running {Exec} {args}{dirLog}");
|
||||
var pi = MakeDotnetStartInfo(args, workingDirectory);
|
||||
var threadId = Environment.CurrentManagedThreadId;
|
||||
void onOut(string s) => logger.LogInfo(s, threadId);
|
||||
void onOut(string s) => logger.Log(silent ? Severity.Debug : Severity.Info, s, threadId);
|
||||
void onError(string s) => logger.LogError(s, threadId);
|
||||
var exitCode = pi.ReadOutput(out output, onOut, onError);
|
||||
if (exitCode != 0)
|
||||
@@ -57,13 +57,13 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool RunCommand(string args) =>
|
||||
RunCommandAux(args, null, out _);
|
||||
public bool RunCommand(string args, bool silent) =>
|
||||
RunCommandAux(args, null, out _, silent);
|
||||
|
||||
public bool RunCommand(string args, out IList<string> output) =>
|
||||
RunCommandAux(args, null, out output);
|
||||
public bool RunCommand(string args, out IList<string> output, bool silent) =>
|
||||
RunCommandAux(args, null, out output, silent);
|
||||
|
||||
public bool RunCommand(string args, string? workingDirectory, out IList<string> output) =>
|
||||
RunCommandAux(args, workingDirectory, out output);
|
||||
public bool RunCommand(string args, string? workingDirectory, out IList<string> output, bool silent) =>
|
||||
RunCommandAux(args, workingDirectory, out output, silent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,19 +11,22 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||
|
||||
/// <summary>
|
||||
/// Execute `dotnet <args>` and return true if the command succeeded, otherwise false.
|
||||
/// If `silent` is true the output of the command is logged as `debug` otherwise as `info`.
|
||||
/// </summary>
|
||||
bool RunCommand(string args);
|
||||
bool RunCommand(string args, bool silent = true);
|
||||
|
||||
/// <summary>
|
||||
/// Execute `dotnet <args>` and return true if the command succeeded, otherwise false.
|
||||
/// The output of the command is returned in `output`.
|
||||
/// If `silent` is true the output of the command is logged as `debug` otherwise as `info`.
|
||||
/// </summary>
|
||||
bool RunCommand(string args, out IList<string> output);
|
||||
bool RunCommand(string args, out IList<string> output, bool silent = true);
|
||||
|
||||
/// <summary>
|
||||
/// Execute `dotnet <args>` in `<workingDirectory>` and return true if the command succeeded, otherwise false.
|
||||
/// The output of the command is returned in `output`.
|
||||
/// If `silent` is true the output of the command is logged as `debug` otherwise as `info`.
|
||||
/// </summary>
|
||||
bool RunCommand(string args, string? workingDirectory, out IList<string> output);
|
||||
bool RunCommand(string args, string? workingDirectory, out IList<string> output, bool silent = true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,23 +20,23 @@ namespace Semmle.Extraction.Tests
|
||||
|
||||
public string Exec => "dotnet";
|
||||
|
||||
public bool RunCommand(string args)
|
||||
public bool RunCommand(string args, bool silent)
|
||||
{
|
||||
lastArgs = args;
|
||||
return Success;
|
||||
}
|
||||
|
||||
public bool RunCommand(string args, out IList<string> output)
|
||||
public bool RunCommand(string args, out IList<string> output, bool silent)
|
||||
{
|
||||
lastArgs = args;
|
||||
output = this.output;
|
||||
return Success;
|
||||
}
|
||||
|
||||
public bool RunCommand(string args, string? workingDirectory, out IList<string> output)
|
||||
public bool RunCommand(string args, string? workingDirectory, out IList<string> output, bool silent)
|
||||
{
|
||||
WorkingDirectory = workingDirectory ?? "";
|
||||
return RunCommand(args, out output);
|
||||
return RunCommand(args, out output, silent);
|
||||
}
|
||||
|
||||
public string GetLastArgs() => lastArgs;
|
||||
|
||||
Reference in New Issue
Block a user