Skip to content

Commit bc1c22c

Browse files
authored
Merge pull request github#14425 from tamasvajk/standalone/nuget-download-lazy
C#: Only download nuget.exe if there are packages.config files
2 parents 2d947a4 + 1872a93 commit bc1c22c

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackages.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
1313
/// </summary>
1414
internal class NugetPackages
1515
{
16-
private readonly string nugetExe;
16+
private readonly string? nugetExe;
1717
private readonly ProgressMonitor progressMonitor;
1818

1919
/// <summary>
@@ -36,10 +36,18 @@ public NugetPackages(string sourceDir, TemporaryDirectory packageDirectory, Prog
3636
this.packageDirectory = packageDirectory;
3737
this.progressMonitor = progressMonitor;
3838

39-
nugetExe = ResolveNugetExe(sourceDir);
4039
packageFiles = new DirectoryInfo(sourceDir)
4140
.EnumerateFiles("packages.config", SearchOption.AllDirectories)
4241
.ToArray();
42+
43+
if (packageFiles.Length > 0)
44+
{
45+
nugetExe = ResolveNugetExe(sourceDir);
46+
}
47+
else
48+
{
49+
progressMonitor.LogInfo("Found no packages.config file");
50+
}
4351
}
4452

4553
/// <summary>
@@ -111,7 +119,7 @@ private void RestoreNugetPackage(string package)
111119
string exe, args;
112120
if (Util.Win32.IsWindows())
113121
{
114-
exe = nugetExe;
122+
exe = nugetExe!;
115123
args = string.Format("install -OutputDirectory {0} {1}", packageDirectory, package);
116124
}
117125
else

0 commit comments

Comments
 (0)