Skip to content

Commit 5c6f359

Browse files
committed
fix formatting and formatting build tasks
1 parent fec9a3b commit 5c6f359

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1182
-1001
lines changed

Diff for: build/BasicTasks.fs

+14-19
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,19 @@ open Fake.IO.Globbing.Operators
77

88
open ProjectInfo
99

10-
let setPrereleaseTag = BuildTask.create "SetPrereleaseTag" [] {
11-
printfn "Please enter pre-release package suffix"
12-
let suffix = System.Console.ReadLine()
13-
prereleaseSuffix <- suffix
14-
prereleaseTag <- (sprintf "%s-%s" release.NugetVersion suffix)
15-
isPrerelease <- true
16-
}
10+
let setPrereleaseTag =
11+
BuildTask.create "SetPrereleaseTag" [] {
12+
printfn "Please enter pre-release package suffix"
13+
let suffix = System.Console.ReadLine()
14+
prereleaseSuffix <- suffix
15+
prereleaseTag <- (sprintf "%s-%s" release.NugetVersion suffix)
16+
isPrerelease <- true
17+
}
1718

18-
let clean = BuildTask.create "Clean" [] {
19-
!! "src/**/bin"
20-
++ "src/**/obj"
21-
++ "tests/**/bin"
22-
++ "tests/**/obj"
23-
++ "pkg"
24-
|> Shell.cleanDirs
25-
}
19+
let clean =
20+
BuildTask.create "Clean" [] {
21+
!! "src/**/bin" ++ "src/**/obj" ++ "tests/**/bin" ++ "tests/**/obj" ++ "pkg" |> Shell.cleanDirs
22+
}
2623

27-
let build = BuildTask.create "Build" [clean] {
28-
solutionFile
29-
|> DotNet.build id
30-
}
24+
let build =
25+
BuildTask.create "Build" [ clean ] { solutionFile |> DotNet.build id }

Diff for: build/Build.fs

+88-21
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,106 @@ open Fake.IO.Globbing.Operators
88
open Fake.Tools
99

1010
open Helpers
11-
12-
initializeContext()
13-
1411
open BasicTasks
1512
open TestTasks
1613
open PackageTasks
1714
open DocumentationTasks
1815
open ReleaseTasks
1916

17+
initializeContext ()
18+
19+
let sourceFiles =
20+
!! "src/Plotly.NET/**/*.fs"
21+
++ "src/Plotly.NET.ImageExport/**/*.fs"
22+
++ "src/Plotly.NET.Interactive/**/*.fs"
23+
++ "build/*.fs"
24+
-- "**/obj/**/*.*"
25+
-- "**/bin/**/*.*"
26+
27+
let checkFormat =
28+
BuildTask.create "CheckFormat" [] {
29+
let result =
30+
sourceFiles
31+
|> Seq.map (sprintf "\"%s\"")
32+
|> String.concat " "
33+
|> sprintf "%s --check"
34+
|> DotNet.exec id "fantomas"
35+
36+
if result.ExitCode = 0 then
37+
Trace.log "No files need formatting"
38+
elif result.ExitCode = 99 then
39+
failwith "Some files need formatting, check output for more info"
40+
else
41+
Trace.logf "Errors while formatting: %A" result.Errors
42+
}
43+
44+
let format =
45+
BuildTask.create "Format" [] {
46+
let result =
47+
sourceFiles |> Seq.map (sprintf "\"%s\"") |> String.concat " " |> DotNet.exec id "fantomas"
48+
49+
if not result.OK then
50+
printfn "Errors while formatting all files: %A" result.Messages
51+
}
52+
53+
2054
/// Full release of nuget package, git tag, and documentation for the stable version.
21-
let _release =
22-
BuildTask.createEmpty
23-
"Release"
24-
[clean; build; runTests; pack; buildDocs; createTag; publishNuget; releaseDocs]
55+
let _release =
56+
BuildTask.createEmpty
57+
"Release"
58+
[
59+
clean
60+
build
61+
runTests
62+
pack
63+
buildDocs
64+
createTag
65+
publishNuget
66+
releaseDocs
67+
]
2568

