FsMake 0.6.1

dotnet add package FsMake --version 0.6.1                
NuGet\Install-Package FsMake -Version 0.6.1                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="FsMake" Version="0.6.1" />                
对于支持 包引用 的项目,将此 XML 节点复制到项目文件中以便引用此包。
paket add FsMake --version 0.6.1                
#r "nuget: FsMake, 0.6.1"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以便引用该包。
// 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                

<h4> █▀▀ █▀ █▀▄▀█ ▄▀█ █▄▀ █▀▀<br /> █▀░ ▄█ █░▀░█ █▀█ █░█ ██▄ </h4>

使用 F# 的简单构建管道

Nuget develop branch status

开发 🚧

⚠ 在此库尚在 1.0.0 版之前,公共 API 有可能发生破坏性变更。

文档

文档、示例和 API 参考,请见 此处

演示

FsMake Demo

用法

// 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

要运行

dotnet fsi build.fsx --
产品 兼容和额外的计算目标框架版本。
.NET
.NET Core
了解更多关于 目标框架.NET Standard

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

此包没有被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
0.6.1 1,509 5/26/2022
0.6.0 382 5/24/2022
0.6.0-beta.1 116 5/21/2022
0.5.0 544 4/9/2022
0.5.0-beta.3 124 4/9/2022
0.5.0-beta.2 114 4/4/2022
0.5.0-beta.1 146 3/25/2022
0.4.0 478 12/17/2021
0.4.0-beta.2 225 12/17/2021
0.4.0-beta.1 197 12/13/2021
0.3.0 426 6/29/2021
0.3.0-beta.1 333 6/28/2021
0.2.1 542 6/25/2021
0.2.0 482 6/22/2021
0.2.0-beta.3 321 6/22/2021
0.2.0-beta.2 185 6/22/2021
0.2.0-beta.1 167 6/21/2021
0.2.0-alpha.1 149 6/20/2021
0.1.0 491 6/14/2021
0.1.0-beta.1 289 6/14/2021
0.1.0-alpha.45 288 6/14/2021