PowerShell/build.ps1
Andrew Schwartzmeyer 52a7095056 Use Modules instead of SnapIns
Proper deployment of the Modules we support allowed me to remove my
work-arounds using the deprecated SnapIn system to load all PowerShell
libraries via Modules.

I still don't like that this is done in build scripts, but we need
better asset support from .NET CLI to change how this is done.

PowerShell.Utility now deploys the CoreClr manifest, so unsupported
commands don't show up erroneously.
2016-01-29 17:24:49 -08:00

42 lines
1.9 KiB
PowerShell
Executable file

$BIN = "${pwd}/bin"
mkdir $BIN/Modules -ErrorAction SilentlyContinue
# Deploy PowerShell modules
cd $BIN/Modules
robocopy ../../test/Pester Pester /s /e
robocopy ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Utility Microsoft.PowerShell.Utility /s /e
cp ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Utility/CoreClr/* Microsoft.PowerShell.Utility
robocopy ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Security Microsoft.PowerShell.Security /s /e
robocopy ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Management Microsoft.PowerShell.Management /s /e
robocopy ../../src/monad/monad/miscfiles/modules/PSDiagnostics PSDiagnostics /s /e
cd ../..
# Publish PowerShell
cd src/Microsoft.PowerShell.Linux.Host
dotnet publish --framework dnxcore50 --output $BIN
# Temporary fix for dotnet publish
if (Test-Path $BIN/Debug/dnxcore50) { cp $BIN/Debug/dnxcore50/* $BIN }
# Copy files that dotnet-publish does not currently deploy
cp *_profile.ps1 $BIN
cd ../..
# Symlink types and format files to correct names
cd $BIN
cp ../src/monad/monad/miscfiles/types/CoreClr/types.ps1xml .
cp ../src/monad/monad/miscfiles/types/CoreClr/typesv3.ps1xml .
cp ../src/monad/monad/miscfiles/display/Certificate.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/Diagnostics.Format.ps1xml Diagnostics.format.ps1xml
cp ../src/monad/monad/miscfiles/display/DotNetTypes.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/Event.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/FileSystem.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/Help.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/HelpV3.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/PowerShellCore.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/PowerShellTrace.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/Registry.format.ps1xml .
cp ../src/monad/monad/miscfiles/display/WSMan.format.ps1xml .
cd ..