@@ -11,19 +11,55 @@ FormatTaskName {
11
11
Write-Host $taskName.ToUpper () - ForegroundColor Blue
12
12
}
13
13
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
+
14
50
# This psake file is meant to be referenced from another
15
51
# Can't have two 'default' tasks
16
52
# Task default -depends Test
17
53
18
54
Task Init {
19
55
Initialize-PSBuild - UseBuildHelpers - BuildEnvironment $PSBPreference
20
- } - description ' Initialize build environment variables'
56
+ } - Description ' Initialize build environment variables'
21
57
22
- Task Clean - depends $PSBPreference .TaskDependencies.Clean {
58
+ Task Clean - Depends $PSBCleanDependency {
23
59
Clear-PSBuildOutputFolder - Path $PSBPreference.Build.ModuleOutDir
24
- } - description ' Clears module output directory'
60
+ } - Description ' Clears module output directory'
25
61
26
- Task StageFiles - depends $PSBPreference .TaskDependencies.StageFiles {
62
+ Task StageFiles - Depends $PSBStageFilesDependency {
27
63
$buildParams = @ {
28
64
Path = $PSBPreference.General.SrcRootDir
29
65
ModuleName = $PSBPreference.General.ModuleName
@@ -51,9 +87,9 @@ Task StageFiles -depends $PSBPreference.TaskDependencies.StageFiles {
51
87
}
52
88
53
89
Build-PSBuildModule @buildParams
54
- } - description ' Builds module based on source directory'
90
+ } - Description ' Builds module based on source directory'
55
91
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'
57
93
58
94
$analyzePreReqs = {
59
95
$result = $true
@@ -67,14 +103,14 @@ $analyzePreReqs = {
67
103
}
68
104
$result
69
105
}
70
- Task Analyze - depends $PSBPreference .TaskDependencies.Analyze - precondition $analyzePreReqs {
106
+ Task Analyze - Depends $PSBAnalyzeDependency - PreCondition $analyzePreReqs {
71
107
$analyzeParams = @ {
72
108
Path = $PSBPreference.Build.ModuleOutDir
73
109
SeverityThreshold = $PSBPreference.Test.ScriptAnalysis.FailBuildOnSeverityLevel
74
110
SettingsPath = $PSBPreference.Test.ScriptAnalysis.SettingsPath
75
111
}
76
112
Test-PSBuildScriptAnalysis @analyzeParams
77
- } - description ' Execute PSScriptAnalyzer tests'
113
+ } - Description ' Execute PSScriptAnalyzer tests'
78
114
79
115
$pesterPreReqs = {
80
116
$result = $true
@@ -92,7 +128,7 @@ $pesterPreReqs = {
92
128
}
93
129
return $result
94
130
}
95
- Task Pester - depends $PSBPreference .TaskDependencies.Pester - precondition $pesterPreReqs {
131
+ Task Pester - Depends $PSBPesterDependency - PreCondition $pesterPreReqs {
96
132
$pesterParams = @ {
97
133
Path = $PSBPreference.Test.RootDir
98
134
ModuleName = $PSBPreference.General.ModuleName
@@ -109,12 +145,12 @@ Task Pester -depends $PSBPreference.TaskDependencies.Pester -precondition $peste
109
145
OutputVerbosity = $PSBPreference.Test.OutputVerbosity
110
146
}
111
147
Test-PSBuildPester @pesterParams
112
- } - description ' Execute Pester tests'
148
+ } - Description ' Execute Pester tests'
113
149
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'
116
152
117
- Task BuildHelp - depends $PSBPreference .TaskDependencies.BuildHelp {} - description ' Builds help documentation'
153
+ Task BuildHelp - Depends $PSBBuildHelpDependency {} - Description ' Builds help documentation'
118
154
119
155
$genMarkdownPreReqs = {
120
156
$result = $true
@@ -124,7 +160,7 @@ $genMarkdownPreReqs = {
124
160
}
125
161
$result
126
162
}
127
- Task GenerateMarkdown - depends $PSBPreference .TaskDependencies.GenerateMarkdown - precondition $genMarkdownPreReqs {
163
+ Task GenerateMarkdown - Depends $PSBGenerateMarkdownDependency - PreCondition $genMarkdownPreReqs {
128
164
$buildMDParams = @ {
129
165
ModulePath = $PSBPreference.Build.ModuleOutDir
130
166
ModuleName = $PSBPreference.General.ModuleName
@@ -136,7 +172,7 @@ Task GenerateMarkdown -depends $PSBPreference.TaskDependencies.GenerateMarkdown
136
172
UseFullTypeName = $PSBPreference.Docs.UseFullTypeName
137
173
}
138
174
Build-PSBuildMarkdown @buildMDParams
139
- } - description ' Generates PlatyPS markdown files from module help'
175
+ } - Description ' Generates PlatyPS markdown files from module help'
140
176
141
177
$genHelpFilesPreReqs = {
142
178
$result = $true
@@ -146,9 +182,9 @@ $genHelpFilesPreReqs = {
146
182
}
147
183
$result
148
184
}
149
- Task GenerateMAML - depends $PSBPreference .TaskDependencies.GenerateMAML - precondition $genHelpFilesPreReqs {
185
+ Task GenerateMAML - Depends $PSBGenerateMAMLDependency - PreCondition $genHelpFilesPreReqs {
150
186
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'
152
188
153
189
$genUpdatableHelpPreReqs = {
154
190
$result = $true
@@ -158,12 +194,12 @@ $genUpdatableHelpPreReqs = {
158
194
}
159
195
$result
160
196
}
161
- Task GenerateUpdatableHelp - depends $PSBPreference .TaskDependencies.GenerateUpdatableHelp - precondition $genUpdatableHelpPreReqs {
197
+ Task GenerateUpdatableHelp - Depends $PSBGenerateUpdatableHelpDependency - PreCondition $genUpdatableHelpPreReqs {
162
198
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'
164
200
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."
167
203
168
204
$publishParams = @ {
169
205
Path = $PSBPreference.Build.ModuleOutDir
@@ -180,9 +216,9 @@ Task Publish -depends $PSBPreference.TaskDependencies.Publish {
180
216
}
181
217
182
218
Publish-PSBuildModule @publishParams
183
- } - description ' Publish module to the defined PowerShell repository'
219
+ } - Description ' Publish module to the defined PowerShell repository'
184
220
185
- Task ? - description ' Lists the available tasks' {
221
+ Task ? - Description ' Lists the available tasks' {
186
222
' Available tasks:'
187
223
$psake.context.Peek ().Tasks.Keys | Sort-Object
188
224
}
0 commit comments