fable-compiler / Fable

F# to JavaScript, TypeScript, Python, Rust and Dart Compiler
http://fable.io/
MIT License
2.92k stars 299 forks source link

Port `sync-fcs-repo` and `copy-fcs-repo` to the new build system #3531

Open MangelMaxime opened 1 year ago

MangelMaxime commented 1 year ago

Description

Hello @ncave, sync-fcs-repo target seems to be broken to me.

Our build.fsx si trying to update a build.fsx file from the FCS repo which doesn't seems to exist. And even, when trying to run commands manually, it seems like I am missing steps or not running from the correct directory if I follow what our build.fsx tell me.

What are the steps to build the service_slim and the Fable metadata packages?

What is the usage of service_slim?

ncave commented 1 year ago

@MangelMaxime I don't think they're broken, but they may be expecting you to have this dotnet/fsharp fork repo locally, in a specific folder. There are quite a few branches in there, but most of them are only kept for historic reasons. You can just go to the PR page, the important ones are listed as long-term open PRs for reference:

There are instructions how to build each one of those, in the PRs.

Technically, you only need to run sync-fcs-repo when there is something new in those branches. At the moment, they have already been synched with Fable. These branches are usually rebased from the upstream FCS (dotnet/fsharp) from time to time, usually whenever there is some major F# lang revision.

I plan on updating those branches close to the .NET 8.0 release, and I'll sync them with Fable after. The service_slim and export branches are relatively easy to rebase to the latest F# version, where fable is usually a bit more involving.

It all depends on how much churn there was in dotnet/fsharp in the mean time, sometimes there is a lot.

If that's unclear or you have other questions, please feel free to ask.

And lest I forget, thanks for picking up the torch and making new releases!