fscheck / FsCheck

Random Testing for .NET
https://fscheck.github.io/FsCheck/
BSD 3-Clause "New" or "Revised" License
1.17k stars 156 forks source link

Delete Paket and FAKE #662

Closed Smaug123 closed 7 months ago

Smaug123 commented 7 months ago

This is now ready for review (as of e20ce41). There are some known quirks, which I'm listing in https://github.com/fscheck/FsCheck/issues/663 ; this PR is massive, so I propose fixing them in follow-up PRs instead.

Nupkg dependencies are the same

dotnet fsi build.fsx -t NugetPack and then create NuGet.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="LocalSource" value="/Users/patrick/Documents/GitHub/FsCheck/bin" />
  </packageSources>
</configuration>

Verify deps in Rider:

Screenshot 2024-02-24 at 16 15 26

Tested on macOS

Tested on Windows

Smaug123 commented 7 months ago

@kurtschelfthout I don't have perms to kill the existing runs, which are just spinning due to me falling victim to one of the classic .NET blunders (failing to call Process.BeginOutputReadLine). They're going to hang forever.

Smaug123 commented 7 months ago

Dear Lord I hate msbuild and NuGet. They're both so completely cursed.

smoothdeveloper commented 7 months ago

@Smaug123 they are the very reason FAKE and Paket came into being, so they can't be cursed 🙂.

Smaug123 commented 7 months ago

(That's presumably an argument that they are cursed, right, because we had to replace them with Paket and FAKE.)

Smaug123 commented 7 months ago

Honestly, how on earth did they come up with this

Package FsCheck 3.0.0-rc1 is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Package FsCheck 3.0.0-rc1 supports: netstandard2.0 (.NETStandard,Version=v2.0) Unable to satisfy conflicting requests for 'FSharp.Core': FSharp.Core (>= 5.0.2) (via project/FsCheck 3.0.0-rc1), FSharp.Core (>= 5.0.2) (via package/FsCheck 3.0.0-rc1) Framework: (.NETCoreApp,Version=v6.0) [/Users/patrick/Documents/GitHub/FsCheck/FsCheck.sln]

dotnet pack fails in a nondeterministic way when run within my build.fsx but consistently passes when I run it manually. I wonder if this is one of those classic "there is literally no sequence of dotnet restore/dotnet build --no-restore commands which is guaranteed to work; you must always let dotnet build do the restore" kinds of problem.

Smaug123 commented 7 months ago

@kurtschelfthout Have at it; feel free to give it a go on a branch for releasing the docs!

Smaug123 commented 7 months ago

(Feel free to tell me to do anything better, by the way. After hours of fighting NuGet and the dotnet CLI, I stopped when I reached something that appeared to work; but tomorrow is a new day.)

kurtschelfthout commented 7 months ago

This is awesome. I had to fix a few things when releasing the docs, but that's fine. I managed to release the docs which is great.

I'm going to test the nuget pack tomorrow, it's getting late here.

kurtschelfthout commented 7 months ago

Pack looking great. I'm going to merge this, fix up on master what I've fixed up. Then I'll try an actual release of rc2, which will need a few additional fixes.

This is awesome. Much appreciated.

Smaug123 commented 7 months ago

Cool - tag me if you need a hand with anything, I should be around for most of today.