WoodpeckerTools.psm1
|
Set-StrictMode -Version Latest # Module-scope regex patterns used by private preprocessor functions. $WPC_YAMLFILE_PATTERN = [regex]'^\s*\{{2,3}\s*yamlFile\s*\(([^)]*)\)\s*(?:\|\s*(.*?))?\s*\}{2,3}\s*$' $WPC_INCLUDE_PATTERN = [regex]'^\s*\{{3}\s*include\s*\(([^)]*)\)\s*\}{3}\s*$' $script:WpcDependencyRoot = $null $dotSourceParams = @{ Filter = '*.ps1' Recurse = $true ErrorAction = 'Stop' } $public = @(Get-ChildItem -Path (Join-Path $PSScriptRoot 'public') @dotSourceParams) $private = @(Get-ChildItem -Path (Join-Path $PSScriptRoot 'private') @dotSourceParams) foreach ($import in @($public + $private)) { try { . $import.FullName } catch { throw "Unable to dot source [$($import.FullName)]" } } Set-Alias -Name wpc -Value Invoke-WoodpeckerPipelineCompiler -Scope Script Export-ModuleMember -Function $public.BaseName -Alias wpc |