Skip to content

Commit 0756fda

Browse files
author
James Brundage
committed
Export-PipeScript: Running BuildScripts first (Fixes #316)
1 parent a9f9840 commit 0756fda

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

Export-PipeScript.ps1

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,28 +24,42 @@ function Export-Pipescript {
2424
$filesToBuild =
2525
@(if (-not $InputPath) {
2626
Get-PipeScript -PipeScriptPath $pwd |
27-
Where-Object PipeScriptType -In SourceGenerator, Template
27+
Where-Object PipeScriptType -In Template, BuildScript |
28+
Sort-Object PipeScriptType, Source
2829
} else {
2930
foreach ($inPath in $InputPath) {
3031
Get-PipeScript -PipeScriptPath $inPath |
31-
Where-Object PipeScriptType -In SourceGenerator, Template
32+
Where-Object PipeScriptType -In Template, BuildScript |
33+
Sort-Object PipeScriptType, Source
3234
}
3335
})
3436

3537
$buildStarted = [DateTime]::Now
38+
$alreadyBuilt = [Ordered]@{}
3639
$filesToBuildCount, $filesToBuildTotal, $filesToBuildID = 0, $filesToBuild.Length, $(Get-Random)
3740
foreach ($buildFile in $filesToBuild) {
38-
$ThisBuildStartedAt = [DateTime]::Now
41+
42+
$ThisBuildStartedAt = [DateTime]::Now
43+
3944
Write-Progress "Building PipeScripts [$FilesToBuildCount / $filesToBuildTotal]" "$($buildFile.Source) " -PercentComplete $(
4045
$FilesToBuildCount++
4146
$FilesToBuildCount * 100 / $filesToBuildTotal
4247
) -id $filesToBuildID
4348

49+
if ($alreadyBuilt[$buildFile.Source]) { continue }
50+
51+
$buildFileTemplate = $buildFile.Template
52+
if ($buildFileTemplate -and $buildFile.PipeScriptType -ne 'Template') {
53+
Invoke-PipeScript $buildFileTemplate.Source
54+
$alreadyBuilt[$buildFileTemplate.Source] = $true
55+
}
56+
4457
$EventsFromThisBuild = Get-Event |
4558
Where-Object TimeGenerated -gt $ThisBuildStartedAt |
4659
Where-Object SourceIdentifier -Like 'PipeScript.*'
4760

4861
Invoke-PipeScript $buildFile.Source
62+
$alreadyBuilt[$buildFile.Source] = $true
4963
}
5064

5165

0 commit comments

Comments
 (0)