-
Notifications
You must be signed in to change notification settings - Fork 99
Expand file tree
/
Copy pathPackageTasks.fs
More file actions
108 lines (100 loc) · 4.96 KB
/
Copy pathPackageTasks.fs
File metadata and controls
108 lines (100 loc) · 4.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
module PackageTasks
open ProjectInfo
open MessagePrompts
open BasicTasks
open TestTasks
open BlackFox.Fake
open Fake.Core
open Fake.DotNet
open Fake.IO.Globbing.Operators
let pack = BuildTask.create "Pack" [ clean; build; runTests ] {
projects
|> List.iter (fun pInfo ->
if promptYesNo $"creating stable package for {pInfo.Name}{System.Environment.NewLine}\tpackage version: {pInfo.PackageVersionTag}{System.Environment.NewLine}\tassembly version: {pInfo.AssemblyVersion}{System.Environment.NewLine}\tassembly informational version: {pInfo.AssemblyInformationalVersion}{System.Environment.NewLine} OK?" then
pInfo.ProjFile
|> Fake.DotNet.DotNet.pack (fun p ->
let msBuildParams =
match pInfo.ReleaseNotes with
| Some r ->
{ p.MSBuildParams with
Properties =
([
"Version",pInfo.PackageVersionTag
"AssemblyVersion", pInfo.AssemblyVersion
"AssemblyInformationalVersion", pInfo.AssemblyVersion
"PackageReleaseNotes", (r.Notes |> String.concat "\r\n")
"TargetsForTfmSpecificContentInPackage", "" //https://github.com/dotnet/fsharp/issues/12320
]
@ p.MSBuildParams.Properties)
}
| _ ->
{ p.MSBuildParams with
Properties =
([
"Version",pInfo.PackageVersionTag
"AssemblyVersion", pInfo.AssemblyVersion
"AssemblyInformationalVersion", pInfo.AssemblyVersion
"TargetsForTfmSpecificContentInPackage", "" //https://github.com/dotnet/fsharp/issues/12320
]
@ p.MSBuildParams.Properties)
}
{ p with
MSBuildParams = msBuildParams
OutputPath = Some pkgDir
NoBuild = true
}
|> DotNet.Options.withCustomParams (Some "--no-dependencies")
)
else
failwith "aborted"
)
}
let packPrerelease =
BuildTask.create
"PackPrerelease"
[
setPrereleaseTag
clean
build
runTests
] {
projects
|> List.iter (fun pInfo ->
if promptYesNo $"creating prerelease package for {pInfo.Name}{System.Environment.NewLine}\tpackage version: {pInfo.PackagePrereleaseTag}{System.Environment.NewLine}\tassembly version: {pInfo.AssemblyVersion}{System.Environment.NewLine}\tassembly informational version: {pInfo.AssemblyInformationalVersion}{System.Environment.NewLine} OK?" then
pInfo.ProjFile
|> Fake.DotNet.DotNet.pack (fun p ->
let msBuildParams =
match pInfo.ReleaseNotes with
| Some r ->
{ p.MSBuildParams with
Properties =
([
"Version",pInfo.PackagePrereleaseTag
"AssemblyVersion", pInfo.AssemblyVersion
"InformationalVersion", pInfo.AssemblyInformationalVersion
"PackageReleaseNotes", (r.Notes |> String.concat "\r\n")
"TargetsForTfmSpecificContentInPackage", "" //https://github.com/dotnet/fsharp/issues/12320
])
}
| _ ->
{ p.MSBuildParams with
Properties =
([
"Version",pInfo.PackagePrereleaseTag
"AssemblyVersion", pInfo.AssemblyVersion
"InformationalVersion", pInfo.AssemblyInformationalVersion
"TargetsForTfmSpecificContentInPackage", "" //https://github.com/dotnet/fsharp/issues/12320
])
}
{ p with
VersionSuffix = Some prereleaseSuffix
OutputPath = Some pkgDir
MSBuildParams = msBuildParams
NoBuild = true
}
|> DotNet.Options.withCustomParams (Some "--no-dependencies")
)
else
failwith "aborted"
)
}