Skip to content

Commit 7252665

Browse files
committed
build script hack
build script hack without removal
1 parent 0637331 commit 7252665

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

build.fsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ let perfOutput = FullName "PerfResults"
5353

5454
let nugetDir = binDir @@ "nuget"
5555
let workingDir = binDir @@ "build"
56-
let libDir = workingDir @@ @"lib\net45\"
5756
let nugetExe = FullName @"src\.nuget\NuGet.exe"
5857
let docDir = "bin" @@ "doc"
5958

@@ -163,17 +162,18 @@ let createNugetPackages _ =
163162
not (directoryExists dir)
164163
runWithRetries del 3 |> ignore
165164

166-
let cleanupDir dir =
167-
let cdr _ =
168-
CleanDir dir
169-
runWithRetries cdr 3 |> ignore
165+
let mutable dirId = 1
170166

171167
ensureDirectory nugetDir
172168
for nuspec in !! "src/**/*.nuspec" do
173169
printfn "Creating nuget packages for %s" nuspec
174170

175-
cleanupDir workingDir
176-
171+
let tempBuildDir = workingDir + dirId.ToString()
172+
ensureDirectory tempBuildDir
173+
//clean it in case this target gets run multiple times. Which if it does is a bug. But hey since TC throws an exception when the dir is actually not empty. Its a nice circuitbreaker
174+
CleanDir tempBuildDir
175+
176+
let libDir = tempBuildDir @@ @"lib\net45\"
177177
let project = Path.GetFileNameWithoutExtension nuspec
178178
let projectDir = Path.GetDirectoryName nuspec
179179
let projectFile = (!! (projectDir @@ project + ".*sproj")) |> Seq.head
@@ -194,7 +194,7 @@ let createNugetPackages _ =
194194
Version = release.NugetVersion
195195
Tags = tags |> String.concat " "
196196
OutputPath = outputDir
197-
WorkingDir = workingDir
197+
WorkingDir = tempBuildDir
198198
SymbolPackage = symbolPackage
199199
Dependencies = packageDependencies })
200200
nuspec
@@ -208,7 +208,7 @@ let createNugetPackages _ =
208208
|> CopyFiles libDir
209209

210210
// Copy all src-files (.cs and .fs files) to workingDir/src
211-
let nugetSrcDir = workingDir @@ @"src/"
211+
let nugetSrcDir = tempBuildDir @@ @"src/"
212212
// CreateDir nugetSrcDir
213213

214214
let isCs = hasExt ".cs"
@@ -224,7 +224,8 @@ let createNugetPackages _ =
224224
// Create both normal nuget package and symbols nuget package.
225225
// Uses the files we copied to workingDir and outputs to nugetdir
226226
pack nugetDir NugetSymbolPackage.Nuspec
227-
227+
228+
dirId <- dirId + 1
228229

229230
let publishNugetPackages _ =
230231
let rec publishPackage url accessKey trialsLeft packageFile =

0 commit comments

Comments
 (0)