Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 0 additions & 72 deletions assets/files.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,6 @@
<Component Id="cmpBF238203E0B83E373D6EC1297801D549" Guid="{A27A6344-C311-4946-B252-81CFFA9B9E7E}">
<File Id="filB18AC8F62602F930B244F0816DBD9A96" KeyPath="yes" Source="$(env.ProductSourcePath)\System.Security.Principal.dll" />
</Component>
<Component Id="cmp721A60AE486A29EF8E3C3C6A17205BC3" Guid="{21EB2644-9608-4153-BF49-78B8F1D7230E}">
<File Id="fil82A50C1439BA61392D621D4158264E99" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.SDK.pdb" />
</Component>
<Component Id="cmpE760EF3FAD245C208A2174DBD78FB079" Guid="{D66E856B-CD98-4216-9017-4D7CFEC4DABF}">
<File Id="filCEBB50D1A1D5622AF54A784AE3F49282" KeyPath="yes" Source="$(env.ProductSourcePath)\System.Reflection.dll" />
</Component>
Expand Down Expand Up @@ -1183,9 +1180,6 @@
<Component Id="cmpf2a3c81eb19246b6be74af07e70a06f0" Guid="{678cb6a4-49e8-41be-a5cb-67a77c3cf612}">
<File Id="fil90f9e9f09d6744f68331100e6d7da03d" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.MarkdownRender.dll" />
</Component>
<Component Id="cmp918c5338524c41a2ac739a0ded94cc0d" Guid="{4f1ade18-360c-4510-ba4a-94f86f8d7f63}">
<File Id="fil2d5d94e7f192444584831a1a48d8d9dd" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.MarkdownRender.pdb" />
</Component>
<Component Id="cmp75c6b7b418bb4f439dd5519c570a14e0" Guid="{0043d5f4-4ea7-4193-8825-8a8f80e4224b}">
<File Id="fil1c8a95614a8348f9ac6982b3340a303c" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.MarkdownRender.xml" />
</Component>
Expand Down Expand Up @@ -1966,18 +1960,6 @@
</Directory>
</Directory>
<Directory Id="dir20D076755BAF7EA1D1A980368C4F81A2" Name="assets">
<Component Id="cmpF877117B22A73BEA3855701E9BEB20D2" Guid="{14AFE4AD-F727-4154-9FC0-BCB8E238E6F4}">
<File Id="filE19189D8860B1FF5525D7828BA9F77D4" KeyPath="yes" Source="$(env.ProductSourcePath)\assets\Powershell_black.ico" />
</Component>
<Component Id="cmp10D3A59B81B93BFAD6049D86D593B832" Guid="{DB9E9AB5-2320-4974-9B30-8D1745333A94}">
<File Id="fil698DFC1CD8F4EE12BE119336AEE55EF0" KeyPath="yes" Source="$(env.ProductSourcePath)\assets\Powershell_avatar.ico" />
</Component>
<Component Id="cmp9B83A74D65192F635590641BFEF9F840" Guid="{BCE9433B-3470-4EFE-B735-081B17B5C82B}">
<File Id="fil0D65BAB239F3AF9916D653C31460B0A6" KeyPath="yes" Source="$(env.ProductSourcePath)\assets\Powershell_av_colors.ico" />
</Component>
<Component Id="cmpA5AD020C2A054BD299EA1D2439947B22" Guid="{35a82a3b-0b5b-472a-adba-77c68d978d16}">
<File Id="filFB936E0529C9496EA8132112A5C60E63" KeyPath="yes" Source="$(env.ProductSourcePath)\assets\ps_black_32x32.ico" />
</Component>
</Directory>
<Directory Id="dirC93D10F1DE914404E3248A7E28901CDC" Name="cs">
<Component Id="cmp8CAF71174AEF09BEBBC46FBC901FF5DD" Guid="{29FD7D9F-CB72-4DF5-B1BC-5DDD110E35BB}">
Expand Down Expand Up @@ -3116,42 +3098,6 @@
<Component Id="cmp798A4EE6784541FE9B13582E52C5A818" Guid="{ec646ea5-c60e-41d5-9fd0-36fb14b1fc28}">
<File Id="fil8A6290BE106E416CB35FB2BEA982C3B8" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.VisualBasic.Forms.dll" />
</Component>
<Component Id="cmp786425328E3249EEBF16EB0D3CB75A52" Guid="{cb836f76-62cb-4785-8878-4383a4e8841e}">
<File Id="fil183FB26B5DFA4AE6AB5D4C7296E87EE1" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.WSMan.Management.pdb" />
</Component>
<Component Id="cmpFA1D677C9EBC4896B88D314998E0C1FA" Guid="{138e16d8-de8b-425c-a96b-4c264c7c0796}">
<File Id="filD87BE8939E984A56924B2865CF4240C2" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.CoreCLR.Eventing.pdb" />
</Component>
<Component Id="cmp3AAEDCB97741429DB5095B5B5DD02D37" Guid="{ec61f325-e673-486d-93d5-9a4272fe0377}">
<File Id="fil7413F746000740FDB9F05CF8B79D113D" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.WSMan.Runtime.pdb" />
</Component>
<Component Id="cmpDE73FE34660445FE81B6998A20CA0880" Guid="{a5d5bc43-d8d7-43e4-be78-887a4b8d723b}">
<File Id="filC5F45F8D58924B0696386CFB678E0956" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.Management.Infrastructure.CimCmdlets.pdb" />
</Component>
<Component Id="cmp72C42B8BDA574E99A9BDE1D1AC779D77" Guid="{da48fc69-2513-4fa5-a8ce-83316526d783}">
<File Id="filE0EA52D82BDA4522BEEE62DEA96D02C7" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.Commands.Diagnostics.pdb" />
</Component>
<Component Id="cmpC0D2113AAD1244BA8B3668D43F472F26" Guid="{cb0910cc-07aa-4409-9ddb-a96f4476fe82}">
<File Id="fil52C763AEBFC64A24A62A49AD9C82361A" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.GraphicalHost.pdb" />
</Component>
<Component Id="cmp43FEAB9E32934C98926E65185896CE88" Guid="{2cb23b70-a8db-4e8f-80d4-30c6243d4ff2}">
<File Id="fil87BB9E5C8A0249959A8878652E2AB027" KeyPath="yes" Source="$(env.ProductSourcePath)\pwsh.pdb" />
</Component>
<Component Id="cmpB1F91CE907214A46B7158AA391E3ACC4" Guid="{52709dae-46b8-45d2-b794-cdabd795a300}">
<File Id="fil9227479D83A44476A60264ED312EF0B6" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.Commands.Utility.pdb" />
</Component>
<Component Id="cmp9DA40D9DBE9B43A9925D9F63536D893A" Guid="{29479725-03b3-4947-9591-03368b09f496}">
<File Id="fil126141BB03DD4BE3B36D0580C755229B" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.ConsoleHost.pdb" />
</Component>
<Component Id="cmp392918B7D32C4319A4D9D71FF8302519" Guid="{b9c74b02-be75-4539-af5d-40f0d17ce44f}">
<File Id="fil390A3298638A4A34B89793326C4142F0" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.Security.pdb" />
</Component>
<Component Id="cmp0BFAF714EC6D4ADA8F1479A373426ABC" Guid="{31b760ab-fe53-4042-b3ab-c1618e6fd123}">
<File Id="filF12942D4CF374E9B8BD66B9D715C1870" KeyPath="yes" Source="$(env.ProductSourcePath)\Microsoft.PowerShell.Commands.Management.pdb" />
</Component>
<Component Id="cmp32AF38A70A52494B9387DA0DA3720A9B" Guid="{018466b9-38dd-4403-8ee4-c2b70d6bc64b}">
<File Id="fil0D62321987A1455194D789777F82EDAA" KeyPath="yes" Source="$(env.ProductSourcePath)\System.Management.Automation.pdb" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
Expand Down Expand Up @@ -3197,7 +3143,6 @@
<ComponentRef Id="cmpE4D79A97914A11003CA89DB008133BA0" />
<ComponentRef Id="cmpAA3881D6DE91B932AEE8F4C42EF99218" />
<ComponentRef Id="cmpBF238203E0B83E373D6EC1297801D549" />
<ComponentRef Id="cmp721A60AE486A29EF8E3C3C6A17205BC3" />
<ComponentRef Id="cmpE760EF3FAD245C208A2174DBD78FB079" />
<ComponentRef Id="cmp4A6D0CCDE897F87246D521912A7F91D2" />
<ComponentRef Id="cmpFD79004A272CDB8F6FE78139E9D5A8BC" />
Expand Down Expand Up @@ -3549,7 +3494,6 @@
<ComponentRef Id="cmp557A49B03E72CD07149A6CD0595C9245" />
<ComponentRef Id="cmp51F2F26684B5C4D0FFFFFBD72174D1BC" />
<ComponentRef Id="cmpf2a3c81eb19246b6be74af07e70a06f0" />
<ComponentRef Id="cmp918c5338524c41a2ac739a0ded94cc0d" />
<ComponentRef Id="cmp75c6b7b418bb4f439dd5519c570a14e0" />
<ComponentRef Id="cmp50D8B0DCCF114B58987590FF8212ACB9" />
<ComponentRef Id="cmpC39C65F1709E407B9D6AD3AF64F710D3" />
Expand Down Expand Up @@ -3783,10 +3727,6 @@
<ComponentRef Id="cmp5109AF6E6AEF499CA12097B6ADD80E7D" />
<ComponentRef Id="cmpD84D3B43B60040C8BF73D30F89F14AA5" />
<ComponentRef Id="cmpCC4657AEF2A7400D984E1CE6418EF589" />
<ComponentRef Id="cmpF877117B22A73BEA3855701E9BEB20D2" />
<ComponentRef Id="cmp10D3A59B81B93BFAD6049D86D593B832" />
<ComponentRef Id="cmp9B83A74D65192F635590641BFEF9F840" />
<ComponentRef Id="cmpA5AD020C2A054BD299EA1D2439947B22" />
<ComponentRef Id="cmp8CAF71174AEF09BEBBC46FBC901FF5DD" />
<ComponentRef Id="cmp1C0D095085408CA5B6AE3C1FCDDC2080" />
<ComponentRef Id="cmpB613EB418AA14112BFFE06A1A9730300" />
Expand Down Expand Up @@ -4156,18 +4096,6 @@
<ComponentRef Id="cmp38D8A48C68FB4CB399A0A7677FA428E4" />
<ComponentRef Id="cmp26335B5D1FE94E87A6B6EBD56A22C2B9" />
<ComponentRef Id="cmp57D197B18F1F4A6AAB704B28CF61B535" />
<ComponentRef Id="cmp786425328E3249EEBF16EB0D3CB75A52" />
<ComponentRef Id="cmpFA1D677C9EBC4896B88D314998E0C1FA" />
<ComponentRef Id="cmp3AAEDCB97741429DB5095B5B5DD02D37" />
<ComponentRef Id="cmpDE73FE34660445FE81B6998A20CA0880" />
<ComponentRef Id="cmp72C42B8BDA574E99A9BDE1D1AC779D77" />
<ComponentRef Id="cmpC0D2113AAD1244BA8B3668D43F472F26" />
<ComponentRef Id="cmp43FEAB9E32934C98926E65185896CE88" />
<ComponentRef Id="cmpB1F91CE907214A46B7158AA391E3ACC4" />
<ComponentRef Id="cmp9DA40D9DBE9B43A9925D9F63536D893A" />
<ComponentRef Id="cmp392918B7D32C4319A4D9D71FF8302519" />
<ComponentRef Id="cmp0BFAF714EC6D4ADA8F1479A373426ABC" />
<ComponentRef Id="cmp32AF38A70A52494B9387DA0DA3720A9B" />
</ComponentGroup>
</Fragment>
</Wix>
2 changes: 1 addition & 1 deletion tools/ci.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ function Invoke-CIFinish
Start-PSBuild -CrossGen -PSModuleRestore -Configuration 'Release' -ReleaseTag $preReleaseVersion -Clean

