@@ -11,19 +11,55 @@ FormatTaskName {
1111 Write-Host $taskName.ToUpper () - ForegroundColor Blue
1212}
1313
14+ # region Task Dependencies
15+ if ($null -eq $PSBCleanDependency ) {
16+ $PSBCleanDependency = @ (' Init' )
17+ }
18+ if ($null -eq $PSBStageFilesDependency ) {
19+ $PSBStageFilesDependency = @ (' Clean' )
20+ }
21+ if ($null -eq $PSBBuildDependency ) {
22+ $PSBBuildDependency = @ (' StageFiles' , ' BuildHelp' )
23+ }
24+ if ($null -eq $PSBAnalyzeDependency ) {
25+ $PSBAnalyzeDependency = @ (' Build' )
26+ }
27+ if ($null -eq $PSBPesterDependency ) {
28+ $PSBPesterDependency = @ (' Build' )
29+ }
30+ if ($null -eq $PSBTestDependency ) {
31+ $PSBTestDependency = @ (' Pester' , ' Analyze' )
32+ }
33+ if ($null -eq $PSBBuildHelpDependency ) {
34+ $PSBBuildHelpDependency = @ (' GenerateMarkdown' , ' GenerateMAML' )
35+ }
36+ if ($null -eq $PSBGenerateMarkdownDependency ) {
37+ $PSBGenerateMarkdownDependency = @ (' StageFiles' )
38+ }
39+ if ($null -eq $PSBGenerateMAMLDependency ) {
40+ $PSBGenerateMAMLDependency = @ (' GenerateMarkdown' )
41+ }
42+ if ($null -eq $PSBGenerateUpdatableHelpDependency ) {
43+ $PSBGenerateUpdatableHelpDependency = @ (' BuildHelp' )
44+ }
45+ if ($null -eq $PSBPublishDependency ) {
46+ $PSBPublishDependency = @ (' Test' )
47+ }
48+ # endregion Task Dependencies
49+
1450# This psake file is meant to be referenced from another
1551# Can't have two 'default' tasks
1652# Task default -depends Test
1753
1854Task Init {
1955 Initialize-PSBuild - UseBuildHelpers - BuildEnvironment $PSBPreference
20- } - description ' Initialize build environment variables'
56+ } - Description ' Initialize build environment variables'
2157
22- Task Clean - depends $PSBPreference .TaskDependencies.Clean {
58+ Task Clean - Depends $PSBCleanDependency {
2359 Clear-PSBuildOutputFolder - Path $PSBPreference.Build.ModuleOutDir
24- } - description ' Clears module output directory'
60+ } - Description ' Clears module output directory'
2561
26- Task StageFiles - depends $PSBPreference .TaskDependencies.StageFiles {
62+ Task StageFiles - Depends $PSBStageFilesDependency {
2763 $buildParams = @ {
2864 Path = $PSBPreference.General.SrcRootDir
2965 ModuleName = $PSBPreference.General.ModuleName
@@ -51,9 +87,9 @@ Task StageFiles -depends $PSBPreference.TaskDependencies.StageFiles {
5187 }
5288
5389 Build-PSBuildModule @buildParams
54- } - description ' Builds module based on source directory'
90+ } - Description ' Builds module based on source directory'
5591
56- Task Build - depends $PSBPreference .TaskDependencies.Build - description ' Builds module and generate help documentation'
92+ Task Build - Depends $PSBBuildDependency - Description ' Builds module and generate help documentation'
5793
5894$analyzePreReqs = {
5995 $result = $true
@@ -67,14 +103,14 @@ $analyzePreReqs = {
67103 }
68104 $result
69105}
70- Task Analyze - depends $PSBPreference .TaskDependencies.Analyze - precondition $analyzePreReqs {
106+ Task Analyze - Depends $PSBAnalyzeDependency - PreCondition $analyzePreReqs {
71107 $analyzeParams = @ {
72108 Path = $PSBPreference.Build.ModuleOutDir
73109 SeverityThreshold = $PSBPreference.Test.ScriptAnalysis.FailBuildOnSeverityLevel
74110 SettingsPath = $PSBPreference.Test.ScriptAnalysis.SettingsPath
75111 }
76112 Test-PSBuildScriptAnalysis @analyzeParams
77- } - description ' Execute PSScriptAnalyzer tests'
113+ } - Description ' Execute PSScriptAnalyzer tests'
78114
79115$pesterPreReqs = {
80116 $result = $true
@@ -92,7 +128,7 @@ $pesterPreReqs = {
92128 }
93129 return $result
94130}
95- Task Pester - depends $PSBPreference .TaskDependencies.Pester - precondition $pesterPreReqs {
131+ Task Pester - Depends $PSBPesterDependency - PreCondition $pesterPreReqs {
96132 $pesterParams = @ {
97133 Path = $PSBPreference.Test.RootDir
98134 ModuleName = $PSBPreference.General.ModuleName
@@ -109,12 +145,12 @@ Task Pester -depends $PSBPreference.TaskDependencies.Pester -precondition $peste
109145 OutputVerbosity = $PSBPreference.Test.OutputVerbosity
110146 }
111147 Test-PSBuildPester @pesterParams
112- } - description ' Execute Pester tests'
148+ } - Description ' Execute Pester tests'
113149
114- Task Test - depends $PSBPreference .TaskDependencies.Test {
115- } - description ' Execute Pester and ScriptAnalyzer tests'
150+ Task Test - Depends $PSBTestDependency {
151+ } - Description ' Execute Pester and ScriptAnalyzer tests'
116152
117- Task BuildHelp - depends $PSBPreference .TaskDependencies.BuildHelp {} - description ' Builds help documentation'
153+ Task BuildHelp - Depends $PSBBuildHelpDependency {} - Description ' Builds help documentation'
118154
119155$genMarkdownPreReqs = {
120156 $result = $true
@@ -124,7 +160,7 @@ $genMarkdownPreReqs = {
124160 }
125161 $result
126162}
127- Task GenerateMarkdown - depends $PSBPreference .TaskDependencies.GenerateMarkdown - precondition $genMarkdownPreReqs {
163+ Task GenerateMarkdown - Depends $PSBGenerateMarkdownDependency - PreCondition $genMarkdownPreReqs {
128164 $buildMDParams = @ {
129165 ModulePath = $PSBPreference.Build.ModuleOutDir
130166 ModuleName = $PSBPreference.General.ModuleName
@@ -136,7 +172,7 @@ Task GenerateMarkdown -depends $PSBPreference.TaskDependencies.GenerateMarkdown
136172 UseFullTypeName = $PSBPreference.Docs.UseFullTypeName
137173 }
138174 Build-PSBuildMarkdown @buildMDParams
139- } - description ' Generates PlatyPS markdown files from module help'
175+ } - Description ' Generates PlatyPS markdown files from module help'
140176
141177$genHelpFilesPreReqs = {
142178 $result = $true
@@ -146,9 +182,9 @@ $genHelpFilesPreReqs = {
146182 }
147183 $result
148184}
149- Task GenerateMAML - depends $PSBPreference .TaskDependencies.GenerateMAML - precondition $genHelpFilesPreReqs {
185+ Task GenerateMAML - Depends $PSBGenerateMAMLDependency - PreCondition $genHelpFilesPreReqs {
150186 Build-PSBuildMAMLHelp - Path $PSBPreference.Docs.RootDir - DestinationPath $PSBPreference.Build.ModuleOutDir
151- } - description ' Generates MAML-based help from PlatyPS markdown files'
187+ } - Description ' Generates MAML-based help from PlatyPS markdown files'
152188
153189$genUpdatableHelpPreReqs = {
154190 $result = $true
@@ -158,12 +194,12 @@ $genUpdatableHelpPreReqs = {
158194 }
159195 $result
160196}
161- Task GenerateUpdatableHelp - depends $PSBPreference .TaskDependencies.GenerateUpdatableHelp - precondition $genUpdatableHelpPreReqs {
197+ Task GenerateUpdatableHelp - Depends $PSBGenerateUpdatableHelpDependency - PreCondition $genUpdatableHelpPreReqs {
162198 Build-PSBuildUpdatableHelp - DocsPath $PSBPreference.Docs.RootDir - OutputPath $PSBPreference.Help.UpdatableHelpOutDir
163- } - description ' Create updatable help .cab file based on PlatyPS markdown help'
199+ } - Description ' Create updatable help .cab file based on PlatyPS markdown help'
164200
165- Task Publish - depends $PSBPreference .TaskDependencies.Publish {
166- Assert - conditionToCheck ($PSBPreference.Publish.PSRepositoryApiKey -or $PSBPreference.Publish.PSRepositoryCredential ) - failureMessage " API key or credential not defined to authenticate with [$ ( $PSBPreference.Publish.PSRepository ) ] with."
201+ Task Publish - Depends $PSBPublishDependency {
202+ Assert - ConditionToCheck ($PSBPreference.Publish.PSRepositoryApiKey -or $PSBPreference.Publish.PSRepositoryCredential ) - FailureMessage " API key or credential not defined to authenticate with [$ ( $PSBPreference.Publish.PSRepository ) ] with."
167203
168204 $publishParams = @ {
169205 Path = $PSBPreference.Build.ModuleOutDir
@@ -180,9 +216,9 @@ Task Publish -depends $PSBPreference.TaskDependencies.Publish {
180216 }
181217
182218 Publish-PSBuildModule @publishParams
183- } - description ' Publish module to the defined PowerShell repository'
219+ } - Description ' Publish module to the defined PowerShell repository'
184220
185- Task ? - description ' Lists the available tasks' {
221+ Task ? - Description ' Lists the available tasks' {
186222 ' Available tasks:'
187223 $psake.context.Peek ().Tasks.Keys | Sort-Object
188224}
0 commit comments