2669
/// Full release of nuget package, git tag, and documentation for the prerelease version.
27-
let _preRelease =
28-
BuildTask.createEmpty
29-
"PreRelease"
30-
[setPrereleaseTag; clean; build; runTests; packPrerelease; buildDocsPrerelease; createPrereleaseTag; publishNugetPrerelease; prereleaseDocs]
70+
let _preRelease =
71+
BuildTask.createEmpty
72+
"PreRelease"
73+
[
74+
setPrereleaseTag
75+
clean
76+
build
77+
runTests
78+
packPrerelease
79+
buildDocsPrerelease
80+
createPrereleaseTag
81+
publishNugetPrerelease
82+
prereleaseDocs
83+
]
3184

3285
/// Full release of nuget package for the prerelease version.
33-
let _releaseNoDocs =
34-
BuildTask.createEmpty
35-
"ReleaseNoDocs"
36-
[clean; build; runTests; pack; createTag; publishNuget;]
86+
let _releaseNoDocs =
87+
BuildTask.createEmpty
88+
"ReleaseNoDocs"
89+
[
90+
clean
91+
build
92+
runTests
93+
pack
94+
createTag
95+
publishNuget
96+
]
3797

3898
/// Full release of nuget package for the prerelease version.
39-
let _preReleaseNoDocs =
40-
BuildTask.createEmpty
41-
"PreReleaseNoDocs"
42-
[setPrereleaseTag; clean; build; runTests; packPrerelease; createPrereleaseTag; publishNugetPrerelease]
99+
let _preReleaseNoDocs =
100+
BuildTask.createEmpty
101+
"PreReleaseNoDocs"
102+
[
103+
setPrereleaseTag
104+
clean
105+
build
106+
runTests
107+
packPrerelease
108+
createPrereleaseTag
109+
publishNugetPrerelease
110+
]
43111

44112
[<EntryPoint>]
45-
let main args =
46-
runOrDefault build args
113+
let main args = runOrDefault build args

Diff for: build/DocumentationTasks.fs

+43-27
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,46 @@ open BasicTasks
66

77
open BlackFox.Fake
88

9-
let buildDocs = BuildTask.create "BuildDocs" [build] {
10-
printfn "building docs with stable version %s" stableVersionTag
11-
runDotNet
12-
(sprintf "fsdocs build --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s" stableVersionTag)
13-
"./"
14-
}
15-
16-
let buildDocsPrerelease = BuildTask.create "BuildDocsPrerelease" [setPrereleaseTag; build] {
17-
printfn "building docs with prerelease version %s" prereleaseTag
18-
runDotNet
19-
(sprintf "fsdocs build --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s" prereleaseTag)
20-
"./"
21-
}
22-
23-
let watchDocs = BuildTask.create "WatchDocs" [build] {
24-
printfn "watching docs with stable version %s" stableVersionTag
25-
runDotNet
26-
(sprintf "fsdocs watch --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s" stableVersionTag)
27-
"./"
28-
}
29-
30-
let watchDocsPrerelease = BuildTask.create "WatchDocsPrerelease" [setPrereleaseTag; build] {
31-
printfn "watching docs with prerelease version %s" prereleaseTag
32-
runDotNet
33-
(sprintf "fsdocs watch --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s" prereleaseTag)
34-
"./"
35-
}
9+
let buildDocs =
10+
BuildTask.create "BuildDocs" [ build ] {
11+
printfn "building docs with stable version %s" stableVersionTag
12+
13+
runDotNet
14+
(sprintf
15+
"fsdocs build --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s"
16+
stableVersionTag)
17+
"./"
18+
}
19+
20+
let buildDocsPrerelease =
21+
BuildTask.create "BuildDocsPrerelease" [ setPrereleaseTag; build ] {
22+
printfn "building docs with prerelease version %s" prereleaseTag
23+
24+
runDotNet
25+
(sprintf
26+
"fsdocs build --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s"
27+
prereleaseTag)
28+
"./"
29+
}
30+
31+
let watchDocs =
32+
BuildTask.create "WatchDocs" [ build ] {
33+
printfn "watching docs with stable version %s" stableVersionTag
34+
35+
runDotNet
36+
(sprintf
37+
"fsdocs watch --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s"
38+
stableVersionTag)
39+
"./"
40+
}
41+
42+
let watchDocsPrerelease =
43+
BuildTask.create "WatchDocsPrerelease" [ setPrereleaseTag; build ] {
44+
printfn "watching docs with prerelease version %s" prereleaseTag
45+
46+
runDotNet
47+
(sprintf
48+
"fsdocs watch --eval --clean --properties Configuration=Release --parameters fsdocs-package-version %s"
49+
prereleaseTag)
50+
"./"
51+
}

