tasks/build.process.ps1

# Top-level build process control flags
$SkipVersion = $false
$SkipBuild = $false
$SkipTest = $false
$SkipTestReport = $false
$SkipPackage = $false

# Define overall build process
task PreVersion
task VersionCore GitVersion
task PostVersion
task Version -If {!$SkipVersion} PreVersion,VersionCore,PostVersion

task PreBuild
task BuildCore BuildSolution,BuildBicepFiles
task PostBuild
task Build -If {!$SkipBuild} PreBuild,BuildCore,PostBuild

task PreTest
task TestCore RunTests,RunPesterTests
task PostTest
task Test -If {!$SkipTest} PreTest,TestCore,PostTest

task PreTestReport
task TestReportCore GenerateTestReport
task PostTestReport
task TestReport -If {!$SkipTest -and !$SkipTestReport} PreTestReport,TestReportCore,PostTestReport

task PrePackage
task PackageCore BuildSolutionPackages,BuildContainerImages
task PostPackage
task Package -If {!$SkipPackage} PrePackage,PackageCore,PostPackage

task PrePublish
task PublishCore PublishBicepModules
task PostPublish
task Publish -If {!$SkipPublish} PrePublish,PublishCore,PostPublish


task FullBuild Version,
                Build,
                Test,
                TestReport,
                Package

task FullBuildAndPublish FullBuild,
                         Publish