@@ -10,18 +10,23 @@ using System.Text.RegularExpressions;
10
10
var target = Argument ( "target" , "Default" ) ;
11
11
var configuration = Argument ( "configuration" , "Release" ) ;
12
12
13
+ var gitVersion = GitVersion ( ) ;
14
+
13
15
var solutionDirectory = MakeAbsolute ( Directory ( "./" ) ) ;
14
16
var artifactsDirectory = solutionDirectory . Combine ( "artifacts" ) ;
15
17
var artifactsBinDirectory = artifactsDirectory . Combine ( "bin" ) ;
16
18
var artifactsBinNet45Directory = artifactsBinDirectory . Combine ( "net45" ) ;
17
19
var artifactsBinNetStandard15Directory = artifactsBinDirectory . Combine ( "netstandard1.5" ) ;
20
+ var artifactsDocsDirectory = artifactsDirectory . Combine ( "docs" ) ;
21
+ var artifactsDocsApiDocsDirectory = artifactsDocsDirectory . Combine ( "ApiDocs-" + gitVersion . SemVer ) ;
22
+ var artifactsDocsRefDocsDirectory = artifactsDocsDirectory . Combine ( "RefDocs-" + gitVersion . SemVer ) ;
18
23
var artifactsPackagesDirectory = artifactsDirectory . Combine ( "packages" ) ;
19
24
var docsDirectory = solutionDirectory . Combine ( "Docs" ) ;
20
25
var docsApiDirectory = docsDirectory . Combine ( "Api" ) ;
21
- var docsApiOutputDirectory = docsApiDirectory . Combine ( "output" ) ;
22
26
var srcDirectory = solutionDirectory . Combine ( "src" ) ;
23
27
var testsDirectory = solutionDirectory . Combine ( "tests" ) ;
24
28
var toolsDirectory = solutionDirectory . Combine ( "Tools" ) ;
29
+ var toolsHugoDirectory = toolsDirectory . Combine ( "Hugo" ) ;
25
30
26
31
var solutionFile = solutionDirectory . CombineWithFilePath ( "CSharpDriver.sln" ) ;
27
32
var srcProjectNames = new [ ]
@@ -33,8 +38,6 @@ var srcProjectNames = new[]
33
38
"MongoDB.Driver.GridFS"
34
39
} ;
35
40
36
- var gitVersion = GitVersion ( ) ;
37
-
38
41
Task ( "Default" )
39
42
. IsDependentOn ( "TestAndPackage" ) ;
40
43
@@ -131,7 +134,6 @@ Task("TestNetStandard15")
131
134
. IsDependentOn ( "BuildNetStandard15" )
132
135
. Does ( ( ) =>
133
136
{
134
- var testsDirectory = solutionDirectory . Combine ( "tests" ) ;
135
137
var testProjectNames = new [ ]
136
138
{
137
139
"MongoDB.Bson.Tests.Dotnet" ,
@@ -162,66 +164,78 @@ Task("ApiDocs")
162
164
. IsDependentOn ( "BuildNet45" )
163
165
. Does ( ( ) =>
164
166
{
165
- EnsureDirectoryExists ( docsApiOutputDirectory ) ;
166
- CleanDirectory ( docsApiOutputDirectory ) ;
167
+ EnsureDirectoryExists ( artifactsDocsApiDocsDirectory ) ;
168
+ CleanDirectory ( artifactsDocsApiDocsDirectory ) ;
167
169
168
170
var shfbprojFile = docsApiDirectory . CombineWithFilePath ( "CSharpDriverDocs.shfbproj" ) ;
169
171
var preliminary = false ; // TODO: compute
170
172
MSBuild ( shfbprojFile , new MSBuildSettings
171
173
{
172
174
Configuration = "Release"
173
175
}
174
- . WithProperty ( "OutputPath" , docsApiOutputDirectory . ToString ( ) )
176
+ . WithProperty ( "OutputPath" , artifactsDocsApiDocsDirectory . ToString ( ) )
175
177
. WithProperty ( "CleanIntermediate" , "True" )
176
178
. WithProperty ( "Preliminary" , preliminary ? "True" : "False" )
177
179
. WithProperty ( "HelpFileVersion" , gitVersion . MajorMinorPatch )
178
180
) ;
179
181
180
- // DeleteDirectory(docsApiOutputDirectory, recursive: true);
182
+ var lowerCaseIndexFile = artifactsDocsApiDocsDirectory . CombineWithFilePath ( "index.html" ) ;
183
+ var upperCaseIndexFile = artifactsDocsApiDocsDirectory . CombineWithFilePath ( "Index.html" ) ;
184
+ MoveFile ( lowerCaseIndexFile , upperCaseIndexFile ) ;
185
+
186
+ var apiDocsZipFileName = artifactsDocsApiDocsDirectory . GetDirectoryName ( ) + "-html.zip" ;
187
+ var apiDocsZipFile = artifactsDocsDirectory . CombineWithFilePath ( apiDocsZipFileName ) ;
188
+ Console . WriteLine ( apiDocsZipFile . FullPath ) ;
189
+ Zip ( artifactsDocsApiDocsDirectory , apiDocsZipFile ) ;
190
+
191
+ var chmFile = artifactsDocsApiDocsDirectory . CombineWithFilePath ( "CSharpDriverDocs.chm" ) ;
192
+ var artifactsDocsChmFile = artifactsDocsDirectory . CombineWithFilePath ( "CSharpDriverDocs.chm" ) ;
193
+ CopyFile ( chmFile , artifactsDocsChmFile ) ;
194
+
195
+ DeleteDirectory ( artifactsDocsApiDocsDirectory , recursive : true ) ;
181
196
} ) ;
182
197
183
198
Task ( "RefDocs" )
184
199
. Does ( ( ) =>
185
200
{
186
- var hugoDirectory = toolsDirectory . Combine ( "Hugo" ) ;
187
- EnsureDirectoryExists ( hugoDirectory ) ;
188
- CleanDirectory ( hugoDirectory ) ;
201
+ EnsureDirectoryExists ( toolsHugoDirectory ) ;
202
+ CleanDirectory ( toolsHugoDirectory ) ;
189
203
190
204
var url = "https://github.com/spf13/hugo/releases/download/v0.13/hugo_0.13_windows_amd64.zip" ;
191
- var zipFile = hugoDirectory . CombineWithFilePath ( "hugo_0.13_windows_amd64.zip" ) ;
192
- DownloadFile ( url , zipFile ) ;
193
- Unzip ( zipFile , hugoDirectory ) ;
194
- var hugoExe = hugoDirectory . CombineWithFilePath ( "hugo_0.13_windows_amd64.exe" ) ;
205
+ var hugoZipFile = toolsHugoDirectory . CombineWithFilePath ( "hugo_0.13_windows_amd64.zip" ) ;
206
+ DownloadFile ( url , hugoZipFile ) ;
207
+ Unzip ( hugoZipFile , toolsHugoDirectory ) ;
208
+ var hugoExe = toolsHugoDirectory . CombineWithFilePath ( "hugo_0.13_windows_amd64.exe" ) ;
195
209
196
- var landingDirectory = solutionDirectory . Combine ( "docs" ) . Combine ( "landing" ) ;
210
+ var landingDirectory = docsDirectory . Combine ( "landing" ) ;
197
211
var processSettings = new ProcessSettings
198
212
{
199
213
WorkingDirectory = landingDirectory
200
214
} ;
201
215
StartProcess ( hugoExe , processSettings ) ;
202
216
203
- var referenceDirectory = solutionDirectory . Combine ( "docs" ) . Combine ( "reference" ) ;
217
+ var referenceDirectory = docsDirectory . Combine ( "reference" ) ;
204
218
processSettings = new ProcessSettings
205
219
{
206
220
WorkingDirectory = referenceDirectory
207
221
} ;
208
222
StartProcess ( hugoExe , processSettings ) ;
209
223
210
- var tempDirectory = artifactsDirectory . Combine ( "RefDocs" ) ;
211
- EnsureDirectoryExists ( tempDirectory ) ;
212
- CleanDirectory ( tempDirectory ) ;
224
+ EnsureDirectoryExists ( artifactsDocsRefDocsDirectory ) ;
225
+ CleanDirectory ( artifactsDocsRefDocsDirectory ) ;
213
226
214
227
var landingPublicDirectory = landingDirectory . Combine ( "public" ) ;
215
- CopyDirectory ( landingPublicDirectory , tempDirectory ) ;
228
+ CopyDirectory ( landingPublicDirectory , artifactsDocsRefDocsDirectory ) ;
216
229
217
230
var referencePublicDirectory = referenceDirectory . Combine ( "public" ) ;
218
- var referencePublicVersionDirectory = tempDirectory . Combine ( gitVersion . Major + "." + gitVersion . Minor ) ;
219
- CopyDirectory ( referencePublicDirectory , referencePublicVersionDirectory ) ;
231
+ var artifactsReferencePublicDirectory = artifactsDocsRefDocsDirectory . Combine ( gitVersion . Major + "." + gitVersion . Minor ) ;
232
+ CopyDirectory ( referencePublicDirectory , artifactsReferencePublicDirectory ) ;
220
233
221
- var referenceDocsZipFile = artifactsDirectory . CombineWithFilePath ( "RefDocs-" + gitVersion . SemVer + "-html.zip" ) ;
222
- Zip ( tempDirectory , referenceDocsZipFile ) ;
234
+ var refDocsZipFileName = artifactsDocsRefDocsDirectory . GetDirectoryName ( ) + "-html.zip" ;
235
+ var refDocsZipFile = artifactsDocsDirectory . CombineWithFilePath ( refDocsZipFileName ) ;
236
+ Zip ( artifactsDocsRefDocsDirectory , refDocsZipFile ) ;
223
237
224
- DeleteDirectory ( tempDirectory , recursive : true ) ;
238
+ DeleteDirectory ( artifactsDocsRefDocsDirectory , recursive : true ) ;
225
239
} ) ;
226
240
227
241
Task ( "Package" )
@@ -248,7 +262,7 @@ Task("PackageReleaseZipFile")
248
262
var stagingNetStandard15Directory = stagingDirectory . Combine ( "netstandard1.5" ) ;
249
263
CopyDirectory ( artifactsBinNetStandard15Directory , stagingNetStandard15Directory ) ;
250
264
251
- var chmFile = docsApiOutputDirectory . CombineWithFilePath ( "CSharpDriverDocs.chm" ) ;
265
+ var chmFile = artifactsDocsDirectory . CombineWithFilePath ( "CSharpDriverDocs.chm" ) ;
252
266
var stagingChmFileName = stagingDirectoryName + ".chm" ;
253
267
var stagingChmFile = stagingDirectory . CombineWithFilePath ( stagingChmFileName ) ;
254
268
CopyFile ( chmFile , stagingChmFile ) ;
0 commit comments