@@ -33,11 +33,11 @@ internal interface IPackagesConfigRestore
3333 /// </summary>
3434 internal class PackagesConfigRestoreFactory
3535 {
36- public static IPackagesConfigRestore Create ( IFileProvider fileProvider , DependencyDirectory packageDirectory , Semmle . Util . Logging . ILogger logger , FeedManager feedManager )
36+ public static IPackagesConfigRestore Create ( IFileProvider fileProvider , DependencyDirectory packageDirectory , Semmle . Util . Logging . ILogger logger , FeedManager feedManager , IRegistryProxy ? registryProxy )
3737 {
3838 if ( SystemBuildActions . Instance . IsWindows ( ) || SystemBuildActions . Instance . IsMonoInstalled ( ) )
3939 {
40- return new NugetExeWrapper ( fileProvider , packageDirectory , logger , feedManager ) ;
40+ return new NugetExeWrapper ( fileProvider , packageDirectory , logger , feedManager , registryProxy ) ;
4141 }
4242
4343 return new NoOpPackagesConfig ( fileProvider . PackagesConfigs , logger ) ;
@@ -52,6 +52,7 @@ private class NugetExeWrapper : IPackagesConfigRestore
5252 {
5353 private readonly string ? nugetExe ;
5454 private readonly Semmle . Util . Logging . ILogger logger ;
55+ private readonly IRegistryProxy ? registryProxy ;
5556
5657 public int PackageCount => fileProvider . PackagesConfigs . Count ;
5758
@@ -70,12 +71,13 @@ private class NugetExeWrapper : IPackagesConfigRestore
7071 /// <summary>
7172 /// Create the package manager for a specified source tree.
7273 /// </summary>
73- public NugetExeWrapper ( IFileProvider fileProvider , DependencyDirectory packageDirectory , Semmle . Util . Logging . ILogger logger , FeedManager feedManager )
74+ public NugetExeWrapper ( IFileProvider fileProvider , DependencyDirectory packageDirectory , Semmle . Util . Logging . ILogger logger , FeedManager feedManager , IRegistryProxy ? registryProxy )
7475 {
7576 this . fileProvider = fileProvider ;
7677 this . packageDirectory = packageDirectory ;
7778 this . logger = logger ;
7879 this . feedManager = feedManager ;
80+ this . registryProxy = registryProxy ;
7981
8082 if ( fileProvider . PackagesConfigs . Count > 0 )
8183 {
@@ -209,9 +211,13 @@ private bool TryRestoreNugetPackage(string packagesConfig)
209211 UseShellExecute = false
210212 } ;
211213
214+ // Configure the proxy settings, if applicable.
215+ registryProxy ? . SetProcessEnvironment ( pi ) ;
216+
212217 var threadId = Environment . CurrentManagedThreadId ;
213218 void onOut ( string s ) => logger . LogDebug ( s , threadId ) ;
214219 void onError ( string s ) => logger . LogError ( s , threadId ) ;
220+ logger . LogInfo ( $ "Running '{ pi . FileName } { string . Join ( " " , pi . ArgumentList ) } '") ;
215221 var exitCode = pi . ReadOutput ( out _ , onOut , onError ) ;
216222 if ( exitCode != 0 )
217223 {
0 commit comments