Closed georgewfraser closed 5 years ago
@georgewfraser on the off chance you weren't aware of it, there is a general purpose library here: https://github.com/enricosada/dotnet-proj-info/
@georgewfraser The one in FCS only really works with certain types of fsproj file, initially it was used in vs4mac but was later removed because it only supported a limited range of fsproj types. Enrico's dotnet-proj-info supports the new style (netstandard) fsproj files quite well, Im not sure if there are still issues with the old style projects.
dotnet-proj-info is quite brittle, many .fsprojs will cause it to fail, including the FSharp compiler itself. The one in this repo looks promising 🤞
Hi @georgewfraser
I had no idea about that project, wow! (any desire to move it to fsprojects? Some people like to have their projects in neutral orgs to help attract more contributors and co-maintainers - up to you of course :))
The code I'm using is based on Enrico's Dotnet.ProjInfo
https://github.com/fsprojects/FSharp.Compiler.PortaCode/blob/master/src/FSharp.Compiler.PortaCode.fsproj#L17. Plus a variation of the code in FsAutoComplete.
It's been ok but I'm only using it on new-style SDK fsproj files.
I notice Dotnet.ProjInfo is now at version 0.31.0 and we're using 0.9.0 here so I assume there are fixes available
Note the F# compiler repo code has been updated to use SDK style project files fairly recently it might make things easier.
Maybe I have misjudged dotnet-proj-info, I will give it another look.
Yes, I think it would make sense to move the project to fsprojects for the reasons you cite. Are there any governance or license rules, or anything like that? Who would approve the move?
Yes, I think it would make sense to move the project to fsprojects for the reasons you cite. Are there any governance or license rules, or anything like that? Who would approve the move?
I can approve (approved!)
The governance is that
I think you can just move the project in as long as you're a member of some team here - members can create new repos here.
Note dotnet-proj-info does not appear to be the same as Dotnet.ProjInfo. I'm not sure of the differences but the second has been updated just a few days ago, the former 4 months ago.
There's an onboarding process mentioned here: https://github.com/fsprojects/FsProjectsAdmin/
It's a little out of date
Done!
I will give dotnet-proj-info/Dotnet.ProjInfo another look.
Hi, I've maintained an F# language server for a while, and the fiddliest part is cracking project files.
Is ProjectCracker.fs intended to be a general-purpose .fsproj => f# compiler options converter? Or is it only meant to crack the kind of .fsproj files that are used in Fabulous?