mirror of
https://github.com/microsoft/terminal.git
synced 2025-12-19 18:11:39 -05:00
Consolidate our MSIX distribution back down to one package (#15031)
We ship a separate package to Windows 10, which contains a copy of XAML embedded in it, because of a bug in activating classes from framework packages while we're elevated. We did this to avoid wasting disk space on Windows 11 installs (which is critical given that we're preinstalled in the Windows image.) The fix for this issue was released in a servicing update in April 2022. Thanks to KB5011831, we no longer need this workaround! And finally, this means that we no longer need to depend on a copy of "pre-release" XAML. We only did that because it would copy all of its assets into our package. Introduced in #12560 Closes #14106 Closes (discussion) #14981 Reverts #14660
This commit is contained in:
4
.github/workflows/winget.yml
vendored
4
.github/workflows/winget.yml
vendored
@@ -5,7 +5,7 @@ on:
|
|||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
REGEX: 'Microsoft\.WindowsTerminal(?:Preview)?_Win10_([\d.]+)_8wekyb3d8bbwe\.msixbundle$'
|
REGEX: 'Microsoft\.WindowsTerminal(?:Preview)?_([\d.]+)_8wekyb3d8bbwe\.msixbundle$'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish:
|
publish:
|
||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
- name: Publish Windows Terminal ${{ github.event.release.prerelease && 'Preview' || 'Stable' }}
|
- name: Publish Windows Terminal ${{ github.event.release.prerelease && 'Preview' || 'Stable' }}
|
||||||
run: |
|
run: |
|
||||||
$assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
|
$assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
|
||||||
$wingetRelevantAsset = $assets | Where-Object { $_.name -like '*Win10*' } | Select-Object -First 1
|
$wingetRelevantAsset = $assets | Where-Object { $_.name -like '*.msixbundle' } | Select-Object -First 1
|
||||||
$regex = [Regex]::New($env:REGEX)
|
$regex = [Regex]::New($env:REGEX)
|
||||||
$version = $regex.Match($wingetRelevantAsset.name).Groups[1].Value
|
$version = $regex.Match($wingetRelevantAsset.name).Groups[1].Value
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
<package id="MUXCustomBuildTasks" version="1.0.48" targetFramework="native" />
|
<package id="MUXCustomBuildTasks" version="1.0.48" targetFramework="native" />
|
||||||
<package id="Microsoft.Taef" version="10.60.210621002" targetFramework="native" />
|
<package id="Microsoft.Taef" version="10.60.210621002" targetFramework="native" />
|
||||||
<package id="Microsoft.Internal.PGO-Helpers.Cpp" version="0.2.34" targetFramework="native" />
|
<package id="Microsoft.Internal.PGO-Helpers.Cpp" version="0.2.34" targetFramework="native" />
|
||||||
<!-- This cannot be included in another project that depends on XAML (as it would be a duplicate package ID) -->
|
|
||||||
<package id="Microsoft.UI.Xaml" version="2.7.3" targetFramework="native" />
|
|
||||||
<package id="Microsoft.Debugging.Tools.PdbStr" version="20220617.1556.0" targetFramework="native" />
|
<package id="Microsoft.Debugging.Tools.PdbStr" version="20220617.1556.0" targetFramework="native" />
|
||||||
<package id="Microsoft.Debugging.Tools.SrcTool" version="20220617.1556.0" targetFramework="native" />
|
<package id="Microsoft.Debugging.Tools.SrcTool" version="20220617.1556.0" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
||||||
|
|||||||
@@ -56,11 +56,6 @@ parameters:
|
|||||||
- x64
|
- x64
|
||||||
- x86
|
- x86
|
||||||
- arm64
|
- arm64
|
||||||
- name: buildWindowsVersions
|
|
||||||
type: object
|
|
||||||
default:
|
|
||||||
- Win10
|
|
||||||
- Win11
|
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
MakeAppxPath: 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\MakeAppx.exe'
|
MakeAppxPath: 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\MakeAppx.exe'
|
||||||
@@ -87,13 +82,6 @@ variables:
|
|||||||
NuGetPackBetaVersion: preview
|
NuGetPackBetaVersion: preview
|
||||||
${{ elseif eq(variables['Build.SourceBranchName'], 'main') }}:
|
${{ elseif eq(variables['Build.SourceBranchName'], 'main') }}:
|
||||||
NuGetPackBetaVersion: experimental
|
NuGetPackBetaVersion: experimental
|
||||||
# The NuGet packages have to use *somebody's* DLLs. We used to force them to
|
|
||||||
# use the Win10 build outputs, but if there isn't a Win10 build we should use
|
|
||||||
# the Win11 one.
|
|
||||||
${{ if containsValue(parameters.buildWindowsVersions, 'Win10') }}:
|
|
||||||
TerminalBestVersionForNuGetPackages: Win10
|
|
||||||
${{ else }}:
|
|
||||||
TerminalBestVersionForNuGetPackages: Win11
|
|
||||||
|
|
||||||
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
|
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
|
||||||
resources:
|
resources:
|
||||||
@@ -107,11 +95,9 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
${{ each config in parameters.buildConfigurations }}:
|
${{ each config in parameters.buildConfigurations }}:
|
||||||
${{ each platform in parameters.buildPlatforms }}:
|
${{ each platform in parameters.buildPlatforms }}:
|
||||||
${{ each windowsVersion in parameters.buildWindowsVersions }}:
|
${{ config }}_${{ platform }}:
|
||||||
${{ config }}_${{ platform }}_${{ windowsVersion }}:
|
|
||||||
BuildConfiguration: ${{ config }}
|
BuildConfiguration: ${{ config }}
|
||||||
BuildPlatform: ${{ platform }}
|
BuildPlatform: ${{ platform }}
|
||||||
TerminalTargetWindowsVersion: ${{ windowsVersion }}
|
|
||||||
displayName: Build
|
displayName: Build
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 240
|
||||||
cancelTimeoutInMinutes: 1
|
cancelTimeoutInMinutes: 1
|
||||||
@@ -185,10 +171,6 @@ jobs:
|
|||||||
arguments: -MarkdownNoticePath .\NOTICE.md -OutputPath .\src\cascadia\CascadiaPackage\NOTICE.html
|
arguments: -MarkdownNoticePath .\NOTICE.md -OutputPath .\src\cascadia\CascadiaPackage\NOTICE.html
|
||||||
pwsh: true
|
pwsh: true
|
||||||
- ${{ if eq(parameters.buildTerminal, true) }}:
|
- ${{ if eq(parameters.buildTerminal, true) }}:
|
||||||
- pwsh: |-
|
|
||||||
./build/scripts/Patch-ManifestsToWindowsVersion.ps1 -NewWindowsVersion "10.0.22000.0"
|
|
||||||
displayName: Update manifest target version to Win11 (if necessary)
|
|
||||||
condition: and(succeeded(), eq(variables['TerminalTargetWindowsVersion'], 'Win11'))
|
|
||||||
- task: VSBuild@1
|
- task: VSBuild@1
|
||||||
displayName: Build solution **\OpenConsole.sln
|
displayName: Build solution **\OpenConsole.sln
|
||||||
condition: true
|
condition: true
|
||||||
@@ -205,7 +187,7 @@ jobs:
|
|||||||
continueOnError: True
|
continueOnError: True
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: $(Build.SourcesDirectory)\msbuild.binlog
|
PathtoPublish: $(Build.SourcesDirectory)\msbuild.binlog
|
||||||
ArtifactName: binlog-$(BuildPlatform)-$(TerminalTargetWindowsVersion)
|
ArtifactName: binlog-$(BuildPlatform)
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
displayName: Check MSIX for common regressions
|
displayName: Check MSIX for common regressions
|
||||||
inputs:
|
inputs:
|
||||||
@@ -297,7 +279,7 @@ jobs:
|
|||||||
displayName: Publish Artifact (appx)
|
displayName: Publish Artifact (appx)
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: $(Build.ArtifactStagingDirectory)/appx
|
PathtoPublish: $(Build.ArtifactStagingDirectory)/appx
|
||||||
ArtifactName: appx-$(BuildPlatform)-$(BuildConfiguration)-$(TerminalTargetWindowsVersion)
|
ArtifactName: appx-$(BuildPlatform)-$(BuildConfiguration)
|
||||||
- ${{ if eq(parameters.buildConPTY, true) }}:
|
- ${{ if eq(parameters.buildConPTY, true) }}:
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy ConPTY to Artifacts
|
displayName: Copy ConPTY to Artifacts
|
||||||
@@ -315,7 +297,7 @@ jobs:
|
|||||||
displayName: Publish Artifact (ConPTY)
|
displayName: Publish Artifact (ConPTY)
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: $(Build.ArtifactStagingDirectory)/conpty
|
PathtoPublish: $(Build.ArtifactStagingDirectory)/conpty
|
||||||
ArtifactName: conpty-dll-$(BuildPlatform)-$(BuildConfiguration)-$(TerminalTargetWindowsVersion)
|
ArtifactName: conpty-dll-$(BuildPlatform)-$(BuildConfiguration)
|
||||||
- ${{ if eq(parameters.buildWPF, true) }}:
|
- ${{ if eq(parameters.buildWPF, true) }}:
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy PublicTerminalCore.dll to Artifacts
|
displayName: Copy PublicTerminalCore.dll to Artifacts
|
||||||
@@ -329,7 +311,7 @@ jobs:
|
|||||||
displayName: Publish Artifact (PublicTerminalCore)
|
displayName: Publish Artifact (PublicTerminalCore)
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: $(Build.ArtifactStagingDirectory)/wpf
|
PathtoPublish: $(Build.ArtifactStagingDirectory)/wpf
|
||||||
ArtifactName: wpf-dll-$(BuildPlatform)-$(BuildConfiguration)-$(TerminalTargetWindowsVersion)
|
ArtifactName: wpf-dll-$(BuildPlatform)-$(BuildConfiguration)
|
||||||
|
|
||||||
- task: PublishSymbols@2
|
- task: PublishSymbols@2
|
||||||
displayName: Publish symbols path
|
displayName: Publish symbols path
|
||||||
@@ -347,11 +329,6 @@ jobs:
|
|||||||
|
|
||||||
- ${{ if eq(parameters.buildTerminal, true) }}:
|
- ${{ if eq(parameters.buildTerminal, true) }}:
|
||||||
- job: BundleAndSign
|
- job: BundleAndSign
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
${{ each windowsVersion in parameters.buildWindowsVersions }}:
|
|
||||||
${{ windowsVersion }}:
|
|
||||||
TerminalTargetWindowsVersion: ${{ windowsVersion }}
|
|
||||||
displayName: Create and sign AppX/MSIX bundles
|
displayName: Create and sign AppX/MSIX bundles
|
||||||
variables:
|
variables:
|
||||||
${{ if eq(parameters.branding, 'Release') }}:
|
${{ if eq(parameters.branding, 'Release') }}:
|
||||||
@@ -373,9 +350,9 @@ jobs:
|
|||||||
disableOutputRedirect: true
|
disableOutputRedirect: true
|
||||||
- ${{ each platform in parameters.buildPlatforms }}:
|
- ${{ each platform in parameters.buildPlatforms }}:
|
||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download Artifacts ${{ platform }} $(TerminalTargetWindowsVersion)
|
displayName: Download Artifacts ${{ platform }}
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: appx-${{ platform }}-Release-$(TerminalTargetWindowsVersion)
|
artifactName: appx-${{ platform }}-Release
|
||||||
# Add 3000 to the major version component, but only for the bundle.
|
# Add 3000 to the major version component, but only for the bundle.
|
||||||
# This is to ensure that it is newer than "2022.xx.yy.zz" or whatever the original bundle versions were before
|
# This is to ensure that it is newer than "2022.xx.yy.zz" or whatever the original bundle versions were before
|
||||||
# we switched to uniform naming.
|
# we switched to uniform naming.
|
||||||
@@ -385,7 +362,7 @@ jobs:
|
|||||||
$Components[0] = ([int]$Components[0] + $VersionEpoch)
|
$Components[0] = ([int]$Components[0] + $VersionEpoch)
|
||||||
$BundleVersion = $Components -Join "."
|
$BundleVersion = $Components -Join "."
|
||||||
New-Item -Type Directory "$(System.ArtifactsDirectory)\bundle"
|
New-Item -Type Directory "$(System.ArtifactsDirectory)\bundle"
|
||||||
.\build\scripts\Create-AppxBundle.ps1 -InputPath "$(System.ArtifactsDirectory)" -ProjectName CascadiaPackage -BundleVersion $BundleVersion -OutputPath "$(System.ArtifactsDirectory)\bundle\$(BundleStemName)_$(TerminalTargetWindowsVersion)_$(XES_APPXMANIFESTVERSION)_8wekyb3d8bbwe.msixbundle"
|
.\build\scripts\Create-AppxBundle.ps1 -InputPath "$(System.ArtifactsDirectory)" -ProjectName CascadiaPackage -BundleVersion $BundleVersion -OutputPath "$(System.ArtifactsDirectory)\bundle\$(BundleStemName)_$(XES_APPXMANIFESTVERSION)_8wekyb3d8bbwe.msixbundle"
|
||||||
displayName: Create WindowsTerminal*.msixbundle
|
displayName: Create WindowsTerminal*.msixbundle
|
||||||
- task: EsrpCodeSigning@1
|
- task: EsrpCodeSigning@1
|
||||||
displayName: Submit *.msixbundle to ESRP for code signing
|
displayName: Submit *.msixbundle to ESRP for code signing
|
||||||
@@ -426,7 +403,7 @@ jobs:
|
|||||||
displayName: 'Publish Artifact: appxbundle-signed'
|
displayName: 'Publish Artifact: appxbundle-signed'
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: $(System.ArtifactsDirectory)\bundle
|
PathtoPublish: $(System.ArtifactsDirectory)\bundle
|
||||||
ArtifactName: appxbundle-signed-$(TerminalTargetWindowsVersion)
|
ArtifactName: appxbundle-signed
|
||||||
|
|
||||||
- ${{ if eq(parameters.buildConPTY, true) }}:
|
- ${{ if eq(parameters.buildConPTY, true) }}:
|
||||||
- job: PackageAndSignConPTY
|
- job: PackageAndSignConPTY
|
||||||
@@ -451,7 +428,7 @@ jobs:
|
|||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download ${{ platform }} ConPTY binaries
|
displayName: Download ${{ platform }} ConPTY binaries
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: conpty-dll-${{ platform }}-$(BuildConfiguration)-$(TerminalBestVersionForNuGetPackages)
|
artifactName: conpty-dll-${{ platform }}-$(BuildConfiguration)
|
||||||
downloadPath: bin\${{ platform }}\$(BuildConfiguration)\
|
downloadPath: bin\${{ platform }}\$(BuildConfiguration)\
|
||||||
extractTars: false
|
extractTars: false
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
@@ -542,7 +519,7 @@ jobs:
|
|||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download ${{ platform }} PublicTerminalCore
|
displayName: Download ${{ platform }} PublicTerminalCore
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: wpf-dll-${{ platform }}-$(BuildConfiguration)-$(TerminalBestVersionForNuGetPackages)
|
artifactName: wpf-dll-${{ platform }}-$(BuildConfiguration)
|
||||||
itemPattern: '**/*.dll'
|
itemPattern: '**/*.dll'
|
||||||
downloadPath: bin\${{ platform }}\$(BuildConfiguration)\
|
downloadPath: bin\${{ platform }}\$(BuildConfiguration)\
|
||||||
extractTars: false
|
extractTars: false
|
||||||
@@ -640,11 +617,10 @@ jobs:
|
|||||||
|
|
||||||
# Download the appx-PLATFORM-CONFIG-VERSION artifact for every platform/version combo
|
# Download the appx-PLATFORM-CONFIG-VERSION artifact for every platform/version combo
|
||||||
- ${{ each platform in parameters.buildPlatforms }}:
|
- ${{ each platform in parameters.buildPlatforms }}:
|
||||||
- ${{ each windowsVersion in parameters.buildWindowsVersions }}:
|
|
||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download Symbols ${{ platform }} ${{ windowsVersion }}
|
displayName: Download Symbols ${{ platform }}
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: appx-${{ platform }}-Release-${{ windowsVersion }}
|
artifactName: appx-${{ platform }}-Release
|
||||||
|
|
||||||
# It seems easier to do this -- download every appxsym -- then enumerate all the PDBs in the build directory for the
|
# It seems easier to do this -- download every appxsym -- then enumerate all the PDBs in the build directory for the
|
||||||
# public symbol push. Otherwise, we would have to list all of the PDB files one by one.
|
# public symbol push. Otherwise, we would have to list all of the PDB files one by one.
|
||||||
@@ -704,7 +680,7 @@ jobs:
|
|||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download Build Artifacts
|
displayName: Download Build Artifacts
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: appxbundle-signed-Win11
|
artifactName: appxbundle-signed
|
||||||
extractTars: false
|
extractTars: false
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
displayName: Rename and stage packages for vpack
|
displayName: Rename and stage packages for vpack
|
||||||
@@ -713,7 +689,7 @@ jobs:
|
|||||||
script: >-
|
script: >-
|
||||||
# Rename to known/fixed name for Windows build system
|
# Rename to known/fixed name for Windows build system
|
||||||
|
|
||||||
Get-ChildItem Microsoft.WindowsTerminal_Win11_*.msixbundle | Rename-Item -NewName { 'Microsoft.WindowsTerminal_8wekyb3d8bbwe.msixbundle' }
|
Get-ChildItem Microsoft.WindowsTerminal_*.msixbundle | Rename-Item -NewName { 'Microsoft.WindowsTerminal_8wekyb3d8bbwe.msixbundle' }
|
||||||
|
|
||||||
|
|
||||||
# Create vpack directory and place item inside
|
# Create vpack directory and place item inside
|
||||||
@@ -721,13 +697,13 @@ jobs:
|
|||||||
mkdir WindowsTerminal.app
|
mkdir WindowsTerminal.app
|
||||||
|
|
||||||
mv Microsoft.WindowsTerminal_8wekyb3d8bbwe.msixbundle .\WindowsTerminal.app\
|
mv Microsoft.WindowsTerminal_8wekyb3d8bbwe.msixbundle .\WindowsTerminal.app\
|
||||||
workingDirectory: $(System.ArtifactsDirectory)\appxbundle-signed-Win11
|
workingDirectory: $(System.ArtifactsDirectory)\appxbundle-signed
|
||||||
- task: PkgESVPack@12
|
- task: PkgESVPack@12
|
||||||
displayName: 'Package ES - VPack'
|
displayName: 'Package ES - VPack'
|
||||||
env:
|
env:
|
||||||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||||
inputs:
|
inputs:
|
||||||
sourceDirectory: $(System.ArtifactsDirectory)\appxbundle-signed-Win11\WindowsTerminal.app
|
sourceDirectory: $(System.ArtifactsDirectory)\appxbundle-signed\WindowsTerminal.app
|
||||||
description: VPack for the Windows Terminal Application
|
description: VPack for the Windows Terminal Application
|
||||||
pushPkgName: WindowsTerminal.app
|
pushPkgName: WindowsTerminal.app
|
||||||
owner: conhost
|
owner: conhost
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
# Copyright (c) Microsoft Corporation.
|
|
||||||
# Licensed under the MIT license.
|
|
||||||
|
|
||||||
Param(
|
|
||||||
[string]$NewWindowsVersion = "10.0.22000.0"
|
|
||||||
)
|
|
||||||
|
|
||||||
Get-ChildItem src/cascadia/CascadiaPackage -Recurse -Filter *.appxmanifest | ForEach-Object {
|
|
||||||
$xml = [xml](Get-Content $_.FullName)
|
|
||||||
$xml.Package.Dependencies.TargetDeviceFamily | Where-Object Name -Like "Windows*" | ForEach-Object {
|
|
||||||
$_.MinVersion = $NewWindowsVersion
|
|
||||||
}
|
|
||||||
$xml.Save($_.FullName)
|
|
||||||
}
|
|
||||||
@@ -10,22 +10,4 @@
|
|||||||
<OpenConsoleDir>$(MSBuildThisFileDirectory)</OpenConsoleDir>
|
<OpenConsoleDir>$(MSBuildThisFileDirectory)</OpenConsoleDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<!--
|
|
||||||
For the Windows 10 build, we're targeting the prerelease version of Microsoft.UI.Xaml.
|
|
||||||
This version emits every XAML DLL directly into our package.
|
|
||||||
This is a workaround for us not having deliverable MSFT-21242953 on this version of Windows.
|
|
||||||
|
|
||||||
This version should be tracked in all project packages.config files for projects that depend on Xaml.
|
|
||||||
-->
|
|
||||||
<TerminalMUXVersion>2.7.3-prerelease.220816001</TerminalMUXVersion>
|
|
||||||
<!--
|
|
||||||
For the Windows 11-specific build, we're targeting the public version of Microsoft.UI.Xaml.
|
|
||||||
This version emits a package dependency instead of embedding the dependency in our own package.
|
|
||||||
|
|
||||||
This version should be tracked in build/packages.config.
|
|
||||||
-->
|
|
||||||
<TerminalMUXVersion Condition="'$(TerminalTargetWindowsVersion)'=='Win11'">2.7.3</TerminalMUXVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
12
custom.props
12
custom.props
@@ -2,18 +2,6 @@
|
|||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<!-- This file is read by XES, which we use in our Release builds. -->
|
<!-- This file is read by XES, which we use in our Release builds. -->
|
||||||
<PropertyGroup Label="Version">
|
<PropertyGroup Label="Version">
|
||||||
<!--
|
|
||||||
The Windows 11 build is going to have the same package name, so it *must* have a different version.
|
|
||||||
The easiest way for us to do this is to add 1 to the revision field.
|
|
||||||
In short, for a given Terminal build 1.11, we will emit two different versions (assume this is build
|
|
||||||
4 on day 23 of the year):
|
|
||||||
- 1.11.234.0 for Windows 10
|
|
||||||
- 1.11.235.0 for Windows 11
|
|
||||||
This presents a potential for conflicts if we want to ship two builds produced back to back on the
|
|
||||||
same day... which is terribly unlikely.
|
|
||||||
-->
|
|
||||||
<VersionBuildRevision Condition="'$(TerminalTargetWindowsVersion)'=='Win11' and '$(VersionBuildRevision)'!=''">$([MSBuild]::Add($(VersionBuildRevision), 1))</VersionBuildRevision>
|
|
||||||
|
|
||||||
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
|
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
|
||||||
<XesBaseYearForStoreVersion>2023</XesBaseYearForStoreVersion>
|
<XesBaseYearForStoreVersion>2023</XesBaseYearForStoreVersion>
|
||||||
<VersionMajor>1</VersionMajor>
|
<VersionMajor>1</VersionMajor>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<package id="Microsoft.VCRTForwarders.140" version="1.0.4" targetFramework="native" />
|
<package id="Microsoft.VCRTForwarders.140" version="1.0.4" targetFramework="native" />
|
||||||
<package id="Microsoft.Internal.Windows.Terminal.ThemeHelpers" version="0.6.220404001" targetFramework="native" />
|
<package id="Microsoft.Internal.Windows.Terminal.ThemeHelpers" version="0.6.220404001" targetFramework="native" />
|
||||||
<package id="Microsoft.VisualStudio.Setup.Configuration.Native" version="2.3.2262" targetFramework="native" developmentDependency="true" />
|
<package id="Microsoft.VisualStudio.Setup.Configuration.Native" version="2.3.2262" targetFramework="native" developmentDependency="true" />
|
||||||
<package id="Microsoft.UI.Xaml" version="2.7.3-prerelease.220816001" targetFramework="native" />
|
<package id="Microsoft.UI.Xaml" version="2.7.3" targetFramework="native" />
|
||||||
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220201.1" targetFramework="native" developmentDependency="true" />
|
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220201.1" targetFramework="native" developmentDependency="true" />
|
||||||
|
|
||||||
<!-- Managed packages -->
|
<!-- Managed packages -->
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<OpenConsoleCppWinRTProject>true</OpenConsoleCppWinRTProject>
|
<OpenConsoleCppWinRTProject>true</OpenConsoleCppWinRTProject>
|
||||||
<!-- TerminalCppWinrt is not set intentionally -->
|
<!-- TerminalCppWinrt is not set intentionally -->
|
||||||
|
<TerminalMUX>true</TerminalMUX>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionDir)\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
|
<Import Project="$(SolutionDir)\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
|
||||||
@@ -97,15 +98,4 @@
|
|||||||
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
|
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
|
||||||
<Import Project="$(OpenConsoleDir)src\common.build.tests.props" />
|
<Import Project="$(OpenConsoleDir)src\common.build.tests.props" />
|
||||||
<Import Project="$(OpenConsoleDir)src\common.nugetversions.targets" />
|
<Import Project="$(OpenConsoleDir)src\common.nugetversions.targets" />
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- From Microsoft.UI.Xaml.targets -->
|
|
||||||
<Native-Platform Condition="'$(Platform)' == 'Win32'">x86</Native-Platform>
|
|
||||||
<Native-Platform Condition="'$(Platform)' != 'Win32'">$(Platform)</Native-Platform>
|
|
||||||
<_MUXBinRoot>"$(OpenConsoleDir)packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\runtimes\win10-$(Native-Platform)\native\"</_MUXBinRoot>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<!-- We actually can just straight up reference MUX here, it's fine -->
|
|
||||||
<Import Project="..\..\..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets" Condition="Exists('..\..\..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets')" />
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
<PropertyGroup Label="NuGet Dependencies">
|
<PropertyGroup Label="NuGet Dependencies">
|
||||||
<!-- TerminalCppWinrt is intentionally not set -->
|
<!-- TerminalCppWinrt is intentionally not set -->
|
||||||
|
<TerminalMUX>true</TerminalMUX>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionDir)\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
|
<Import Project="$(SolutionDir)\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
|
||||||
@@ -85,15 +86,4 @@
|
|||||||
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
|
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
|
||||||
<Import Project="$(OpenConsoleDir)src\common.build.tests.props" />
|
<Import Project="$(OpenConsoleDir)src\common.build.tests.props" />
|
||||||
<Import Project="$(OpenConsoleDir)src\common.nugetversions.targets" />
|
<Import Project="$(OpenConsoleDir)src\common.nugetversions.targets" />
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- From Microsoft.UI.Xaml.targets -->
|
|
||||||
<Native-Platform Condition="'$(Platform)' == 'Win32'">x86</Native-Platform>
|
|
||||||
<Native-Platform Condition="'$(Platform)' != 'Win32'">$(Platform)</Native-Platform>
|
|
||||||
<_MUXBinRoot>"$(OpenConsoleDir)packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\runtimes\win10-$(Native-Platform)\native\"</_MUXBinRoot>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<!-- We actually can just straight up reference MUX here, it's fine -->
|
|
||||||
<Import Project="..\..\..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets" Condition="Exists('..\..\..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets')" />
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
<OpenConsoleCppWinRTProject>true</OpenConsoleCppWinRTProject>
|
<OpenConsoleCppWinRTProject>true</OpenConsoleCppWinRTProject>
|
||||||
<EnableHybridCRT>false</EnableHybridCRT> <!-- C++/CLI projects can't deal -->
|
<EnableHybridCRT>false</EnableHybridCRT> <!-- C++/CLI projects can't deal -->
|
||||||
|
|
||||||
|
<TerminalMUX>true</TerminalMUX>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
These two properties are very important!
|
These two properties are very important!
|
||||||
Without them, msbuild will stomp MinVersion and MaxVersionTested in the
|
Without them, msbuild will stomp MinVersion and MaxVersionTested in the
|
||||||
@@ -126,8 +128,6 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Import Project="$(OpenConsoleDir)\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets" Condition="Exists('$(OpenConsoleDir)\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets')" />
|
|
||||||
|
|
||||||
<Import Project="$(OpenConsoleDir)\src\common.build.post.props" />
|
<Import Project="$(OpenConsoleDir)\src\common.build.post.props" />
|
||||||
<Import Project="$(OpenConsoleDir)\src\common.nugetversions.targets" />
|
<Import Project="$(OpenConsoleDir)\src\common.nugetversions.targets" />
|
||||||
|
|
||||||
|
|||||||
@@ -316,7 +316,6 @@
|
|||||||
<PRIResource Include="Resources\en-US\Resources.resw" />
|
<PRIResource Include="Resources\en-US\Resources.resw" />
|
||||||
<PRIResource Include="Resources\en-US\ContextMenu.resw" />
|
<PRIResource Include="Resources\en-US\ContextMenu.resw" />
|
||||||
<OCResourceDirectory Include="Resources" />
|
<OCResourceDirectory Include="Resources" />
|
||||||
<None Include="packages.config" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<!-- ========================= Project References ======================== -->
|
<!-- ========================= Project References ======================== -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="Microsoft.UI.Xaml" version="2.7.3-prerelease.220816001" targetFramework="native" />
|
|
||||||
</packages>
|
|
||||||
@@ -353,7 +353,6 @@
|
|||||||
</PRIResource>
|
</PRIResource>
|
||||||
<OCResourceDirectory Include="Resources" />
|
<OCResourceDirectory Include="Resources" />
|
||||||
<None Include="$(ProjectName).def" />
|
<None Include="$(ProjectName).def" />
|
||||||
<None Include="packages.config" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<!-- ========================= Project References ======================== -->
|
<!-- ========================= Project References ======================== -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="Microsoft.UI.Xaml" version="2.7.3" targetFramework="native" />
|
|
||||||
</packages>
|
|
||||||
@@ -1015,12 +1015,7 @@ winrt::hstring CascadiaSettings::ApplicationVersion()
|
|||||||
{
|
{
|
||||||
const auto package{ winrt::Windows::ApplicationModel::Package::Current() };
|
const auto package{ winrt::Windows::ApplicationModel::Package::Current() };
|
||||||
const auto version{ package.Id().Version() };
|
const auto version{ package.Id().Version() };
|
||||||
// As of about 2022, the ones digit of the Build of our version is a
|
winrt::hstring formatted{ wil::str_printf<std::wstring>(L"%u.%u.%u.%u", version.Major, version.Minor, version.Build, version.Revision) };
|
||||||
// placeholder value to differentiate the Windows 10 build from the
|
|
||||||
// Windows 11 build. Let's trim that out. For additional clarity,
|
|
||||||
// let's omit the Revision, which _must_ be .0, and doesn't provide any
|
|
||||||
// value to report.
|
|
||||||
winrt::hstring formatted{ wil::str_printf<std::wstring>(L"%u.%u.%u", version.Major, version.Minor, version.Build / 10) };
|
|
||||||
return formatted;
|
return formatted;
|
||||||
}
|
}
|
||||||
CATCH_LOG();
|
CATCH_LOG();
|
||||||
|
|||||||
@@ -79,9 +79,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Manifest Include="WindowsTerminal.manifest" />
|
<Manifest Include="WindowsTerminal.manifest" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<None Include="packages.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<!-- Dependencies -->
|
<!-- Dependencies -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!-- Even though we do have proper recursive dependencies, we want to keep some of these here
|
<!-- Even though we do have proper recursive dependencies, we want to keep some of these here
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="Microsoft.UI.Xaml" version="2.7.3" targetFramework="native" />
|
|
||||||
</packages>
|
|
||||||
@@ -81,13 +81,6 @@
|
|||||||
<Import Project="$(OpenConsoleDir)src\common.build.tests.props" />
|
<Import Project="$(OpenConsoleDir)src\common.build.tests.props" />
|
||||||
<Import Project="$(SolutionDir)src\common.nugetversions.targets" />
|
<Import Project="$(SolutionDir)src\common.nugetversions.targets" />
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- From Microsoft.UI.Xaml.targets -->
|
|
||||||
<Native-Platform Condition="'$(Platform)' == 'Win32'">x86</Native-Platform>
|
|
||||||
<Native-Platform Condition="'$(Platform)' != 'Win32'">$(Platform)</Native-Platform>
|
|
||||||
<_MUXBinRoot>"$(OpenConsoleDir)packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\runtimes\win10-$(Native-Platform)\native\"</_MUXBinRoot>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
<!-- Manually copy the Windows Terminal manifest to our project directory,
|
<!-- Manually copy the Windows Terminal manifest to our project directory,
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets" Condition="'$(TerminalVisualStudioSetup)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" />
|
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets" Condition="'$(TerminalVisualStudioSetup)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" />
|
||||||
|
|
||||||
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
||||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets" Condition="'$(TerminalMUX)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets')" />
|
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.7.3\build\native\Microsoft.UI.Xaml.targets" Condition="'$(TerminalMUX)' == 'true' and Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.7.3\build\native\Microsoft.UI.Xaml.targets')" />
|
||||||
|
|
||||||
<!-- WIL (so widely used that this one does not have a TerminalWIL opt-in property; it is automatic) -->
|
<!-- WIL (so widely used that this one does not have a TerminalWIL opt-in property; it is automatic) -->
|
||||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" />
|
<Import Project="$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" />
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
<Error Condition="'$(TerminalVisualStudioSetup)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets'))" />
|
<Error Condition="'$(TerminalVisualStudioSetup)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets'))" />
|
||||||
|
|
||||||
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
<!-- WinUI (which depends on WebView2 as of 2.8.0) -->
|
||||||
<Error Condition="'$(TerminalMUX)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.$(TerminalMUXVersion)\build\native\Microsoft.UI.Xaml.targets'))" />
|
<Error Condition="'$(TerminalMUX)' == 'true' AND !Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.7.3\build\native\Microsoft.UI.Xaml.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.UI.Xaml.2.7.3\build\native\Microsoft.UI.Xaml.targets'))" />
|
||||||
|
|
||||||
<!-- WIL (so widely used that this one does not have a TerminalWIL opt-in property; it is automatic) -->
|
<!-- WIL (so widely used that this one does not have a TerminalWIL opt-in property; it is automatic) -->
|
||||||
<Error Condition="!Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
|
<Error Condition="!Exists('$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(MSBuildThisFileDirectory)..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
|
||||||
|
|||||||
Reference in New Issue
Block a user