@@ -10,18 +10,23 @@ using System.Text.RegularExpressions;
1010var target = Argument ( "target" , "Default" ) ;
1111var configuration = Argument ( "configuration" , "Release" ) ;
1212
13+ var gitVersion = GitVersion ( ) ;
14+
1315var solutionDirectory = MakeAbsolute ( Directory ( "./" ) ) ;
1416var artifactsDirectory = solutionDirectory . Combine ( "artifacts" ) ;
1517var artifactsBinDirectory = artifactsDirectory . Combine ( "bin" ) ;
1618var artifactsBinNet45Directory = artifactsBinDirectory . Combine ( "net45" ) ;
1719var 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 ) ;
1823var artifactsPackagesDirectory = artifactsDirectory . Combine ( "packages" ) ;
1924var docsDirectory = solutionDirectory . Combine ( "Docs" ) ;
2025var docsApiDirectory = docsDirectory . Combine ( "Api" ) ;
21- var docsApiOutputDirectory = docsApiDirectory . Combine ( "output" ) ;
2226var srcDirectory = solutionDirectory . Combine ( "src" ) ;
2327var testsDirectory = solutionDirectory . Combine ( "tests" ) ;
2428var toolsDirectory = solutionDirectory . Combine ( "Tools" ) ;
29+ var toolsHugoDirectory = toolsDirectory . Combine ( "Hugo" ) ;
2530
2631var solutionFile = solutionDirectory . CombineWithFilePath ( "CSharpDriver.sln" ) ;
2732var srcProjectNames = new [ ]
@@ -33,8 +38,6 @@ var srcProjectNames = new[]
3338 "MongoDB.Driver.GridFS"
3439} ;
3540
36- var gitVersion = GitVersion ( ) ;
37-
3841Task ( "Default" )
3942 . IsDependentOn ( "TestAndPackage" ) ;
4043
@@ -131,7 +134,6 @@ Task("TestNetStandard15")
131134 . IsDependentOn ( "BuildNetStandard15" )
132135 . Does ( ( ) =>
133136 {
134- var testsDirectory = solutionDirectory . Combine ( "tests" ) ;
135137 var testProjectNames = new [ ]
136138 {
137139 "MongoDB.Bson.Tests.Dotnet" ,
@@ -162,66 +164,78 @@ Task("ApiDocs")
162164 . IsDependentOn ( "BuildNet45" )
163165 . Does ( ( ) =>
164166 {
165- EnsureDirectoryExists ( docsApiOutputDirectory ) ;
166- CleanDirectory ( docsApiOutputDirectory ) ;
167+ EnsureDirectoryExists ( artifactsDocsApiDocsDirectory ) ;
168+ CleanDirectory ( artifactsDocsApiDocsDirectory ) ;
167169
168170 var shfbprojFile = docsApiDirectory . CombineWithFilePath ( "CSharpDriverDocs.shfbproj" ) ;
169171 var preliminary = false ; // TODO: compute
170172 MSBuild ( shfbprojFile , new MSBuildSettings
171173 {
172174 Configuration = "Release"
173175 }
174- . WithProperty ( "OutputPath" , docsApiOutputDirectory . ToString ( ) )
176+ . WithProperty ( "OutputPath" , artifactsDocsApiDocsDirectory . ToString ( ) )
175177 . WithProperty ( "CleanIntermediate" , "True" )
176178 . WithProperty ( "Preliminary" , preliminary ? "True" : "False" )
177179 . WithProperty ( "HelpFileVersion" , gitVersion . MajorMinorPatch )
178180 ) ;
179181
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 ) ;
181196 } ) ;
182197
183198Task ( "RefDocs" )
184199 . Does ( ( ) =>
185200 {
186- var hugoDirectory = toolsDirectory . Combine ( "Hugo" ) ;
187- EnsureDirectoryExists ( hugoDirectory ) ;
188- CleanDirectory ( hugoDirectory ) ;
201+ EnsureDirectoryExists ( toolsHugoDirectory ) ;
202+ CleanDirectory ( toolsHugoDirectory ) ;
189203
190204 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" ) ;
195209
196- var landingDirectory = solutionDirectory . Combine ( "docs" ) . Combine ( "landing" ) ;
210+ var landingDirectory = docsDirectory . Combine ( "landing" ) ;
197211 var processSettings = new ProcessSettings
198212 {
199213 WorkingDirectory = landingDirectory
200214 } ;
201215 StartProcess ( hugoExe , processSettings ) ;
202216
203- var referenceDirectory = solutionDirectory . Combine ( "docs" ) . Combine ( "reference" ) ;
217+ var referenceDirectory = docsDirectory . Combine ( "reference" ) ;
204218 processSettings = new ProcessSettings
205219 {
206220 WorkingDirectory = referenceDirectory
207221 } ;
208222 StartProcess ( hugoExe , processSettings ) ;
209223
210- var tempDirectory = artifactsDirectory . Combine ( "RefDocs" ) ;
211- EnsureDirectoryExists ( tempDirectory ) ;
212- CleanDirectory ( tempDirectory ) ;
224+ EnsureDirectoryExists ( artifactsDocsRefDocsDirectory ) ;
225+ CleanDirectory ( artifactsDocsRefDocsDirectory ) ;
213226
214227 var landingPublicDirectory = landingDirectory . Combine ( "public" ) ;
215- CopyDirectory ( landingPublicDirectory , tempDirectory ) ;
228+ CopyDirectory ( landingPublicDirectory , artifactsDocsRefDocsDirectory ) ;
216229
217230 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 ) ;
220233
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 ) ;
223237
224- DeleteDirectory ( tempDirectory , recursive : true ) ;
238+ DeleteDirectory ( artifactsDocsRefDocsDirectory , recursive : true ) ;
225239 } ) ;
226240
227241Task ( "Package" )
@@ -248,7 +262,7 @@ Task("PackageReleaseZipFile")
248262 var stagingNetStandard15Directory = stagingDirectory . Combine ( "netstandard1.5" ) ;
249263 CopyDirectory ( artifactsBinNetStandard15Directory , stagingNetStandard15Directory ) ;
250264
251- var chmFile = docsApiOutputDirectory . CombineWithFilePath ( "CSharpDriverDocs.chm" ) ;
265+ var chmFile = artifactsDocsDirectory . CombineWithFilePath ( "CSharpDriverDocs.chm" ) ;
252266 var stagingChmFileName = stagingDirectoryName + ".chm" ;
253267 var stagingChmFile = stagingDirectory . CombineWithFilePath ( stagingChmFileName ) ;
254268 CopyFile ( chmFile , stagingChmFile ) ;
0 commit comments