PSSlack.psm1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#Get public and private function definition files. $Public = @( Get-ChildItem -Path $PSScriptRoot\Public\*.ps1 -ErrorAction SilentlyContinue ) $Private = @( Get-ChildItem -Path $PSScriptRoot\Private\*.ps1 -ErrorAction SilentlyContinue ) $ModuleRoot = $PSScriptRoot #Dot source the files Foreach($import in @($Public + $Private)) { Try { . $import.fullname } Catch { Write-Error -Message "Failed to import function $($import.fullname): $_" } } #Create / Read config if(-not (Test-Path -Path "$PSScriptRoot\PSSlack.xml" -ErrorAction SilentlyContinue)) { Try { Write-Warning "Did not find config file $PSScriptRoot\PSSlack.xml, attempting to create" [pscustomobject]@{ Uri = $null Token = $null ArchiveUri = $null } | Export-Clixml -Path "$PSScriptRoot\PSSlack.xml" -Force -ErrorAction Stop } Catch { Write-Warning "Failed to create config file $PSScriptRoot\PSSlack.xml: $_" } } #Initialize the config variable. I know, I know... Try { #Import the config $PSSlack = $null $PSSlack = Get-PSSlackConfig -Source PSSlack.xml -ErrorAction Stop } Catch { Write-Warning "Error importing PSSlack config: $_" } Export-ModuleMember -Function $Public.Basename |