From 0b0ed67a2477a6b64c988aeb7dbdb1b71066c9c0 Mon Sep 17 00:00:00 2001 From: Steffen Forkmann Date: Wed, 9 Feb 2022 09:15:00 +0100 Subject: [PATCH] Bump version to 7.0.0-alpha016 --- RELEASE_NOTES.md | 2 +- src/Paket.Core/Installation/InstallProcess.fs | 19 ++++++++++--------- src/Paket.Core/Installation/RestoreProcess.fs | 15 ++++++++++----- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bc4dc4b9d0..74155ca0df 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,4 +1,4 @@ -#### 7.0.0-alpha014 - 2022-12-09 +#### 7.0.0-alpha016 - 2022-12-09 * Support as .NET 6.0 tool * Auto-Restore after paket install an paket update diff --git a/src/Paket.Core/Installation/InstallProcess.fs b/src/Paket.Core/Installation/InstallProcess.fs index a25a4067b3..3f5c5dfd00 100644 --- a/src/Paket.Core/Installation/InstallProcess.fs +++ b/src/Paket.Core/Installation/InstallProcess.fs @@ -361,7 +361,7 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile |> Seq.map (fun kv -> kv.Key) |> Set - let touchedProjects = System.Collections.Generic.HashSet() + let touchedProjects = System.Collections.Generic.HashSet<_>() tracefn "Created dependency graph (%d packages in total)" packagesToInstall.Count let root = Path.GetDirectoryName lockFile.FileName let model = CreateModel(options.AlternativeProjectRoot, root, options.Force, dependenciesFile, lockFile, packagesToInstall, updatedGroups) |> Map.ofArray @@ -499,7 +499,7 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile if toolsVersion >= 15.0 then installForDotnetSDK root project if forceTouch then - touchedProjects.Add project.FileName |> ignore + touchedProjects.Add project |> ignore else match touchedPackages with | Some touchedPackages -> @@ -507,9 +507,9 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile touchedPackages |> Seq.exists (fun (g,p,_,_) -> project.HasPackageInstalled (g,p)) if packageInstalled then - touchedProjects.Add project.FileName |> ignore + touchedProjects.Add project |> ignore | _ -> - touchedProjects.Add project.FileName |> ignore + touchedProjects.Add project |> ignore else project.UpdateReferences(model, directDependencies, usedPackages) @@ -558,7 +558,7 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile project.Save forceTouch projectCache.[project.FileName] <- Some project - let first = ref true + let mutable first = true let allKnownLibNames = model @@ -585,7 +585,7 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile (snd kv.Value,packageRedirects)) |> applyBindingRedirects - !first + first options.CreateNewBindingFiles options.CleanBindingRedirects (FileInfo project.FileName).Directory.FullName @@ -593,7 +593,7 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile lockFile.GetAllDependenciesOf allKnownLibNames projectCache - first := false + first <- false let restoreCacheFile = Path.Combine(root, Constants.PaketRestoreHashFilePath) let hash = Paket.RestoreProcess.getLockFileHashFromContent (lockFile.ToString()) @@ -602,8 +602,9 @@ let InstallIntoProjects(options : InstallerOptions, forceTouch, dependenciesFile Paket.RestoreProcess.writeRestoreCache restoreCacheFile { PackagesDownloadedHash = hash; ProjectsRestoredHash = hash } Paket.RestoreProcess.writeGitignore restoreCacheFile - for project in touchedProjects do - let di = (FileInfo project).Directory + for project in touchedProjects |> Seq.distinctBy (fun p -> p.FileName) |> Seq.sortBy (fun p -> p.FileName) do + tracefn " - Project %O needs to be restored" project.Name + let di = (FileInfo project.FileName).Directory for objDir in Directory.EnumerateDirectories(di.FullName,"obj", SearchOption.AllDirectories) do for file in Directory.EnumerateFiles(objDir,"project.assets.json", SearchOption.AllDirectories) do try diff --git a/src/Paket.Core/Installation/RestoreProcess.fs b/src/Paket.Core/Installation/RestoreProcess.fs index 6a982115cf..2d97316729 100644 --- a/src/Paket.Core/Installation/RestoreProcess.fs +++ b/src/Paket.Core/Installation/RestoreProcess.fs @@ -596,7 +596,8 @@ let RestoreNewSdkProject lockFile resolved groups (projectFile:ProjectFile) targ RunInLockedAccessMode ( objDirectory.FullName, - (fun () -> + (fun () -> + tracefn "Restoring %O" projectFile.FileName createAlternativeNuGetConfig (projectFileInfo, objDirectory) createProjectReferencesFiles lockFile projectFile referencesFile resolved groups targetFrameworks objDirectory false @@ -708,7 +709,11 @@ let Restore(dependenciesFileName,projectFile:RestoreProjectOptions,force,group,i // fixup project specific changes (like an additional target framework or a changed references file) // Check if caching makes sense (even if we only can cache parts of it) - let canCacheRestore = not (hasLocalFile || force) && targetFrameworks = None && (projectFile = AllProjects || projectFile = NoProjects) && group = None + let canCacheRestore = + not (hasLocalFile || force) && + targetFrameworks = None && + (projectFile = AllProjects || projectFile = NoProjects) && + group = None if not skipRestoreTargetsExtraction && (projectFile = AllProjects || projectFile = NoProjects) then extractRestoreTargets root |> ignore @@ -727,9 +732,9 @@ let Restore(dependenciesFileName,projectFile:RestoreProjectOptions,force,group,i Some updatedCache, cache, lockFileHash, (isPackagesDownloadUpToDate && isProjectRestoreUpToDate) || (projectFile = NoProjects && isPackagesDownloadUpToDate) let _,_,_, canEarlyExit = readCache() - - if canEarlyExit then - tracefn "The last restore is still up to date. Nothing left to do." + + if canEarlyExit then + tracefn "The last full restore is still up to date. Nothing left to do." else let dependenciesFile = DependenciesFile.ReadFromFile(dependenciesFileName)