fake-cli
6.1.0
See the version list below for details.
dotnet tool install --global fake-cli --version 6.1.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local fake-cli --version 6.1.0
#tool dotnet:?package=fake-cli&version=6.1.0
nuke :add-package fake-cli --version 6.1.0
FAKE - F# Make ·
"FAKE - F# Make" is a cross platform build automation system. Due to its integration in F#, all the benefits of the .NET Framework and functional programming can be used, including the extensive class library, powerful debuggers and integrated development environments like Visual Studio or MonoDevelop, which provide syntax highlighting and code completion.
The new DSL was designed to be succinct, typed, declarative, extensible and easy to use.
Here is an example to get a glimpse on FAKE:
// build.fsx
#r "paket:
nuget Fake.Core.Trace
nuget Fake.Core.Target //"
// include Fake modules, see Fake modules section
open Fake.Core
// *** Define Targets ***
Target.create "Clean" (fun _ ->
Trace.log " --- Cleaning stuff --- "
)
Target.create "Build" (fun _ ->
Trace.log " --- Building the app --- "
)
Target.create "Deploy" (fun _ ->
Trace.log " --- Deploying app --- "
)
open Fake.Core.TargetOperators
// *** Define Dependencies ***
"Clean"
==> "Build"
==> "Deploy"
// *** Start Build ***
Target.runOrDefault "Deploy"
This example pulls Fake's Target
and Trace
modules and define three targets: Clean
, Build
, and Deploy
. By analogy with a .Net project;
- the
Clean
target can be used to clean the project before a build, - the
Build
target to call MSBuild or any build steps that are required for you application, - the
Deploy
target can push your built project to a cloud service.
At the bottom, the example define target dependencies, which specify that a Deploy
must run after a Build
which must run after a Clean
.
See the project home page for tutorials and the API documentation for various FAKE modules.
Requirements
Fake runner requires .Net v6 SDK to be installed on the machine to run it. .Net v6 was chosen since it is the current LTS release of .Net
FAKE 5 doesn't have this requirement. You can use FAKE 5 runner without having .NET 6 SDK installed since it will default to NETSTANDARD2.0 assemblies. But we advice to see the options available to run your build script in Different Ways to run FAKE
Fake modules has target frameworks of net6
and netstandard2.0
. Please see this link which lists the supported .Net and .NET Framework versions by netstandard2.0
Installation
- Either: Download and install the Dotnet SDK and run
dotnet tool restore
followed bydotnet fake build
- Or: Install FAKE 5 or later (for example via
choco install fake -pre
) and runfake build
Note: You can find more details on the contributing page
Make sure to have long path enabled: see how to enable long paths Otherwise the test-suite will fail (However, the compilation should work)
Usage
See detailed instructions on how to use FAKE in the getting started guide.
NuGet Packages
Package Name | Nuget |
---|---|
Fake-Cli |
|
Fake.Core.Target |
|
Fake.Core.Context |
|
Legacy FAKE |
Contributing
See the contributing page.
Maintainers
Although this project is hosted in the fsprojects organization, it is not maintained and managed by the F# Core Engineering Group. The F# Core Engineering Group acknowledges that the independent owner and maintainer of this project is Steffen Forkmann.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
6.1.3 | 8,713 | 9/26/2024 |
6.1.2 | 618 | 9/24/2024 |
6.1.1 | 2,787 | 9/1/2024 |
6.1.0 | 3,150 | 8/5/2024 |
6.0.0 | 173,173 | 2/21/2023 |
6.0.0-beta001 | 5,878 | 12/21/2022 |
6.0.0-alpha004 | 1,215 | 11/17/2022 |
6.0.0-alpha003 | 371 | 11/11/2022 |
6.0.0-alpha002 | 835 | 11/1/2022 |
6.0.0-alpha001 | 1,006 | 11/1/2022 |
5.23.1 | 78,388 | 10/21/2022 |
5.23.0 | 66,404 | 8/1/2022 |
5.23.0-alpha002 | 1,152 | 7/22/2022 |
5.23.0-alpha001 | 278 | 7/15/2022 |
5.22.0 | 244,908 | 2/14/2022 |
5.21.1 | 5,797 | 1/30/2022 |
5.21.0 | 7,613 | 1/24/2022 |
5.21.0-alpha004 | 1,839 | 1/6/2022 |
5.21.0-alpha003 | 6,174 | 11/11/2021 |
5.21.0-alpha002 | 229 | 11/11/2021 |
5.21.0-alpha001 | 271 | 11/10/2021 |
5.20.4 | 427,447 | 3/31/2021 |
5.20.4-alpha.1658 | 177 | 3/30/2021 |
5.20.4-alpha.1642 | 56,119 | 10/23/2020 |
5.20.3 | 240,891 | 8/5/2020 |
5.20.2 | 33,340 | 6/27/2020 |
5.20.1 | 16,238 | 6/13/2020 |
5.20.1-alpha.1590 | 254 | 5/7/2020 |
5.20.0 | 55,983 | 5/5/2020 |
5.20.0-alpha.1584 | 228 | 5/5/2020 |
5.20.0-alpha.1583 | 232 | 5/5/2020 |
5.20.0-alpha.1580 | 299 | 5/4/2020 |
5.20.0-alpha.1566 | 268 | 4/13/2020 |
5.20.0-alpha.1545 | 1,133 | 3/7/2020 |
5.20.0-alpha.1535 | 232 | 3/6/2020 |
5.19.2-alpha.1526 | 272 | 3/5/2020 |
5.19.1 | 108,847 | 2/9/2020 |
5.19.0 | 59,777 | 12/19/2019 |
5.19.0-alpha.1473 | 264 | 12/18/2019 |
5.19.0-alpha.1439 | 245 | 12/16/2019 |
5.18.3 | 64,207 | 11/4/2019 |
5.18.2 | 6,457 | 10/26/2019 |
5.18.1 | 3,517 | 10/22/2019 |
5.18.0 | 3,708 | 10/20/2019 |
5.17.0 | 5,452 | 10/12/2019 |
5.16.2-alpha.1304 | 2,003 | 10/8/2019 |
5.16.1 | 82,242 | 8/25/2019 |
5.16.0 | 13,210 | 8/17/2019 |
5.16.0-alpha.1228 | 270 | 8/17/2019 |
5.15.4 | 14,401 | 7/16/2019 |
5.15.3 | 5,471 | 7/3/2019 |
5.15.2 | 1,609 | 7/3/2019 |
5.15.1 | 1,714 | 7/1/2019 |
5.15.1-alpha.1104 | 271 | 6/21/2019 |
5.15.0 | 35,183 | 6/17/2019 |
5.14.1 | 1,865 | 6/13/2019 |
5.14.0 | 1,163 | 6/12/2019 |
5.14.0-alpha.1085 | 280 | 6/10/2019 |
5.13.7 | 11,689 | 5/12/2019 |
5.13.5 | 5,129 | 5/1/2019 |
5.13.3 | 1,094 | 4/30/2019 |
5.13.2 | 2,671 | 4/23/2019 |
5.13.1 | 991 | 4/22/2019 |
5.13.0 | 4,117 | 4/14/2019 |
5.13.0-alpha.987 | 271 | 4/14/2019 |
5.13.0-alpha.975 | 270 | 4/14/2019 |
5.12.6 | 9,626 | 3/17/2019 |
5.12.4 | 7,204 | 2/27/2019 |
5.12.1 | 4,972 | 2/15/2019 |
5.12.0 | 18,758 | 1/12/2019 |
5.11.1 | 8,819 | 12/6/2018 |
5.11.0 | 2,736 | 12/4/2018 |
5.10.1 | 6,298 | 11/11/2018 |
5.9.3 | 8,744 | 10/15/2018 |
5.9.2 | 1,033 | 10/14/2018 |
5.9.1 | 887 | 10/13/2018 |
5.9.0 | 940 | 10/13/2018 |
5.8.5 | 1,468 | 10/10/2018 |
5.8.4 | 1,273 | 10/8/2018 |
5.7.2 | 2,931 | 9/24/2018 |
5.7.0 | 1,026 | 9/23/2018 |
5.6.2-alpha.494 | 452 | 9/23/2018 |
5.6.2-alpha.491 | 466 | 9/22/2018 |
5.6.1 | 3,002 | 9/9/2018 |
5.5.1-alpha.403 | 509 | 8/26/2018 |
5.5.0 | 5,827 | 8/26/2018 |
5.4.1 | 1,709 | 8/16/2018 |
5.4.0 | 1,312 | 8/11/2018 |
5.3.1 | 2,103 | 8/5/2018 |
5.3.0 | 1,360 | 7/30/2018 |
5.2.0 | 6,206 | 7/9/2018 |
5.1.0 | 8,460 | 6/17/2018 |
5.0.0 | 5,928 | 6/6/2018 |
5.0.0-rc018.248 | 583 | 6/5/2018 |
5.0.0-rc018.244 | 708 | 6/2/2018 |
BUGFIX: MSBuild.build adds a bad string at the end of properties, thanks @0x53A - https://github.com/fsprojects/FAKE/issues/2738
BUGFIX: Allow setting Msbuild max cpu on Linux, thanks @TheAngryByrd - https://github.com/fsprojects/FAKE/pull/2772
ENHANCEMENT: Added shorthash to git functions, thanks @voronoipotato - https://github.com/fsprojects/FAKE/pull/2752
ENHANCEMENT: Support for `/tl:[auto:on:off]` msbuild flag, thanks @smoothdeveloper - https://github.com/fsprojects/FAKE/pull/2768
ENHANCEMENT: Fixes for usage in .NET 8.0 enviroment projects.
ENHANCEMENT: Add Context.setExecutionContextFromCommandLineArgs, thanks @cataggar - https://github.com/fsprojects/FAKE/pull/2750