Repository navigation
Expand file tree
/
Copy pathBuild.fsx
More file actions
90 lines (70 loc) · 2.49 KB
/
Copy pathBuild.fsx
File metadata and controls
90 lines (70 loc) · 2.49 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
#r "packages/FAKE/tools/FakeLib.dll"
open Fake
open Fake.MSpecHelper
let buildMode = "Release"
let directoryToPackage = "src/DynamicConfiguration/bin/" @@ buildMode
let packagingRoot = "./packaging/"
let packagingDir = packagingRoot @@ "DynamicConfiguration"
let setBuildParams defaults =
{ defaults with
Verbosity = Some(Quiet)
Targets = ["Build"]
Properties =
[
"Optimize", "True"
"DebugSymbols", "True"
"Configuration", buildMode
]
}
let authors = ["Tim Butterfield"]
let projectName = "DynamicConfiguration"
let projectDescription = "A .net library to make it simpler to access configuration settings from {app/web}.config files"
let projectSummary = projectDescription
let releaseNotes =
ReadFile "ReleaseNotes.md"
|> ReleaseNotesHelper.parseReleaseNotes
let setPackagingParams defaults =
{defaults with
Authors = authors
Project = projectName
Description = projectDescription
OutputPath = packagingRoot
Summary = projectSummary
WorkingDir = packagingDir
Version = releaseNotes.AssemblyVersion
ReleaseNotes = toLines releaseNotes.Notes
AccessKey = getBuildParamOrDefault "nugetkey" ""
Publish = hasBuildParam "nugetkey"
}
Target "Clean" (fun _ ->
DeleteDir "src/DynamicConfiguration/bin/debug"
DeleteDir "src/DynamicConfiguration/bin/release"
DeleteDir "src/DynamicConfiguration.Tests/bin/debug"
DeleteDir "src/DynamicConfiguration.Tests/bin/release"
)
Target "Build" (fun _ ->
build setBuildParams "src/DynamicConfiguration.sln"
)
let testDir = ".src/DynamicConfiguration.Tests/bin/release"
let testOutput = "./src/testResults"
Target "RunTests" (fun _ ->
!! (testDir @@ "src/DynamicConfiguration.Tests.dll")
|> MSpec (fun parameters -> {parameters with HtmlOutputDir = testOutput} )
)
Target "CreateNugetPackage" (fun _ ->
printf "Creating a nuget package"
let net45Dir = packagingDir @@ "lib/net45/"
directoryInfo net45Dir
|> ensureDirExists
CopyFile net45Dir (directoryToPackage @@ "DynamicConfiguration.dll")
CopyFile net45Dir (directoryToPackage @@ "DynamicConfiguration.pdb")
//need to copy readme, etc...
//CopyFiles directoryToPackage []
)
"Build"
==> "CreateNugetPackage"
"Clean"
==> "Build"
"Build"
==> "RunTests"
RunTargetOrDefault "Build"