Diff for: build/FormattingTasks.fs

-50
This file was deleted.

Diff for: build/Helpers.fs

+12-6
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,30 @@ open Fake.Core
55
open Fake.DotNet
66

77
let initializeContext () =
8-
let execContext = Context.FakeExecutionContext.Create false "build.fsx" [ ]
8+
let execContext =
9+
Context.FakeExecutionContext.Create false "build.fsx" []
10+
911
Context.setExecutionContext (Context.RuntimeContext.Fake execContext)
1012

1113
/// Executes a dotnet command in the given working directory
1214
let runDotNet cmd workingDir =
1315
let result =
1416
DotNet.exec (DotNet.Options.withWorkingDirectory workingDir) cmd ""
15-
if result.ExitCode <> 0 then failwithf "'dotnet %s' failed in %s" cmd workingDir
17+
18+
if result.ExitCode <> 0 then
19+
failwithf "'dotnet %s' failed in %s" cmd workingDir
1620

1721
let runOrDefault defaultTarget args =
1822
Trace.trace (sprintf "%A" args)
23+
1924
try
2025
match args with
2126
| [| target |] -> Target.runOrDefault target
22-
| arr when args.Length > 1 ->
23-
Target.run 0 (Array.head arr) ( Array.tail arr |> List.ofArray )
27+
| arr when args.Length > 1 -> Target.run 0 (Array.head arr) (Array.tail arr |> List.ofArray)
2428
| _ -> BuildTask.runOrDefault defaultTarget
29+
2530
0
26-
with e ->
31+
with
32+
| e ->
2733
printfn "%A" e
28-
1
34+
1

Diff for: build/MessagePrompts.fs

+17-8
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
module MessagePrompts
22

3-
let prompt (msg:string) =
3+
let prompt (msg: string) =
44
System.Console.Write(msg)
5+
56
System.Console.ReadLine().Trim()
6-
|> function | "" -> None | s -> Some s
7-
|> Option.map (fun s -> s.Replace ("\"","\\\""))
7+
|> function
8+
| "" -> None
9+
| s -> Some s
10+
|> Option.map (fun s -> s.Replace("\"", "\\\""))
811

912
let rec promptYesNo msg =
1013
match prompt (sprintf "%s [Yn]: " msg) with
11-
| Some "Y" | Some "y" -> true
12-
| Some "N" | Some "n" -> false
13-
| _ -> System.Console.WriteLine("Sorry, invalid answer"); promptYesNo msg
14+
| Some "Y"
15+
| Some "y" -> true
16+
| Some "N"
17+
| Some "n" -> false
18+
| _ ->
19+
System.Console.WriteLine("Sorry, invalid answer")
20+
promptYesNo msg
1421

15-
let releaseMsg = """This will stage all uncommitted changes, push them to the origin and bump the release version to the latest number in the RELEASE_NOTES.md file.
22+
let releaseMsg =
23+
"""This will stage all uncommitted changes, push them to the origin and bump the release version to the latest number in the RELEASE_NOTES.md file.
1624
Do you want to continue?"""
1725

18-
let releaseDocsMsg = """This will push the docs to gh-pages. Remember building the docs prior to this. Do you want to continue?"""
26+
let releaseDocsMsg =
27+
"""This will push the docs to gh-pages. Remember building the docs prior to this. Do you want to continue?"""

0 commit comments

Comments
 (0)