public/Plugins/Add-PluginFolder.ps1
function Add-PluginFolder { [CmdletBinding()] param ( [Parameter(Mandatory=$true)][String] $Folder ) begin { } process { $return = $false # Check if this needs to be declared first If ( $Script:pluginFolders -eq $null ) { $Script:pluginFolders = [System.Collections.ArrayList]::new() } # Resolve the path to an absolute path #Write-Host "$( $Folder )" $resolvedPath = Resolve-Path -Path $Folder #Write-Host "$( $resolvedPath )" # Check the path If ( ( Test-Path -Path $resolvedPath ) -eq $false ) { Write-Error -Message "There is a problem with '$( $resolvedPath.Path )'" throw "There is a problem with '$( $resolvedPath.Path )'" } # Add this folder [void]$Script:pluginFolders.add($resolvedPath.Path) # Register all plugins automatically $plugins = Register-Plugins # Switch return value $return = $true # Return $return } end { } } |