fsprojects / Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
https://fsprojects.github.io/Paket/
MIT License
1.99k stars 520 forks source link

improve use case of `restore` that would not restore anything due to framework restriction and project being with wrong/lower framework version #4236

Open smoothdeveloper opened 7 months ago

smoothdeveloper commented 7 months ago

Just taking a note that we should look at improving the case where paket.dependencies / paket.lock have a framework restriction, and projects get strictly 0 packages restored.

The use case is this commit: https://github.com/roboz0r/fable-elmish-lit-tailwind/commit/c549d767a2b855e0d2e18274fa081c3e37622a52

which requires the fixes up to this commit https://github.com/smoothdeveloper/fable-elmish-lit-tailwind/commit/5b7c5d7bbaa2bd791084cfdb475b8139d5bfa73f

roboz0r commented 7 months ago

As a suggestion, when running dotnet paket install the output is:

Paket version 8.0.0+6bcb14ec191f11e984ff0e58016f5987a5cfa8f6
Skipping resolver for group Main since it is already up-to-date
Installing into projects:
Created dependency graph (14 packages in total)
Calling dotnet restore on fable-elmish-lit-tailwind.sln
  Determining projects to restore...
  Restored .\fable-elmish-lit-tailwind\src\Website.fsproj (in 843 ms).
Total time taken: 0 milliseconds

A line at the end like WARNING: 0 packages restored for .\fable-elmish-lit-tailwind\src\Website.fsproj would tip off the issue.

smoothdeveloper commented 7 months ago

@roboz0r thanks for excellent suggestion.

I also like to keep "Total time taken: 0 milliseconds", maybe I'll color it orange when things take less than a milliseconds if the logged steps are supposed to take >= 1 milliseconds?

roboz0r commented 7 months ago

I think that the timer may not be in quite the right place as even checking whether the last restore is up to date should take > 1ms?