-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathReleaseNotesTasks.fs
49 lines (41 loc) · 1.88 KB
/
ReleaseNotesTasks.fs
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
module ReleaseNotesTasks
open Fake.Extensions.Release
open BlackFox.Fake
open Fake.Core
/// This might not be necessary, mostly useful for apps which want to display current version as it creates an accessible F# version script from RELEASE_NOTES.md
let createAssemblyVersion = BuildTask.create "createvfs" [] {
AssemblyVersion.create ProjectInfo.project
}
// https://github.com/Freymaurer/Fake.Extensions.Release#releaseupdate
let updateReleaseNotes = BuildTask.createFn "ReleaseNotes" [] (fun config ->
ReleaseNotes.update(ProjectInfo.gitOwner, ProjectInfo.project, config)
let semVerLong,semVerShort =
Fake.Core.ReleaseNotes.load "RELEASE_NOTES.md"
|> fun x ->
x.SemVer.AsString,
$"{x.SemVer.Major}.{x.SemVer.Minor}.{x.SemVer.Patch}"
Trace.trace "Start updating package.json version"
// Update Version in src/Nfdi4Plants.Fornax.Template/package.json
let p = "build/release_package.json"
let t = System.IO.File.ReadAllText p
let tNew = System.Text.RegularExpressions.Regex.Replace(t, """\"version\": \".*\",""", sprintf "\"version\": \"%s\"," semVerLong )
System.IO.File.WriteAllText(p, tNew)
Trace.trace "Finish updating package.json version"
Trace.trace "Start updating pyproject.toml version"
let p = "pyproject.toml"
let t = System.IO.File.ReadAllText p
let tNew = System.Text.RegularExpressions.Regex.Replace(t, "version = \".*\"", sprintf "version = \"%s\"" semVerShort )
System.IO.File.WriteAllText(p, tNew)
Trace.trace "Finish updating pyproject.toml version"
)
// https://github.com/Freymaurer/Fake.Extensions.Release#githubdraft
let githubDraft = BuildTask.createFn "GithubDraft" [] (fun config ->
let body = "We are ready to go for the first release!"
Github.draft(
ProjectInfo.gitOwner,
ProjectInfo.project,
(Some body),
None,
config
)
)