tasks/Create-CompositeResource.build.ps1
param ( # Project path [Parameter()] [System.String] $ProjectPath = (property ProjectPath $BuildRoot), [Parameter()] # Base directory of all output (default to 'output') [System.String] $OutputDirectory = (property OutputDirectory (Join-Path $BuildRoot 'output')), [Parameter()] [System.String] $BuiltModuleSubdirectory = (property BuiltModuleSubdirectory ''), [Parameter()] [System.Management.Automation.SwitchParameter] $VersionedOutputDirectory = (property VersionedOutputDirectory $true), [Parameter()] [System.String] $ProjectName = (property ProjectName ''), [Parameter()] [System.String] $PesterOutputFolder = (property PesterOutputFolder 'testResults'), [Parameter()] [System.String] $PesterOutputFormat = (property PesterOutputFormat ''), [Parameter()] [System.Object[]] $PesterScript = (property PesterScript ''), [Parameter()] [System.String[]] $PesterTag = (property PesterTag @()), [Parameter()] [System.String[]] $PesterExcludeTag = (property PesterExcludeTag @()), [Parameter()] [System.String] $CodeCoverageThreshold = (property CodeCoverageThreshold ''), # Build Configuration object [Parameter()] [System.Collections.Hashtable] $BuildInfo = (property BuildInfo @{ }) ) # Synopsis: Merging several code coverage files together. task Generate_Composite_Resource_Module { # Get the vales for task variables, see https://github.com/gaelcolas/Sampler#task-variables. . Set-SamplerTaskVariable "`tOutput Path = '$OutputDirectory'" "" Write-Build White 'Generating Composite Resource Module' Install-Module -Name Microsoft365DSC -RequiredVersion $env:ModuleVersion -Scope AllUsers $result = New-CompositeResourceModule -OutputPath $OutputDirectory if ($result) { Write-Build Green "Module generation completed." } else { throw "Error occurred during module generation! Please check the log output." } } |