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
NuGet 团队不提供对该客户端的支持。请联系其 维护者 以获取支持。
#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
NuGet 团队不提供对该客户端的支持。请联系其 维护者 以获取支持。
Fake.Targets.Strong
通过将 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 已计算。 |
-
.NETStandard 2.0
- Fake.Core.Target (>= 5.23.1)
- FSharp.Core (>= 6.0.7)
-
net6.0
- Fake.Core.Target (>= 5.23.1)
- FSharp.Core (>= 6.0.7)
NuGet 包
此包没有被任何 NuGet 包使用。
GitHub 仓库
此包没有被任何热门 GitHub 仓库使用。