-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace FAKE with Fun.Build. #576
base: master
Are you sure you want to change the base?
Conversation
# Conflicts: # Content/default/Build.fs
|
|
Reasons not to include this in SAFE v5.0.0 (but consider for v5.1.0):
Reasons to prefer FAKE anyway:
|
@mattgallagher92 I agree - let's keep this PR going for post v5.0. FAKE - I'm unsure how many people are actively contributing to it nowadays TBH. Remember that we can still use FAKE libraries - what we're essentially doing here is removing the FAKE target / composition bit and replacing with Fun.Build. As it turns out, we don't even need those FAKE libraries any longer - I just replaced the calls with standard .NET and it all works. |
@martinbryant I've fixed the test build now, this is now green. |
Think we can look at closing #552 when completing this |
@martinbryant we should first decide if we are going to adopt this approach or not (see #576 (comment)). If we do merge these changes in, I think that you're probably right. We'd just be swapping one Build.fs file for one Build directory, which is not really more tidy. If we were to have more than one F# file for the build project, it'd be worth considering the approach suggested in #552 again. |
Is this generally accepted as "the way forward"? If so, I'll resolve the conflicts and get this ready on Friday. |
I'm ambivalent. I don't feel any strong need to move away from FAKE, but the benefits you listed seem good. Moving back in future should be relatively easy if necessary. Given that we're changing how programs like dotnet and npm are called, we should test on Windows, Mac and Linux before merging. |
Resurrecting this discussion @isaacabraham. I'm okay to switch, but I do think the lack of colouration might be pain for some users (us included). How nice would the code be if we wanted to share stages across multiple pipelines? E.g. @jwthomson @Larocceau do you have any strong feelings? |
This (somewhat experimental) PR replaces FAKE with Fun.Build for the build project. The benefits of this PR are:
I also have used this opportunity to only run a "clean" on doing a Bundle - there's no need to do it on a Run as far as I can see.
You can still run the "default" pipeline with a standard
dotnet run
. Running other pipelines usesdotnet run -- -p <pipeline name>
.We do lose the fancy colouration for Client and Server output, however,