Jelajahi Sumber

Respect global packages folder in BuildToNuGetCache (#15706)

Julien Lebosquain 1 tahun lalu
induk
melakukan
b2f3fad445
1 mengubah file dengan 7 tambahan dan 3 penghapusan
  1. 7 3
      nukebuild/Build.cs

+ 7 - 3
nukebuild/Build.cs

@@ -19,6 +19,7 @@ using static Nuke.Common.Tools.Xunit.XunitTasks;
 using static Nuke.Common.Tools.VSWhere.VSWhereTasks;
 using static Nuke.Common.Tools.VSWhere.VSWhereTasks;
 using static Serilog.Log;
 using static Serilog.Log;
 using MicroCom.CodeGenerator;
 using MicroCom.CodeGenerator;
+using NuGet.Configuration;
 using Nuke.Common.IO;
 using Nuke.Common.IO;
 
 
 /*
 /*
@@ -366,6 +367,9 @@ partial class Build : NukeBuild
         {
         {
             if (!Parameters.IsPackingToLocalCache)
             if (!Parameters.IsPackingToLocalCache)
                 throw new InvalidOperationException();
                 throw new InvalidOperationException();
+
+            var globalPackagesFolder = SettingsUtility.GetGlobalPackagesFolder(
+                Settings.LoadDefaultSettings(RootDirectory));
             
             
             foreach (var path in Parameters.NugetRoot.GlobFiles("*.nupkg"))
             foreach (var path in Parameters.NugetRoot.GlobFiles("*.nupkg"))
             {
             {
@@ -376,11 +380,11 @@ partial class Build : NukeBuild
                     .Elements().First(x => x.Name.LocalName == "metadata")
                     .Elements().First(x => x.Name.LocalName == "metadata")
                     .Elements().First(x => x.Name.LocalName == "id").Value;
                     .Elements().First(x => x.Name.LocalName == "id").Value;
 
 
-                var packagePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
-                    ".nuget",
-                    "packages",
+                var packagePath = Path.Combine(
+                    globalPackagesFolder,
                     packageId.ToLowerInvariant(),
                     packageId.ToLowerInvariant(),
                     BuildParameters.LocalBuildVersion);
                     BuildParameters.LocalBuildVersion);
+
                 if (Directory.Exists(packagePath))
                 if (Directory.Exists(packagePath))
                     Directory.Delete(packagePath, true);
                     Directory.Delete(packagePath, true);
                 Directory.CreateDirectory(packagePath);
                 Directory.CreateDirectory(packagePath);