FsMake 0.6.1
dotnet add package FsMake --version 0.6.1
NuGet\Install-Package FsMake -Version 0.6.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FsMake" Version="0.6.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FsMake --version 0.6.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FsMake, 0.6.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FsMake as a Cake Addin #addin nuget:?package=FsMake&version=0.6.1 // Install FsMake as a Cake Tool #tool nuget:?package=FsMake&version=0.6.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
<h4> █▀▀ █▀ █▀▄▀█ ▄▀█ █▄▀ █▀▀<br /> █▀░ ▄█ █░▀░█ █▀█ █░█ ██▄ </h4>
Simple build pipelines with F#
Development 🚧
⚠ While this library is pre 1.0.0, there is the possibility of breaking changes in the public API.
Documentation
Documentation with examples and API reference can be found here.
Demo
Usage
// build.fsx
#r "nuget: FsMake"
// or a specific version
// #r "nuget: FsMake, 0.1.0"
open FsMake
open System.IO
let args = fsi.CommandLineArgs
let useAnsi = EnvVar.getOptionAs<int> "ANSI" |> Option.contains 1
let buildConfig = EnvVar.getOption "BUILD_CONFIG" |> Option.defaultValue "Debug"
let clean =
Step.create "clean" {
Glob.create "nupkgs/*.nupkg" |> Glob.toPaths |> Seq.iter (File.Delete)
do! Cmd.createWithArgs "dotnet" [ "clean"; "-v"; "m" ] |> Cmd.run
}
let restore = Step.create "restore" { do! Cmd.createWithArgs "dotnet" [ "restore" ] |> Cmd.run }
let build =
Step.create "build" {
do!
Cmd.createWithArgs "dotnet" [ "build"; "--no-restore" ]
|> Cmd.args [ "-c"; buildConfig ]
|> Cmd.argMaybe useAnsi "/consoleloggerparameters:ForceConsoleColor"
|> Cmd.run
}
let testUnit =
Step.create "test:unit" {
do!
Cmd.createWithArgs "dotnet" [ "test" ]
|> Cmd.args [ "--no-build"; "--no-restore"; "MyProject.UnitTests" ]
|> Cmd.run
}
let testInt =
Step.create "test:integration" {
do!
retry 2 {
do!
Cmd.createWithArgs "dotnet" [ "test" ]
|> Cmd.args [ "--no-build"; "--no-restore"; "MyProject.IntegrationTests" ]
|> Cmd.run
}
}
Pipelines.create {
let! build =
Pipeline.create "build" {
run clean
run restore
run build
}
do! Pipeline.createFrom build "test" { run_parallel [ testUnit; testInt ] }
default_pipeline build
}
|> Pipelines.runWithArgsAndExit args
To run:
dotnet fsi build.fsx --
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- FSharp.Core (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.6.1 | 1,624 | 5/26/2022 |
0.6.0 | 395 | 5/24/2022 |
0.6.0-beta.1 | 127 | 5/21/2022 |
0.5.0 | 575 | 4/9/2022 |
0.5.0-beta.3 | 135 | 4/9/2022 |
0.5.0-beta.2 | 125 | 4/4/2022 |
0.5.0-beta.1 | 156 | 3/25/2022 |
0.4.0 | 507 | 12/17/2021 |
0.4.0-beta.2 | 236 | 12/17/2021 |
0.4.0-beta.1 | 206 | 12/13/2021 |
0.3.0 | 441 | 6/29/2021 |
0.3.0-beta.1 | 345 | 6/28/2021 |
0.2.1 | 555 | 6/25/2021 |
0.2.0 | 509 | 6/22/2021 |
0.2.0-beta.3 | 333 | 6/22/2021 |
0.2.0-beta.2 | 197 | 6/22/2021 |
0.2.0-beta.1 | 177 | 6/21/2021 |
0.2.0-alpha.1 | 161 | 6/20/2021 |
0.1.0 | 517 | 6/14/2021 |
0.1.0-beta.1 | 312 | 6/14/2021 |
0.1.0-alpha.45 | 301 | 6/14/2021 |