172ddc6ad1
The packages are now dependencies of the `dnxcore50` framework itself, rather than globally. The `compilationOptions` were pruned, with `CORECLR` moved to frameworks, `_CORECLR` removed for all but `Management.Infrastructure`, and `LINUX` moved to a new `Linux` configuration, used only in `build.sh`. This configuration is purposefully absent from libraries that do not use `LINUX`, so that it is not relied upon without strong consideration. The dependencies were pruned to reduce duplication.
65 lines
2.3 KiB
Bash
Executable file
65 lines
2.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
export BIN=$(pwd)/bin
|
|
|
|
mkdir -p $BIN/Modules
|
|
|
|
# Deploy PowerShell modules
|
|
(
|
|
cd $BIN/Modules
|
|
cp -r ../../test/Pester .
|
|
cp -r ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Utility .
|
|
cp ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Utility/CoreClr/* Microsoft.PowerShell.Utility
|
|
cp -r ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Security .
|
|
cp -r ../../src/monad/monad/miscfiles/modules/Microsoft.PowerShell.Management .
|
|
cp -r ../../src/monad/monad/miscfiles/modules/PSDiagnostics .
|
|
OMI=Microsoft.PowerShell.Commands.Omi
|
|
mkdir -p $OMI
|
|
ln -sf $BIN/$OMI.dll $OMI/
|
|
)
|
|
|
|
# Build native components
|
|
(
|
|
cd src/libpsl-native
|
|
cmake -DCMAKE_BUILD_TYPE=Debug .
|
|
make -j
|
|
ctest -V
|
|
cp src/libpsl-native.* $BIN
|
|
)
|
|
|
|
# Build registry stub (this should go away, again)
|
|
(
|
|
cd src/registry-stub
|
|
make
|
|
cp api-ms-win-core-registry-l1-1-0.dll $BIN
|
|
)
|
|
|
|
# Publish PowerShell
|
|
(
|
|
cd src/Microsoft.PowerShell.Linux.Host
|
|
dotnet publish --framework dnxcore50 --output $BIN --configuration Linux
|
|
# Temporary fix for dotnet publish
|
|
[[ -d $BIN/Debug/dnxcore50 ]] && cp $BIN/Debug/dnxcore50/* $BIN
|
|
# Copy files that dotnet-publish does not currently deploy
|
|
cp *_profile.ps1 $BIN
|
|
)
|
|
|
|
# Symlink types and format files to correct names
|
|
(
|
|
cd $BIN
|
|
|
|
ln -sf ../src/monad/monad/miscfiles/types/CoreClr/types.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/types/CoreClr/typesv3.ps1xml .
|
|
|
|
ln -sf ../src/monad/monad/miscfiles/display/Certificate.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/Diagnostics.Format.ps1xml Diagnostics.format.ps1xml
|
|
ln -sf ../src/monad/monad/miscfiles/display/DotNetTypes.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/Event.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/FileSystem.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/Help.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/HelpV3.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/PowerShellCore.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/PowerShellTrace.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/Registry.format.ps1xml .
|
|
ln -sf ../src/monad/monad/miscfiles/display/WSMan.format.ps1xml .
|
|
)
|