From 5576203f5ebfdc4f119459dc93c3993a3bbf5620 Mon Sep 17 00:00:00 2001 From: "Dustin L. Howett" Date: Wed, 18 Sep 2024 13:36:04 -0500 Subject: [PATCH] Try to use M.W.T.V for versioning --- .pipelines/installer-steps.yml | 9 +- .pipelines/release.yml | 19 +-- Directory.Build.props | 132 +---------------- Directory.Build.targets | 7 +- PowerToys.sln | 1 - README.md | 1 - custom.props | 136 ++++++++++++++++++ custom.targets | 6 + .../PowerToysBootstrapper.wixproj | 6 +- .../PowerToysSetup/PowerToysInstaller.wixproj | 6 +- 10 files changed, 161 insertions(+), 162 deletions(-) create mode 100644 custom.props create mode 100644 custom.targets diff --git a/.pipelines/installer-steps.yml b/.pipelines/installer-steps.yml index 3fe30dfc62e..04c8fa34a99 100644 --- a/.pipelines/installer-steps.yml +++ b/.pipelines/installer-steps.yml @@ -1,7 +1,4 @@ parameters: - - name: versionNumber - type: string - default: "0.0.1" - name: perUserArg type: string default: "false" @@ -53,7 +50,7 @@ steps: displayName: "Extracting MSI to verify contents" inputs: script: | - "C:\Program Files (x86)\WiX Toolset v3.14\bin\dark.exe" -x $(build.sourcesdirectory)\extractedMsi installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-${{ parameters.versionNumber }}-$(BuildPlatform).msi + "C:\Program Files (x86)\WiX Toolset v3.14\bin\dark.exe" -x $(build.sourcesdirectory)\extractedMsi installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-$(XES_BINARYVERSION)-$(BuildPlatform).msi dir $(build.sourcesdirectory)\extractedMsi # Check if deps.json files don't reference different dll versions. @@ -102,7 +99,7 @@ steps: - task: CmdLine@2 displayName: "Insignia: Extract Engine from Bundle" inputs: - script: '"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ib installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-${{ parameters.versionNumber }}-$(BuildPlatform).exe -o installer\engine.exe' + script: '"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ib installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-$(XES_BINARYVERSION)-$(BuildPlatform).exe -o installer\engine.exe' - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5 displayName: "ESRP CodeSigning (Engine)" @@ -138,7 +135,7 @@ steps: - task: CmdLine@2 displayName: "Insignia: Merge Engine into Bundle" inputs: - script: '"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ab installer\engine.exe installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-${{ parameters.versionNumber }}-$(BuildPlatform).exe -o installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-${{ parameters.versionNumber }}-$(BuildPlatform).exe' + script: '"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ab installer\engine.exe installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-$(XES_BINARYVERSION)-$(BuildPlatform).exe -o installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\${{parameters.buildSubDir}}\${{parameters.installerPrefix}}-$(XES_BINARYVERSION)-$(BuildPlatform).exe' - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5 displayName: Sign Bootstrapper diff --git a/.pipelines/release.yml b/.pipelines/release.yml index 22a3563c8dd..0c3ab242b78 100644 --- a/.pipelines/release.yml +++ b/.pipelines/release.yml @@ -20,9 +20,6 @@ parameters: default: - x64 - arm64 - - name: versionNumber - type: string - default: '0.0.1' - name: signingParameters type: object default: @@ -83,13 +80,6 @@ extends: submodules: true persistCredentials: True - # Sets versions for all PowerToy created DLLs - - task: PowerShell@1 - displayName: Set Versions.Prop - inputs: - scriptName: .pipelines/versionSetting.ps1 - arguments: -versionNumber '${{ parameters.versionNumber }}' -DevEnvironment '' - # ESRP needs 'Microsoft.NETCore.App', version '6.0.0' (x64) - task: UseDotNet@2 displayName: 'Use .NET 6 SDK' @@ -120,6 +110,13 @@ extends: # - Webcam report tool # - Installer # - Bootstrapper Installer + + - pwsh: |- + nuget install Microsoft.Windows.Terminal.Versioning -OutputDirectory _versioning -Source https://pkgs.dev.azure.com/shine-oss/terminal/_packaging/TerminalDependencies/nuget/v3/index.json + $VersionRoot = (Get-Item _versioning\Microsoft.Windows.*).FullName + & "$VersionRoot\build\Setup.ps1" -ProjectDirectory "$(Build.SourcesDirectory)" -Verbose + displayName: Set up versioning via M.W.T.V + - task: PowerShell@2 displayName: Download and install WiX 3.14 development build inputs: @@ -487,7 +484,6 @@ extends: - template: .pipelines/installer-steps.yml@self parameters: signingParameters: ${{ parameters.signingParameters }} - versionNumber: ${{ parameters.versionNumber }} perUserArg: "false" buildSubDir: "MachineSetup" installerPrefix: "PowerToysSetup" @@ -502,7 +498,6 @@ extends: - template: .pipelines/installer-steps.yml@self parameters: signingParameters: ${{ parameters.signingParameters }} - versionNumber: ${{ parameters.versionNumber }} perUserArg: "true" buildSubDir: "UserSetup" installerPrefix: "PowerToysUserSetup" diff --git a/Directory.Build.props b/Directory.Build.props index 02a848c87e4..197817c6a40 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,133 +1,3 @@ - - - Copyright (C) Microsoft Corporation. All rights reserved. - Copyright (C) Microsoft Corporation. All rights reserved. - PowerToys - Microsoft Corp. - Microsoft Corporation - Microsoft Corporation - PowerToys - en-US - x64;ARM64 - PowerToys - true - Recommended - <_SkipUpgradeNetAnalyzersNuGetWarning>true - direct - false - $(Platform) - - - - $(Version).0 - https://github.com/microsoft/PowerToys - GitHub - true - - - - <_PropertySheetDisplayName>PowerToys.Root.Props - $(MsbuildThisFileDirectory)\Cpp.Build.props - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - trx - - $(VsInstallRoot)\Common7\IDE\CommonExtensions\Microsoft\TestWindow - - false - - - - - - false - - - Microsoft.MSBuildCache.AzurePipelines - Microsoft.MSBuildCache.Local - - - - - false - - - 202408150737 - - - - $(MSBuildCacheAllowFileAccessAfterProjectFinishFilePatterns); - \**\ApplicationInsights.config; - $(LocalAppData)\Microsoft\VSApplicationInsights\**; - $(LocalAppData)\Microsoft\Windows\INetCache\**; - A:\; - E:\; - $(windir)\**; - - - - - $(MSBuildCacheAllowFileAccessAfterProjectFinishFilePatterns); - $(USERPROFILE)\AppData\LocalLow\Microsoft\PowerToys\**; - - - - $(MSBuildCacheIdenticalDuplicateOutputPatterns);** - - - $(MSBuildThisFileDirectory)packages.config - $(MSBuildCacheIgnoredInputPatterns);$(PackagesConfigFile) - - - - $([System.IO.File]::ReadAllText("$(PackagesConfigFile)")) - $([System.Text.RegularExpressions.Regex]::Match($(PackagesConfigContents), 'Microsoft.MSBuildCache.*?version="(.*?)"').Groups[1].Value) - $(MSBuildThisFileDirectory)packages\$(MSBuildCachePackageName).$(MSBuildCachePackageVersion) - $(MSBuildThisFileDirectory)packages\Microsoft.MSBuildCache.SharedCompilation.$(MSBuildCachePackageVersion) - - - - - - + diff --git a/Directory.Build.targets b/Directory.Build.targets index cba7762d5f4..7c87536a4be 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,6 +1,3 @@ - - - - - \ No newline at end of file + + diff --git a/PowerToys.sln b/PowerToys.sln index d6c33873e21..67c4c4bb3a0 100644 --- a/PowerToys.sln +++ b/PowerToys.sln @@ -178,7 +178,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Directory.Build.targets = Directory.Build.targets Directory.Packages.props = Directory.Packages.props Solution.props = Solution.props - src\Version.props = src\Version.props EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Settings.UI.Library", "src\settings-ui\Settings.UI.Library\Settings.UI.Library.csproj", "{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}" diff --git a/README.md b/README.md index 7bdc0becf09..e28a3d4609e 100644 --- a/README.md +++ b/README.md @@ -176,7 +176,6 @@ In this release, we focused on adding a new utility (PowerToys Workspaces), Adva ### Development - Ported all C++/CX code to C++/WinRT. - - Moved Version.props import to Directory.Build.props. - Extracted self-containment related .csproj properties to src/Common.SelfContained.props. - Unused and obsolete dependencies cleanup. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! - Extracted CSWinRT related .csproj properties to src/Common.Dotnet.CsWinRT.props. diff --git a/custom.props b/custom.props new file mode 100644 index 00000000000..246c558cb5e --- /dev/null +++ b/custom.props @@ -0,0 +1,136 @@ + + + 0 + 86 + Microsoft PowerToys + + + Copyright (C) Microsoft Corporation. All rights reserved. + Copyright (C) Microsoft Corporation. All rights reserved. + PowerToys + Microsoft Corp. + Microsoft Corporation + Microsoft Corporation + PowerToys + en-US + x64;ARM64 + PowerToys + true + Recommended + <_SkipUpgradeNetAnalyzersNuGetWarning>true + direct + false + $(Platform) + + + + https://github.com/microsoft/PowerToys + GitHub + true + + + + <_PropertySheetDisplayName>PowerToys.Root.Props + $(MsbuildThisFileDirectory)\Cpp.Build.props + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + trx + + $(VsInstallRoot)\Common7\IDE\CommonExtensions\Microsoft\TestWindow + + false + + + + + + false + + + Microsoft.MSBuildCache.AzurePipelines + Microsoft.MSBuildCache.Local + + + + + false + + + 202408150737 + + + + $(MSBuildCacheAllowFileAccessAfterProjectFinishFilePatterns); + \**\ApplicationInsights.config; + $(LocalAppData)\Microsoft\VSApplicationInsights\**; + $(LocalAppData)\Microsoft\Windows\INetCache\**; + A:\; + E:\; + $(windir)\**; + + + + + $(MSBuildCacheAllowFileAccessAfterProjectFinishFilePatterns); + $(USERPROFILE)\AppData\LocalLow\Microsoft\PowerToys\**; + + + + $(MSBuildCacheIdenticalDuplicateOutputPatterns);** + + + $(MSBuildThisFileDirectory)packages.config + $(MSBuildCacheIgnoredInputPatterns);$(PackagesConfigFile) + + + + $([System.IO.File]::ReadAllText("$(PackagesConfigFile)")) + $([System.Text.RegularExpressions.Regex]::Match($(PackagesConfigContents), 'Microsoft.MSBuildCache.*?version="(.*?)"').Groups[1].Value) + $(MSBuildThisFileDirectory)packages\$(MSBuildCachePackageName).$(MSBuildCachePackageVersion) + $(MSBuildThisFileDirectory)packages\Microsoft.MSBuildCache.SharedCompilation.$(MSBuildCachePackageVersion) + + + + + + + diff --git a/custom.targets b/custom.targets new file mode 100644 index 00000000000..497eff2e8a4 --- /dev/null +++ b/custom.targets @@ -0,0 +1,6 @@ + + + + + + diff --git a/installer/PowerToysSetup/PowerToysBootstrapper.wixproj b/installer/PowerToysSetup/PowerToysBootstrapper.wixproj index 15a2000ca54..a41e2abed47 100644 --- a/installer/PowerToysSetup/PowerToysBootstrapper.wixproj +++ b/installer/PowerToysSetup/PowerToysBootstrapper.wixproj @@ -3,11 +3,11 @@ DefaultTargets="Build" InitialTargets="EnsureNuGetPackageBuildImports" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - + - Version=$(Version) + Version=$(VersionMajor).$(VersionMinor) PowerToysBootstrapper {31d72625-43c1-41b1-b784-bce4a8dc5543} @@ -84,4 +84,4 @@ - \ No newline at end of file + diff --git a/installer/PowerToysSetup/PowerToysInstaller.wixproj b/installer/PowerToysSetup/PowerToysInstaller.wixproj index 6e83f2ef37a..d66ab3e5fe3 100644 --- a/installer/PowerToysSetup/PowerToysInstaller.wixproj +++ b/installer/PowerToysSetup/PowerToysInstaller.wixproj @@ -1,11 +1,11 @@ - + - Version=$(Version);MonacoSRCHarvestPath=$(ProjectDir)..\..\x64\$(Configuration)\Assets\Monaco\monacoSRC + Version=$(VersionMajor).$(VersionMinor);MonacoSRCHarvestPath=$(ProjectDir)..\..\x64\$(Configuration)\Assets\Monaco\monacoSRC