@@ -23,23 +23,28 @@ let semVersion =
23
23
| " " -> baseVersion
24
24
| _ -> baseVersion + " -" + preRelease
25
25
26
+ let shortVersion = semVersion.Substring( 0 , 3 ) // this works assuming we don't have double digits
27
+
26
28
let baseDir = currentDirectory
27
29
let buildDir = baseDir @@ " build"
30
+ let landingDocsDir = baseDir @@ " docs" @@ " landing"
31
+ let refDocsDir = baseDir @@ " docs" @@ " reference"
28
32
let srcDir = baseDir @@ " src"
29
33
let toolsDir = baseDir @@ " tools"
34
+
30
35
let artifactsDir = baseDir @@ " artifacts"
31
36
let binDir = artifactsDir @@ " bin"
32
37
let binDir45 = binDir @@ " net45"
33
38
let testResultsDir = artifactsDir @@ " test_results"
34
- let docsDir = artifactsDir @@ " docs "
39
+ let tempDir = artifactsDir @@ " tmp "
35
40
36
41
let slnFile =
37
42
match isMono with
38
43
| true -> srcDir @@ " CSharpDriver-Mono.sln"
39
44
| false -> srcDir @@ " CSharpDriver.sln"
40
45
41
46
let asmFile = srcDir @@ " MongoDB.Shared" @@ " GlobalAssemblyInfo.cs"
42
- let docsFile = baseDir @@ " Docs" @@ " Api" @@ " CSharpDriverDocs.shfbproj"
47
+ let apiDocsFile = baseDir @@ " Docs" @@ " Api" @@ " CSharpDriverDocs.shfbproj"
43
48
let installerFile = baseDir @@ " Installer" @@ " CSharpDriverInstaller.wixproj"
44
49
let versionFile = artifactsDir @@ " version.txt"
45
50
@@ -55,8 +60,9 @@ let licenseFile = baseDir @@ "License.txt"
55
60
let releaseNotesFile = baseDir @@ " Release Notes" @@ " Release Notes v" + baseVersion + " .md"
56
61
57
62
let versionArtifactFile = artifactsDir @@ " version.txt"
58
- let docsArtifactFile = artifactsDir @@ " CSharpDriver-" + semVersion + " .chm"
59
- let docsArtifactZipFile = artifactsDir @@ " CSharpDriverDocs-" + semVersion + " -html.zip"
63
+ let apiDocsArtifactFile = artifactsDir @@ " CSharpDriver-" + semVersion + " .chm"
64
+ let apiDocsArtifactZipFile = artifactsDir @@ " ApiDocs-" + semVersion + " -html.zip"
65
+ let refDocsArtifactZipFile = artifactsDir @@ " RefDocs-" + semVersion + " -html.zip"
60
66
let zipArtifactFile = artifactsDir @@ " CSharpDriver-" + semVersion + " .zip"
61
67
62
68
MSBuildDefaults <- { MSBuildDefaults with Verbosity = Some( Minimal) }
@@ -131,40 +137,66 @@ Target "Test" (fun _ ->
131
137
})
132
138
)
133
139
134
- Target " Docs" ( fun _ ->
135
- DeleteFile docsArtifactFile
136
- DeleteFile docsArtifactZipFile
137
- ensureDirectory docsDir
138
- CleanDir docsDir
140
+ Target " RefDocs" ( fun _ ->
141
+ DeleteFile refDocsArtifactZipFile
142
+ ensureDirectory tempDir
143
+ CleanDir tempDir
144
+
145
+ let landingResult =
146
+ ExecProcess ( fun info ->
147
+ info.FileName <- " hugo.exe"
148
+ info.WorkingDirectory <- landingDocsDir
149
+ )( TimeSpan.FromMinutes 1.0 )
150
+
151
+ let refResult =
152
+ ExecProcess ( fun info ->
153
+ info.FileName <- " hugo.exe"
154
+ info.WorkingDirectory <- refDocsDir
155
+ )( TimeSpan.FromMinutes 1.0 )
156
+
157
+ CopyDir tempDir ( landingDocsDir @@ " public" ) ( fun _ -> true )
158
+ CopyDir ( tempDir @@ shortVersion) ( refDocsDir @@ " public" ) ( fun _ -> true )
159
+
160
+ !! ( tempDir @@ " **/**.*" )
161
+ |> CreateZip tempDir refDocsArtifactZipFile " " DefaultZipLevel false
162
+
163
+ DeleteDir tempDir
164
+ )
165
+
166
+ Target " ApiDocs" ( fun _ ->
167
+ DeleteFile apiDocsArtifactFile
168
+ DeleteFile apiDocsArtifactZipFile
169
+ ensureDirectory tempDir
170
+ CleanDir tempDir
139
171
140
172
let preliminary =
141
173
match preRelease with
142
174
| " " -> " False"
143
175
| _ -> " True"
144
176
145
177
let properties = [ " Configuration" , config
146
- " OutputPath" , docsDir
178
+ " OutputPath" , tempDir
147
179
" CleanIntermediate" , " True"
148
180
" Preliminary" , preliminary
149
181
" HelpFileVersion" , version]
150
182
151
- [ docsFile ]
183
+ [ apiDocsFile ]
152
184
|> MSBuild binDir45 " " properties
153
185
|> Log " Docs: "
154
186
155
- Rename docsArtifactFile ( docsDir @@ " CSharpDriverDocs.chm" )
156
- Rename ( docsDir @@ " index.html" ) ( docsDir @@ " Index.html" )
187
+ Rename apiDocsArtifactFile ( tempDir @@ " CSharpDriverDocs.chm" )
188
+ Rename ( tempDir @@ " index.html" ) ( tempDir @@ " Index.html" )
157
189
158
- !! ( docsDir @@ " **/**.*" )
159
- |> CreateZip docsDir docsArtifactZipFile " " DefaultZipLevel false
190
+ !! ( tempDir @@ " **/**.*" )
191
+ |> CreateZip tempDir apiDocsArtifactZipFile " " DefaultZipLevel false
160
192
161
- DeleteDir docsDir
193
+ DeleteDir tempDir
162
194
)
163
195
164
196
Target " Zip" ( fun _ ->
165
197
DeleteFile zipArtifactFile
166
198
167
- checkFileExists docsArtifactFile
199
+ checkFileExists apiDocsArtifactFile
168
200
checkFileExists licenseFile
169
201
checkFileExists releaseNotesFile
170
202
@@ -183,7 +215,7 @@ Target "Zip" (fun _ ->
183
215
binDir45 @@ " MongoDB.Driver.Legacy.xml"
184
216
licenseFile
185
217
releaseNotesFile
186
- docsArtifactFile ]
218
+ apiDocsArtifactFile ]
187
219
188
220
files
189
221
|> CreateZip artifactsDir zipArtifactFile " " DefaultZipLevel true
@@ -238,13 +270,18 @@ FinalTarget "Teardown" (fun _ ->
238
270
239
271
240
272
Target " NoOp" DoNothing
273
+ Target " Docs" DoNothing
241
274
Target " Package" DoNothing
242
275
Target " Publish" DoNothing
243
276
244
277
" Clean"
245
278
==> " AssemblyInfo"
246
279
==> " Build"
247
280
281
+ " RefDocs"
282
+ ==> " ApiDocs"
283
+ ==> " Docs"
284
+
248
285
" Docs"
249
286
==> " Zip"
250
287
==> " NuGetPack"
0 commit comments