Azure.DevOps.PSModule.psm1
|
[CmdletBinding()] param() Write-Verbose $PSScriptRoot Write-Verbose 'Import all modules in sub folders' # First, load any class definitions from Private folder $classFiles = Get-ChildItem -Path (Join-Path -Path $PSScriptRoot -ChildPath 'Private') -Filter '*Classes.ps1' -ErrorAction SilentlyContinue if ($classFiles) { Write-Verbose ' Loading class definitions first' $classFiles | ForEach-Object { Write-Verbose (' {0}' -f $_.basename) . $_.FullName } } # Then load all other files foreach ($folder in @('Private', 'Public')) { $root = Join-Path -Path $PSScriptRoot -ChildPath $folder if (Test-Path -Path $root) { Write-Verbose (' Processing folder {0}' -f $folder) $files = Get-ChildItem -Path $root -Filter *.ps1 -Recurse | Where-Object { $_.Name -notlike '*Classes.ps1' } # dot source each file $files | ForEach-Object { Write-Verbose (' {0}' -f $_.basename); . $_.FullName } } } |