-
Notifications
You must be signed in to change notification settings - Fork 0
/
sdp.powershell.psm1
28 lines (20 loc) · 969 Bytes
/
sdp.powershell.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
# Load configuration file into all runspaces
$global:SDPConf = Import-PowerShellDataFile "$PSScriptRoot\Configuration.psd1"
# root path
$root = Split-Path -Parent -Path $MyInvocation.MyCommand.Path
# load binaries if you have one like:
# Add-Type -AssemblyName System.Net.Http
# stop ansi colours in ps7.2+
#if ($PSVersionTable.PSVersion -ge [version]'7.2.0') {
# $PSStyle.OutputRendering = 'PlainText'
#}
# load private functions
Get-ChildItem "$($root)/private" -Recurse -Include "*.ps1" | Resolve-Path | ForEach-Object { . $_ }
# import everything
$sysfuncs = Get-ChildItem Function:
# load public functions
Get-ChildItem "$($root)/public" -Recurse -Include "*.ps1" | Resolve-Path | ForEach-Object { . $_ }
# get functions from memory and compare to existing to find new functions added
$funcs = Get-ChildItem Function: | Where-Object { $sysfuncs -notcontains $_ }
# export the module's public functions
Export-ModuleMember -Function ($funcs.Name)