# Build packages
$packages = Start-PSPackage -Type msi,nupkg,zip -ReleaseTag $preReleaseVersion -SkipReleaseChecks
$packages = Start-PSPackage -Type msi,nupkg,zip,zip-pdb -ReleaseTag $preReleaseVersion -SkipReleaseChecks

$artifacts = New-Object System.Collections.ArrayList
foreach ($package in $packages) {
Expand Down
117 changes: 108 additions & 9 deletions tools/packaging/packaging.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ function Start-PSPackage {
[string]$Name = "powershell",

# Ubuntu, CentOS, Fedora, macOS, and Windows packages are supported
[ValidateSet("msix", "deb", "osxpkg", "rpm", "msi", "zip", "nupkg", "tar", "tar-arm", "tar-arm64", "tar-alpine", "fxdependent", "fxdependent-win-desktop")]
[ValidateSet("msix", "deb", "osxpkg", "rpm", "msi", "zip", "zip-pdb", "nupkg", "tar", "tar-arm", "tar-arm64", "tar-alpine", "fxdependent", "fxdependent-win-desktop")]
[string[]]$Type,

# Generate windows downlevel package
Expand Down Expand Up @@ -281,6 +281,18 @@ function Start-PSPackage {
New-ZipPackage @Arguments
}
}
"zip-pdb" {
$Arguments = @{
PackageNameSuffix = $NameSuffix
PackageSourcePath = $Source
PackageVersion = $Version
Force = $Force
}

if ($PSCmdlet.ShouldProcess("Create Symbols Zip Package")) {
New-PdbZipPackage @Arguments
}
}

{ $_ -like "fxdependent*" } {
## Remove PDBs from package to reduce size.
Expand Down Expand Up @@ -526,7 +538,7 @@ function New-TarballPackage {
}

$Staging = "$PSScriptRoot/staging"
New-StagingFolder -StagingPath $Staging
New-StagingFolder -StagingPath $Staging -PackageSourcePath $PackageSourcePath

if (-not $ExcludeSymbolicLinks.IsPresent) {
New-PSSymbolicLinks -Distribution 'ubuntu.16.04' -Staging $Staging
Expand Down Expand Up @@ -803,7 +815,7 @@ function New-UnixPackage {
# Setup staging directory so we don't change the original source directory
$Staging = "$PSScriptRoot/staging"
if ($PSCmdlet.ShouldProcess("Create staging folder")) {
New-StagingFolder -StagingPath $Staging
New-StagingFolder -StagingPath $Staging -PackageSourcePath $PackageSourcePath
}

# Follow the Filesystem Hierarchy Standard for Linux and macOS
Expand Down Expand Up @@ -1537,11 +1549,16 @@ function New-StagingFolder
param(
[Parameter(Mandatory)]
[string]
$StagingPath
$StagingPath,
[Parameter(Mandatory)]
[string]
$PackageSourcePath,
[string]
$Filter = '*'
)

Remove-Item -Recurse -Force -ErrorAction SilentlyContinue $StagingPath
Copy-Item -Recurse $PackageSourcePath $StagingPath
Copy-Item -Recurse $PackageSourcePath $StagingPath -Filter $Filter
}

# Function to create a zip file for Nano Server and xcopy deployment
Expand Down Expand Up @@ -1593,7 +1610,12 @@ function New-ZipPackage
{
if ($PSCmdlet.ShouldProcess("Create zip package"))
{
Compress-Archive -Path $PackageSourcePath\* -DestinationPath $zipLocationPath
$staging = "$PSScriptRoot/staging"
New-StagingFolder -StagingPath $staging -PackageSourcePath $PackageSourcePath

Get-ChildItem $staging -Filter *.pdb -recurse | Remove-Item -Force

Compress-Archive -Path $staging\* -DestinationPath $zipLocationPath
}

if (Test-Path $zipLocationPath)
Expand All @@ -1613,6 +1635,77 @@ function New-ZipPackage
}
}

# Function to create a zip file of PDB
function New-PdbZipPackage
{
[CmdletBinding(SupportsShouldProcess=$true)]
param (

# Name of the Product
[ValidateNotNullOrEmpty()]
[string] $PackageName = 'PowerShell-Symbols',

# Suffix of the Name
[string] $PackageNameSuffix,

# Version of the Product
[Parameter(Mandatory = $true)]
[string] $PackageVersion,

# Source Path to the Product Files - required to package the contents into an Zip
[Parameter(Mandatory = $true)]
[string] $PackageSourcePath,

[switch] $Force
)

$ProductSemanticVersion = Get-PackageSemanticVersion -Version $PackageVersion

$zipPackageName = $PackageName + "-" + $ProductSemanticVersion
if ($PackageNameSuffix) {
$zipPackageName = $zipPackageName, $PackageNameSuffix -join "-"
}

Write-Verbose "Create Symbols Zip for Product $zipPackageName"

$zipLocationPath = Join-Path $PWD "$zipPackageName.zip"

if ($Force.IsPresent)
{
if (Test-Path $zipLocationPath)
{
Remove-Item $zipLocationPath
}
}

if (Get-Command Compress-Archive -ErrorAction Ignore)
{
if ($PSCmdlet.ShouldProcess("Create zip package"))
{
$staging = "$PSScriptRoot/staging"
New-StagingFolder -StagingPath $staging -PackageSourcePath $PackageSourcePath -Filter *.pdb

Compress-Archive -Path $staging\* -DestinationPath $zipLocationPath
}

if (Test-Path $zipLocationPath)
{
Write-Log "You can find the Zip @ $zipLocationPath"
$zipLocationPath
}
else
{
throw "Failed to create $zipLocationPath"
}
}
#TODO: Use .NET Api to do compresss-archive equivalent if the pscmdlet is not present
else
{
Write-Error -Message "Compress-Archive cmdlet is missing in this PowerShell version"
}
}


function CreateNugetPlatformFolder
{
param(
Expand Down Expand Up @@ -2439,7 +2532,7 @@ function New-NugetContentPackage
$stagingRoot = New-SubFolder -Path $PSScriptRoot -ChildPath 'nugetStaging' -Clean
$contentFolder = Join-Path -path $stagingRoot -ChildPath 'content'
if ($PSCmdlet.ShouldProcess("Create staging folder")) {
New-StagingFolder -StagingPath $contentFolder
New-StagingFolder -StagingPath $contentFolder -PackageSourcePath $PackageSourcePath
}

$projectFolder = Join-Path $PSScriptRoot 'projects/nuget'
Expand Down Expand Up @@ -2864,6 +2957,12 @@ function New-MSIPackage
$ProductVersion = Get-PackageVersionAsMajorMinorBuildRevision -Version $ProductVersion

$assetsInSourcePath = Join-Path $ProductSourcePath 'assets'

$staging = "$PSScriptRoot/staging"
New-StagingFolder -StagingPath $staging -PackageSourcePath $ProductSourcePath

Get-ChildItem $staging -Filter *.pdb -recurse | Remove-Item -Force

New-Item $assetsInSourcePath -type directory -Force | Write-Verbose

Write-Verbose "Place dependencies such as icons to $assetsInSourcePath"
Expand All @@ -2875,7 +2974,7 @@ function New-MSIPackage

Write-Verbose "Create MSI for Product $productSemanticVersionWithName"

[Environment]::SetEnvironmentVariable("ProductSourcePath", $ProductSourcePath, "Process")
[Environment]::SetEnvironmentVariable("ProductSourcePath", $staging, "Process")
# These variables are used by Product.wxs in assets directory
[Environment]::SetEnvironmentVariable("ProductDirectoryName", $productDirectoryName, "Process")
[Environment]::SetEnvironmentVariable("ProductName", $ProductName, "Process")
Expand Down Expand Up @@ -2933,7 +3032,7 @@ function New-MSIPackage
}

Write-Log "verifying no new files have been added or removed..."
Start-NativeExecution -VerboseOutputOnError { & $wixPaths.wixHeatExePath dir $ProductSourcePath -dr $productDirectoryName -cg $productDirectoryName -gg -sfrag -srd -scom -sreg -out $wixFragmentPath -var env.ProductSourcePath -v}
Start-NativeExecution -VerboseOutputOnError { & $wixPaths.wixHeatExePath dir $staging -dr $productDirectoryName -cg $productDirectoryName -gg -sfrag -srd -scom -sreg -out $wixFragmentPath -var env.ProductSourcePath -v}

# We are verifying that the generated $wixFragmentPath and $FilesWxsPath are functionally the same
Test-FileWxs -FilesWxsPath $FilesWxsPath -HeatFilesWxsPath $wixFragmentPath
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,12 @@ try{

if (!$ComponentRegistration.IsPresent -and $Runtime -notlike 'fxdependent*')
{
if (!$Symbols.IsPresent) {
$pspackageParams['Type'] = 'zip-pdb'
Write-Verbose "Starting powershell symbols packaging(zip)..." -verbose
Start-PSPackage @pspackageParams @releaseTagParam
}

$pspackageParams['Type']='zip'
$pspackageParams['IncludeSymbols']=$Symbols.IsPresent
Write-Verbose "Starting powershell packaging(zip)..." -verbose
Expand Down
11 changes: 11 additions & 0 deletions tools/releaseBuild/azureDevOps/templates/upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ parameters:
version: 6.2.0
msi: yes
msix: yes
pdb: no

steps:
- template: upload-final-results.yml
Expand Down Expand Up @@ -36,6 +37,16 @@ steps:
ContainerName: '$(AzureVersion)'
condition: succeeded()

- task: AzureFileCopy@3
displayName: 'upload pbd zip to Azure - ${{ parameters.architecture }}'
inputs:
SourcePath: '$(System.ArtifactsDirectory)\signed\PowerShell-Symbols-${{ parameters.version }}-win-${{ parameters.architecture }}.zip'
azureSubscription: '$(AzureFileCopySubscription)'
Destination: AzureBlob
storage: '$(StorageAccount)'
ContainerName: '$(AzureVersion)'
condition: and(succeeded(), eq('${{ parameters.pdb }}', 'yes'))

- template: upload-final-results.yml
parameters:
artifactPath: $(Build.StagingDirectory)\signedPackages
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ jobs:
parameters:
architecture: x64
version: $(version)
pdb: yes

- template: upload.yml
parameters:
Expand Down