mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
C#: Propagate DependabotProxy instance down from DependencyManager
This commit is contained in:
@@ -6,7 +6,7 @@ using Semmle.Util.Logging;
|
|||||||
|
|
||||||
namespace Semmle.Extraction.CSharp.DependencyFetching
|
namespace Semmle.Extraction.CSharp.DependencyFetching
|
||||||
{
|
{
|
||||||
internal class DependabotProxy
|
public class DependabotProxy
|
||||||
{
|
{
|
||||||
private readonly string? host;
|
private readonly string? host;
|
||||||
private readonly string? port;
|
private readonly string? port;
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
private readonly ILogger logger;
|
private readonly ILogger logger;
|
||||||
private readonly IDiagnosticsWriter diagnosticsWriter;
|
private readonly IDiagnosticsWriter diagnosticsWriter;
|
||||||
private readonly NugetPackageRestorer nugetPackageRestorer;
|
private readonly NugetPackageRestorer nugetPackageRestorer;
|
||||||
|
private readonly DependabotProxy dependabotProxy;
|
||||||
private readonly IDotNet dotnet;
|
private readonly IDotNet dotnet;
|
||||||
private readonly FileContent fileContent;
|
private readonly FileContent fileContent;
|
||||||
private readonly FileProvider fileProvider;
|
private readonly FileProvider fileProvider;
|
||||||
@@ -106,9 +107,11 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
return BuildScript.Success;
|
return BuildScript.Success;
|
||||||
}).Run(SystemBuildActions.Instance, startCallback, exitCallback);
|
}).Run(SystemBuildActions.Instance, startCallback, exitCallback);
|
||||||
|
|
||||||
|
dependabotProxy = new DependabotProxy(logger, tempWorkingDirectory);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.dotnet = DotNet.Make(logger, dotnetPath, tempWorkingDirectory);
|
this.dotnet = DotNet.Make(logger, dotnetPath, tempWorkingDirectory, dependabotProxy);
|
||||||
runtimeLazy = new Lazy<Runtime>(() => new Runtime(dotnet));
|
runtimeLazy = new Lazy<Runtime>(() => new Runtime(dotnet));
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@@ -117,7 +120,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
nugetPackageRestorer = new NugetPackageRestorer(fileProvider, fileContent, dotnet, diagnosticsWriter, logger, this);
|
nugetPackageRestorer = new NugetPackageRestorer(fileProvider, fileContent, dotnet, dependabotProxy, diagnosticsWriter, logger, this);
|
||||||
|
|
||||||
var dllLocations = fileProvider.Dlls.Select(x => new AssemblyLookupLocation(x)).ToHashSet();
|
var dllLocations = fileProvider.Dlls.Select(x => new AssemblyLookupLocation(x)).ToHashSet();
|
||||||
dllLocations.UnionWith(nugetPackageRestorer.Restore());
|
dllLocations.UnionWith(nugetPackageRestorer.Restore());
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
Info();
|
Info();
|
||||||
}
|
}
|
||||||
|
|
||||||
private DotNet(ILogger logger, string? dotNetPath, TemporaryDirectory tempWorkingDirectory) : this(new DotNetCliInvoker(logger, Path.Combine(dotNetPath ?? string.Empty, "dotnet"), tempWorkingDirectory), logger, tempWorkingDirectory) { }
|
private DotNet(ILogger logger, string? dotNetPath, TemporaryDirectory tempWorkingDirectory, DependabotProxy dependabotProxy) : this(new DotNetCliInvoker(logger, Path.Combine(dotNetPath ?? string.Empty, "dotnet"), dependabotProxy), logger, tempWorkingDirectory) { }
|
||||||
|
|
||||||
internal static IDotNet Make(IDotNetCliInvoker dotnetCliInvoker, ILogger logger) => new DotNet(dotnetCliInvoker, logger);
|
internal static IDotNet Make(IDotNetCliInvoker dotnetCliInvoker, ILogger logger) => new DotNet(dotnetCliInvoker, logger);
|
||||||
|
|
||||||
public static IDotNet Make(ILogger logger, string? dotNetPath, TemporaryDirectory tempWorkingDirectory) => new DotNet(logger, dotNetPath, tempWorkingDirectory);
|
public static IDotNet Make(ILogger logger, string? dotNetPath, TemporaryDirectory tempWorkingDirectory, DependabotProxy dependabotProxy) => new DotNet(logger, dotNetPath, tempWorkingDirectory, dependabotProxy);
|
||||||
|
|
||||||
private void Info()
|
private void Info()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
|
|
||||||
public string Exec { get; }
|
public string Exec { get; }
|
||||||
|
|
||||||
public DotNetCliInvoker(ILogger logger, string exec, TemporaryDirectory tempWorkingDirectory)
|
public DotNetCliInvoker(ILogger logger, string exec, DependabotProxy dependabotProxy)
|
||||||
{
|
{
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
this.proxy = new DependabotProxy(logger, tempWorkingDirectory);
|
this.proxy = dependabotProxy;
|
||||||
this.Exec = exec;
|
this.Exec = exec;
|
||||||
logger.LogInfo($"Using .NET CLI executable: '{Exec}'");
|
logger.LogInfo($"Using .NET CLI executable: '{Exec}'");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
private readonly FileProvider fileProvider;
|
private readonly FileProvider fileProvider;
|
||||||
private readonly FileContent fileContent;
|
private readonly FileContent fileContent;
|
||||||
private readonly IDotNet dotnet;
|
private readonly IDotNet dotnet;
|
||||||
|
private readonly DependabotProxy dependabotProxy;
|
||||||
private readonly IDiagnosticsWriter diagnosticsWriter;
|
private readonly IDiagnosticsWriter diagnosticsWriter;
|
||||||
private readonly TemporaryDirectory legacyPackageDirectory;
|
private readonly TemporaryDirectory legacyPackageDirectory;
|
||||||
private readonly TemporaryDirectory missingPackageDirectory;
|
private readonly TemporaryDirectory missingPackageDirectory;
|
||||||
@@ -32,6 +33,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
FileProvider fileProvider,
|
FileProvider fileProvider,
|
||||||
FileContent fileContent,
|
FileContent fileContent,
|
||||||
IDotNet dotnet,
|
IDotNet dotnet,
|
||||||
|
DependabotProxy dependabotProxy,
|
||||||
IDiagnosticsWriter diagnosticsWriter,
|
IDiagnosticsWriter diagnosticsWriter,
|
||||||
ILogger logger,
|
ILogger logger,
|
||||||
ICompilationInfoContainer compilationInfoContainer)
|
ICompilationInfoContainer compilationInfoContainer)
|
||||||
@@ -39,6 +41,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
|
|||||||
this.fileProvider = fileProvider;
|
this.fileProvider = fileProvider;
|
||||||
this.fileContent = fileContent;
|
this.fileContent = fileContent;
|
||||||
this.dotnet = dotnet;
|
this.dotnet = dotnet;
|
||||||
|
this.dependabotProxy = dependabotProxy;
|
||||||
this.diagnosticsWriter = diagnosticsWriter;
|
this.diagnosticsWriter = diagnosticsWriter;
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
this.compilationInfoContainer = compilationInfoContainer;
|
this.compilationInfoContainer = compilationInfoContainer;
|
||||||
|
|||||||
Reference in New Issue
Block a user