示例#1
0
        public TestsSetup()
        {
            ToolPathResolver.NuGetPackagesConfigFile = NukeBuild.RootDirectory / "tests" / "NMica.Tests" / "NMica.Tests.csproj";
            //
            var userFolder       = (AbsolutePath)Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
            var nugetCacheFolder = userFolder / ".nuget" / "packages";

            return;

            // var nbgvDll = nugetCacheFolder / "nbgv" / "3.0.50" / "tools" / "netcoreapp2.1" / "any" / "nbgv.dll";
            //
            // Console.WriteLine(ToolPathResolver.NuGetPackagesConfigFile);
            // Console.WriteLine(NukeBuild.RootDirectory);
            // if (File.Exists(nbgvDll)) // this is faster then letting tool resolver figure out where it lives
            // {
            //     Console.WriteLine(nbgvDll);
            //
            //     Environment.SetEnvironmentVariable("NERDBANKGITVERSIONING_EXE",nbgvDll);
            // }
            try
            {
                FileSystemTasks.DeleteDirectory(nugetCacheFolder / "NMica" / NMicaVersion.NuGetPackageVersion);
            }
            catch (UnauthorizedAccessException)
            {
                // something dumb is keeping locks on nuget cache between runs. this is a DIRTY hack to try to release any locks on that folder
                foreach (var process in Process.GetProcesses()
                         .Where(x => x.ProcessName == "dotnet" && x.Id != Process.GetCurrentProcess().Id))
                {
                    process.Kill(true);
                }
                FileSystemTasks.DeleteDirectory(nugetCacheFolder / "NMica" / NMicaVersion.NuGetPackageVersion);
            }
        }
示例#2
0
 private static void SafeDeleteDirectory(AbsolutePath directory)
 {
     FileSystemTasks.EnsureCleanDirectory(directory);
     FileSystemTasks.DeleteDirectory(directory);
 }