diff options
author | Kyle Sferrazza | 2017-10-06 22:43:01 -0400 |
---|---|---|
committer | Kyle Sferrazza | 2017-10-06 22:43:01 -0400 |
commit | 16d9952f40b1a4a2681b0877af8166b73fdcac1d (patch) | |
tree | 875ab74fbb80f961169563e058b473709226fb12 /build.sh | |
parent | 31801cb7da480fb31ce6d7f6b12cf4e2e65dccfc (diff) | |
download | aur-16d9952f40b1a4a2681b0877af8166b73fdcac1d.tar.gz |
beta 8
Diffstat (limited to 'build.sh')
-rwxr-xr-x | build.sh | 83 |
1 files changed, 37 insertions, 46 deletions
@@ -1,20 +1,14 @@ #!/usr/bin/env bash set -e -if hash powershell 2>/dev/null; then - echo 'Continuing with `powershell -noprofile -c Start-PSBuild`' - powershell -noprofile -c "Import-Module ./build.psm1; Start-PSBuild" -else - echo 'Continuing with full manual build' - - ## Restore - dotnet restore src/powershell-unix - dotnet restore src/ResGen - dotnet restore src/TypeCatalogGen - - ## Setup the build target to gather dependency information - targetFile="$(pwd)/src/Microsoft.PowerShell.SDK/obj/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets" - cat > $targetFile <<-"EOF" +## Restore +dotnet restore src/powershell-unix +dotnet restore src/ResGen +dotnet restore src/TypeCatalogGen + +## Setup the build target to gather dependency information +targetFile="$(pwd)/src/Microsoft.PowerShell.SDK/obj/Microsoft.PowerShell.SDK.csproj.TypeCatalog.targets" +cat > $targetFile <<-"EOF" <Project> <Target Name="_GetDependencies" DependsOnTargets="ResolveAssemblyReferencesDesignTime"> @@ -25,35 +19,32 @@ else </Target> </Project> EOF - dotnet msbuild src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj /t:_GetDependencies "/property:DesignTimeBuild=true;_DependencyFile=$(pwd)/src/TypeCatalogGen/powershell.inc" /nologo - - ## Generate 'powershell.version' - git --git-dir="$(pwd)/.git" describe --dirty --abbrev=60 > "$(pwd)/powershell.version" - - ## create the telemetry flag file - touch "$(pwd)/DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY" - - ## Generate resource binding C# files - pushd src/ResGen - dotnet run - popd - - ## Generate 'CorePsTypeCatalog.cs' - pushd src/TypeCatalogGen - dotnet run ../Microsoft.PowerShell.CoreCLR.AssemblyLoadContext/CorePsTypeCatalog.cs powershell.inc - popd - - ## Build native component - pushd src/libpsl-native - cmake -DCMAKE_BUILD_TYPE=Debug . - make -j - make test - popd - - ## Build powershell core - rawRid="$(dotnet --info | grep RID)" - rid=${rawRid##* } # retain the part after the last space - dotnet publish --configuration Linux src/powershell-unix/ --output bin --runtime $rid - - echo 'You can run powershell from bin/, but some modules that are normally added by the Restore-PSModule step will not be available.' -fi +dotnet msbuild src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj /t:_GetDependencies "/property:DesignTimeBuild=true;_DependencyFile=$(pwd)/src/TypeCatalogGen/powershell.inc" /nologo + +## Generate 'powershell.version' +git --git-dir="$(pwd)/.git" describe --dirty --abbrev=60 > "$(pwd)/powershell.version" + +## create the telemetry flag file +touch "$(pwd)/DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY" + +## Generate resource binding C# files +pushd src/ResGen +dotnet run +popd + +## Generate 'CorePsTypeCatalog.cs' +pushd src/TypeCatalogGen +dotnet run ../System.Management.Automation/CoreCLR/CorePsTypeCatalog.cs powershell.inc +popd + +## Build native component +pushd src/libpsl-native +cmake -DCMAKE_BUILD_TYPE=Debug . +make -j +make test +popd + +## Build powershell core +rawRid="$(dotnet --info | grep RID)" +rid=${rawRid##* } # retain the part after the last space +dotnet publish --configuration Linux src/powershell-unix/ --output bin --runtime $rid |