Fake.StrongTargets 0.2.0

dotnet add package Fake.StrongTargets --version 0.2.0                
NuGet\Install-Package Fake.StrongTargets -Version 0.2.0                
命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Fake.StrongTargets" Version="0.2.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用该软件包。
paket add Fake.StrongTargets --version 0.2.0                
#r "nuget: Fake.StrongTargets, 0.2.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中以引用该软件包。
// Install Fake.StrongTargets as a Cake Addin
#addin nuget:?package=Fake.StrongTargets&version=0.2.0

// Install Fake.StrongTargets as a Cake Tool
#tool nuget:?package=Fake.StrongTargets&version=0.2.0                

Fake.Targets.Strong

Nuget

通过将 FAKE 目标作为值而不是字符串来引用,提高编译器的安全性。

示例

基于项目的基本示例

参见 build.fs

一个简短的示例是

open Fake.StrongTargets

let clean = 
    Target.ByRef.create "clean" <| fun _ ->
        //...

let build = 
    Target.ByRef.create "build" <| fun _ ->
        //...
    |> Target.ByRef.dependsOn [clean]

Targets.ByRef.runOrDefault build

请注意,创建目标仍然会导致全局目标注册。

较短的模块路径

如果您不喜欢写 Target.ByRef.methodName 或只是 ByRef.methodName,则可以给模块命名别名

module TRef = Target.ByRef

let clean = TRef.create "clean" ...

Fsx/script 使用

脚本构建中的使用与之前相同,只需引用 NuGet 软件包即可。

#r "paket:
nuget Fake.StrongTargets //"

open Fake.StrongTargets

...

分离的构建依赖项

我已经展示了与目标声明一起指定的目标依赖项,但它们也可以轻松分离

// open the module just for brevity sake
open open Fake.StrongTargets.Target.ByRef 

// declare deps as a single tree
default' 
|> dependsOn [
    clean
    test |> dependsOn [
        build |> dependsOn [clean]
    ]
] 
|> ignore

此方法也可用于基于不同条件语句的不同依赖项。

运算符

还有在 Fake.StrongTargets.Operators 中定义的运算符,与基本的 FAKE 运算符等效

  • 左端依赖dependent <== [dependencies]
  • 右端依赖 dependency ==> dependent
  • 左端软依赖 dependent <=? dependency
  • 右端软依赖 dependency ?=> dependent

因此,您仍然可以像在 Fake 文档中通常显示的那样定义目标依赖项。

open Fake.StrongTargets.Operators

clean ==> build ==> test ==> default'

请注意,您不能同时使用基于字符串的运算符和这些运算符,因为它们的定义冲突

项目状态

这个存储库是一个概念验证,但它可以正常工作,风险很低,因为它只是别名了几个Fake.Core.Targets中的命令。

如果它足够受欢迎,我可能会将其贡献给FAKE,并/或追求一个分离目标声明与全局注册的API。欢迎提供反馈!

产品 兼容和额外的计算目标框架版本。
.NET net5.0已被计算。 net5.0-windows已被计算。 net6.0兼容。 net6.0-android已被计算。 net6.0-ios已被计算。 net6.0-maccatalyst已被计算。 net6.0-macos已被计算。 net6.0-tvos已被计算。 net6.0-windows已被计算。 net7.0已被计算。 net7.0-android已被计算。 net7.0-ios已被计算。 net7.0-maccatalyst已被计算。 net7.0-macos已被计算。 net7.0-tvos已被计算。 net7.0-windows已被计算。 net8.0已被计算。 net8.0-android已被计算。 net8.0-browser已被计算。 net8.0-ios已被计算。 net8.0-maccatalyst已被计算。 net8.0-macos已被计算。 net8.0-tvos已被计算。 net8.0-windows已被计算。
.NET Core netcoreapp2.0已被计算。 netcoreapp2.1已被计算。 netcoreapp2.2已被计算。 netcoreapp3.0已被计算。 netcoreapp3.1已被计算。
.NET Standard netstandard2.0兼容。 netstandard2.1已被计算。
.NET Framework net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容目标框架
包含目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包

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

GitHub 仓库

此包没有被任何热门 GitHub 仓库使用。

版本 下载 最后更新
0.2.0 182 3/27/2023
0.1.0 149 3/27/2023