mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
Unify version specifying (#1439)
* installer: extract version number into separate file and use it where possible * MSIX: rename package to include version on CDPx * installer: generate assembly info for FZ editor * MSIX: inject correct version to appxmanifest
This commit is contained in:
@@ -59,7 +59,7 @@ build:
|
|||||||
- from: 'installer\PowerToysSetup\x64\Release'
|
- from: 'installer\PowerToysSetup\x64\Release'
|
||||||
to: 'Build_Installer_Output'
|
to: 'Build_Installer_Output'
|
||||||
include:
|
include:
|
||||||
- 'PowerToysSetup.msi'
|
- 'PowerToysSetup-*.msi'
|
||||||
signing_options:
|
signing_options:
|
||||||
sign_inline: true # This does signing a soon as this command completes
|
sign_inline: true # This does signing a soon as this command completes
|
||||||
# - !!buildcommand
|
# - !!buildcommand
|
||||||
|
|||||||
@@ -1,4 +1,14 @@
|
|||||||
cd /D "%~dp0"
|
cd /D "%~dp0"
|
||||||
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 -winsdk=10.0.18362.0
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 -winsdk=10.0.18362.0
|
||||||
|
|
||||||
|
powershell -file update_appxmanifest_version.ps1 || exit /b 1
|
||||||
|
|
||||||
call makeappx build /v /overwrite /f PackagingLayout.xml /id "PowerToys-x64" /op bin\ || exit /b 1
|
call makeappx build /v /overwrite /f PackagingLayout.xml /id "PowerToys-x64" /op bin\ || exit /b 1
|
||||||
|
|
||||||
|
setlocal EnableDelayedExpansion
|
||||||
|
for /f "tokens=3delims=<>" %%i in ('findstr "<Version>" "..\Version.props"') do (
|
||||||
|
set MSIXVERSION=%%i
|
||||||
|
)
|
||||||
|
setlocal DisableDelayedExpansion
|
||||||
|
ren "bin\PowerToys-x64.msix" PowerToysSetup-%MSIXVERSION%-x64.msix
|
||||||
|
|||||||
5
installer/MSIX/update_appxmanifest_version.ps1
Normal file
5
installer/MSIX/update_appxmanifest_version.ps1
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
$version = ([xml](Get-Content ..\Version.props)).Project.PropertyGroup.Version
|
||||||
|
|
||||||
|
(Get-Content appxmanifest.xml) `
|
||||||
|
-replace '(Name="[\.\w]+"\sVersion=")([\d\.]+)"', -join('${1}', $version, '.0"') `
|
||||||
|
| Out-File -Encoding utf8 appxmanifest.xml
|
||||||
@@ -1,13 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureNuGetPackageBuildImports" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureNuGetPackageBuildImports" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\WiX.3.11.2\build\wix.props" Condition="Exists('..\packages\WiX.3.11.2\build\wix.props')" />
|
<Import Project="..\packages\WiX.3.11.2\build\wix.props" Condition="Exists('..\packages\WiX.3.11.2\build\wix.props')" />
|
||||||
|
<Import Project="$(SolutionDir)Version.props" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">x64</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">x64</Platform>
|
||||||
<ProductVersion>3.10</ProductVersion>
|
<ProductVersion>3.10</ProductVersion>
|
||||||
<ProjectGuid>022a9d30-7c4f-416d-a9df-5ff2661cc0ad</ProjectGuid>
|
<ProjectGuid>022a9d30-7c4f-416d-a9df-5ff2661cc0ad</ProjectGuid>
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
<OutputName>PowerToysSetup</OutputName>
|
<OutputName>PowerToysSetup-$(Version)-$(Platform)</OutputName>
|
||||||
<OutputType>Package</OutputType>
|
<OutputType>Package</OutputType>
|
||||||
<SuppressAclReset>True</SuppressAclReset>
|
<SuppressAclReset>True</SuppressAclReset>
|
||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<Product Id="*"
|
<Product Id="*"
|
||||||
Name="PowerToys (Preview)"
|
Name="PowerToys (Preview)"
|
||||||
Language="1033"
|
Language="1033"
|
||||||
Version="0.15.2"
|
Version="$(var.Version)"
|
||||||
Manufacturer="Microsoft"
|
Manufacturer="Microsoft"
|
||||||
UpgradeCode="42B84BF7-5FBF-473B-9C8B-049DC16F7708">
|
UpgradeCode="42B84BF7-5FBF-473B-9C8B-049DC16F7708">
|
||||||
|
|
||||||
@@ -18,9 +18,9 @@
|
|||||||
|
|
||||||
<Upgrade Id="42B84BF7-5FBF-473B-9C8B-049DC16F7708">
|
<Upgrade Id="42B84BF7-5FBF-473B-9C8B-049DC16F7708">
|
||||||
<UpgradeVersion
|
<UpgradeVersion
|
||||||
Minimum="0.11.0" Maximum="0.14.1"
|
Minimum="0.11.0" Maximum="$(var.Version)"
|
||||||
Property="PREVIOUSVERSIONSINSTALLED"
|
Property="PREVIOUSVERSIONSINSTALLED"
|
||||||
IncludeMinimum="yes" IncludeMaximum="yes" />
|
IncludeMinimum="yes" IncludeMaximum="no" />
|
||||||
</Upgrade>
|
</Upgrade>
|
||||||
|
|
||||||
<MediaTemplate EmbedCab="yes" />
|
<MediaTemplate EmbedCab="yes" />
|
||||||
|
|||||||
7
installer/Version.props
Normal file
7
installer/Version.props
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Version>0.15.2</Version>
|
||||||
|
<DefineConstants>Version=$(Version);</DefineConstants>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
@@ -1,5 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\..\installer\Version.props" />
|
||||||
|
<Target Name="GenerateVersionData" BeforeTargets="PrepareForBuild">
|
||||||
|
<ItemGroup>
|
||||||
|
<HeaderLines Include="#pragma once" />
|
||||||
|
<HeaderLines Include="#define VERSION_MAJOR $(Version.Split('.')[0])" />
|
||||||
|
<HeaderLines Include="#define VERSION_MINOR $(Version.Split('.')[1])" />
|
||||||
|
<HeaderLines Include="#define VERSION_REVISION $(Version.Split('.')[2])" />
|
||||||
|
</ItemGroup>
|
||||||
|
<WriteLinesToFile
|
||||||
|
File="Generated Files\version_gen.h"
|
||||||
|
Lines="@(HeaderLines)"
|
||||||
|
Overwrite="true"
|
||||||
|
Encoding="Unicode"
|
||||||
|
WriteOnlyWhenDifferent="true" />
|
||||||
|
</Target>
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
|
|||||||
@@ -2,18 +2,15 @@
|
|||||||
|
|
||||||
#define STRINGIZE2(s) #s
|
#define STRINGIZE2(s) #s
|
||||||
#define STRINGIZE(s) STRINGIZE2(s)
|
#define STRINGIZE(s) STRINGIZE2(s)
|
||||||
|
|
||||||
#define VERSION_MAJOR 0
|
#include "Generated Files\version_gen.h"
|
||||||
#define VERSION_MINOR 15
|
|
||||||
#define VERSION_REVISION 2
|
|
||||||
|
|
||||||
#define FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, 0
|
#define FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, 0
|
||||||
#define FILE_VERSION_STRING \
|
#define FILE_VERSION_STRING \
|
||||||
STRINGIZE(VERSION_MAJOR) \
|
STRINGIZE(VERSION_MAJOR) \
|
||||||
"." STRINGIZE(VERSION_MINOR) "." STRINGIZE(VERSION_REVISION) ".0"
|
"." STRINGIZE(VERSION_MINOR) "." STRINGIZE(VERSION_REVISION) ".0"
|
||||||
|
|
||||||
#define PRODUCT_VERSION FILE_VERSION
|
#define PRODUCT_VERSION FILE_VERSION
|
||||||
#define PRODUCT_VERSION_STRING FILE_VERSION_STRING
|
#define PRODUCT_VERSION_STRING FILE_VERSION_STRING
|
||||||
|
|
||||||
#define COMPANY_NAME "Microsoft Corporation"
|
#define COMPANY_NAME "Microsoft Corporation"
|
||||||
|
|
||||||
#define COPYRIGHT_NOTE "Copyright (C) 2019 Microsoft Corporation"
|
#define COPYRIGHT_NOTE "Copyright (C) 2019 Microsoft Corporation"
|
||||||
|
|||||||
@@ -1,6 +1,48 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<Import Project="..\..\..\..\..\installer\Version.props" />
|
||||||
|
<!-- We don't have GenerateAssemblyInfo task until we use .net core, so we generate it with WriteLinesToFile -->
|
||||||
|
<PropertyGroup>
|
||||||
|
<AssemblyTitle>FancyZonesEditor</AssemblyTitle>
|
||||||
|
<AssemblyCompany>Microsoft Corp.</AssemblyCompany>
|
||||||
|
<AssemblyCopyright>Copyright (C) 2019 Microsoft Corp.</AssemblyCopyright>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<AssemblyVersionFiles Include="Generated Files\AssemblyInfo.cs"/>
|
||||||
|
</ItemGroup>
|
||||||
|
<Target Name="GenerateAssemblyInfo" BeforeTargets="PrepareForBuild">
|
||||||
|
<ItemGroup>
|
||||||
|
<HeaderLines Include="// Copyright (c) Microsoft Corporation" />
|
||||||
|
<HeaderLines Include="// The Microsoft Corporation licenses this file to you under the MIT license." />
|
||||||
|
<HeaderLines Include="// See the LICENSE file in the project root for more information." />
|
||||||
|
|
||||||
|
<HeaderLines Include="#pragma warning disable SA1516" />
|
||||||
|
<HeaderLines Include="using System.Reflection%3b" />
|
||||||
|
<HeaderLines Include="using System.Runtime.InteropServices%3b" />
|
||||||
|
<HeaderLines Include="using System.Windows%3b" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyTitle("$(AssemblyTitle)")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyDescription("")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyConfiguration("")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyCompany("$(AssemblyCompany)")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyCopyright("$(AssemblyCopyright)")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyProduct("$(AssemblyTitle)")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyTrademark("")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyCulture("")]" />
|
||||||
|
<HeaderLines Include="[assembly: ComVisible(false)]" />
|
||||||
|
<HeaderLines Include="[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyVersion("$(Version).0")]" />
|
||||||
|
<HeaderLines Include="[assembly: AssemblyFileVersion("$(Version).0")]" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile
|
||||||
|
File="Generated Files\AssemblyInfo.cs"
|
||||||
|
Lines="@(HeaderLines)"
|
||||||
|
Overwrite="true"
|
||||||
|
Encoding="Unicode"
|
||||||
|
WriteOnlyWhenDifferent="true" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
@@ -163,7 +205,7 @@
|
|||||||
</Page>
|
</Page>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Properties\AssemblyInfo.cs">
|
<Compile Include="Generated Files\AssemblyInfo.cs">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Properties\Resources.Designer.cs">
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
// Copyright (c) Microsoft Corporation
|
|
||||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
||||||
// See the LICENSE file in the project root for more information.
|
|
||||||
|
|
||||||
using System.Reflection;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Windows;
|
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
|
||||||
// set of attributes. Change these attribute values to modify the information
|
|
||||||
// associated with an assembly.
|
|
||||||
[assembly: AssemblyTitle("FancyZonesEditor")]
|
|
||||||
[assembly: AssemblyDescription("")]
|
|
||||||
[assembly: AssemblyConfiguration("")]
|
|
||||||
[assembly: AssemblyCompany("Microsoft Corp.")]
|
|
||||||
[assembly: AssemblyProduct("FancyZonesEditor")]
|
|
||||||
[assembly: AssemblyCopyright("Copyright (C) 2019 Microsoft Corp.")]
|
|
||||||
[assembly: AssemblyTrademark("")]
|
|
||||||
[assembly: AssemblyCulture("")]
|
|
||||||
|
|
||||||
// Setting ComVisible to false makes the types in this assembly not visible
|
|
||||||
// to COM components. If you need to access a type in this assembly from
|
|
||||||
// COM, set the ComVisible attribute to true on that type.
|
|
||||||
[assembly: ComVisible(false)]
|
|
||||||
|
|
||||||
// In order to begin building localizable applications, set
|
|
||||||
// <UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
|
||||||
// inside a <PropertyGroup>. For example, if you are using US english
|
|
||||||
// in your source files, set the <UICulture> to en-US. Then uncomment
|
|
||||||
// the NeutralResourceLanguage attribute below. Update the "en-US" in
|
|
||||||
// the line below to match the UICulture setting in the project file.
|
|
||||||
|
|
||||||
// [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
|
||||||
// ThemeInfo.None = where theme specific resource dictionaries are located
|
|
||||||
// (used if a resource is not found in the page,
|
|
||||||
// or application resource dictionaries)
|
|
||||||
// ThemeInfo.SourceAssembly = where the generic resource dictionary is located
|
|
||||||
// (used if a resource is not found in the page,
|
|
||||||
// app, or any theme specific resource dictionaries)
|
|
||||||
[assembly: ThemeInfo(
|
|
||||||
ResourceDictionaryLocation.None,
|
|
||||||
ResourceDictionaryLocation.SourceAssembly)]
|
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
|
||||||
//
|
|
||||||
// Major Version
|
|
||||||
// Minor Version
|
|
||||||
// Build Number
|
|
||||||
// Revision
|
|
||||||
//
|
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
|
||||||
// by using the '*' as shown below:
|
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
|
||||||
[assembly: AssemblyVersion("0.15.2.0")]
|
|
||||||
[assembly: AssemblyFileVersion("0.15.2.0")]
|
|
||||||
Reference in New Issue
Block a user