winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 2aae0c5a5543a61f780e79577ef46f0268e328cc
parent 8b475657fb80e1685eb2e1a1ac7e9a29e22bef7a
Author: JohnMcPMS <johnmcp@microsoft.com>
Date:   Sat, 21 Mar 2020 13:27:59 -0700

Set binary version in build (#63)


Diffstat:
Mazure-pipelines.yml | 210++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
Msrc/AppInstallerCLI.sln | 6++++++
Msrc/AppInstallerCLI/AppInstallerCLI.vcxproj | 1+
Msrc/AppInstallerCommonCore/AppInstallerCommonCore.vcxproj | 16++++++++--------
Msrc/AppInstallerCommonCore/Runtime.cpp | 3++-
Msrc/AppInstallerSQLiteIndexUtil/AppInstallerSQLiteIndexUtil.vcxproj | 4+++-
Asrc/binver/Update-BinVer.ps1 | 88+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/binver/binver.vcxitems | 27+++++++++++++++++++++++++++
Asrc/binver/binver/resource.h | 14++++++++++++++
Asrc/binver/binver/version.h | 31+++++++++++++++++++++++++++++++
Asrc/binver/binver/version.rc | 96+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
11 files changed, 393 insertions(+), 103 deletions(-)

diff --git a/azure-pipelines.yml b/azure-pipelines.yml @@ -17,95 +17,119 @@ variables: buildConfiguration: 'Release' appxPackageDir: '$(build.artifactStagingDirectory)\AppxPackages\\' -steps: -- task: NuGetToolInstaller@1 - displayName: Install Nuget - -- task: NuGetCommand@2 - displayName: Restore Packages - inputs: - restoreSolution: '$(solution)' - -- task: VSBuild@1 - displayName: Build Solution - inputs: - platform: 'x86' - solution: '$(solution)' - configuration: '$(buildConfiguration)' - msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload' - -- task: CmdLine@2 - displayName: Run Tests Unpackaged - inputs: - script: | - AppInstallerCLITests.exe -logto AICLI-Unpackaged.log -s -r junit -o TEST-AppInstallerCLI-Unpackaged.xml - workingDirectory: 'src\x64\Release\AppInstallerCLITests\' - -- task: PublishBuildArtifacts@1 - displayName: Publish Unpackaged Log - inputs: - PathtoPublish: 'src\x64\Release\AppInstallerCLITests\AICLI-Unpackaged.log' - ArtifactName: 'TestPassUnpackagedLog' - publishLocation: 'Container' - condition: succeededOrFailed() - -- task: PublishBuildArtifacts@1 - displayName: Publish Unpackaged Output - inputs: - PathtoPublish: 'src\x64\Release\AppInstallerCLITests\TEST-AppInstallerCLI-Unpackaged.xml' - ArtifactName: 'TestPassUnpackagedOutput' - publishLocation: 'Container' - condition: succeededOrFailed() - -- task: PowerShell@2 - displayName: Install Dependencies - inputs: - targetType: 'inline' - script: | - Add-AppxPackage AppInstallerCLIPackage_0.0.0.2_Test\Dependencies\x64\Microsoft.VCLibs.x64.14.00.Desktop.appx - workingDirectory: $(appxPackageDir) - -- task: PowerShell@2 - displayName: Run Tests Packaged - inputs: - filePath: 'src\AppInstallerCLITests\Run-TestsInPackage.ps1' - arguments: '-Args "~[pips]" -BuildRoot x64\Release -PackageRoot AppInstallerCLIPackage\bin\x64\Release -LogTarget x64\Release\AICLI-Packaged.log -TestResultsTarget x64\Release\TEST-AppInstallerCLI-Packaged.xml -ScriptWait' - workingDirectory: 'src' - -- task: PublishBuildArtifacts@1 - displayName: Publish Packaged Log - inputs: - PathtoPublish: 'src\x64\Release\AICLI-Packaged.log' - ArtifactName: 'TestPassPackagedLog' - publishLocation: 'Container' - condition: succeededOrFailed() - -- task: PublishBuildArtifacts@1 - displayName: Publish Packaged Output - inputs: - PathtoPublish: 'src\x64\Release\TEST-AppInstallerCLI-Packaged.xml' - ArtifactName: 'TestPassPackagedOutput' - publishLocation: 'Container' - condition: succeededOrFailed() - -- task: PublishTestResults@2 - displayName: Publish Test Results - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: '**/TEST-*.xml' - failTaskOnFailedTests: true - condition: succeededOrFailed() - -- task: PublishBuildArtifacts@1 - displayName: Publish CLI Binary - inputs: - PathtoPublish: 'src\x64\Release\AppInstallerCLI\AppInstallerCLI.exe' - ArtifactName: 'AppInstallerCLI.exe' - publishLocation: 'Container' - -- task: ComponentGovernanceComponentDetection@0 - displayName: Component Governance - inputs: - scanType: 'Register' - verbosity: 'Verbose' - alertWarningLevel: 'High'- \ No newline at end of file +jobs: +- job: 'GetReleaseTag' + variables: + runCodesignValidationInjection: ${{ false }} + steps: + - task: PowerShell@2 + name: 'GetTag' + displayName: Get Release Tag + inputs: + filePath: 'src\binver\Update-BinVer.ps1' + arguments: '-OutVar' + workingDirectory: 'src' + +- job: 'Build' + dependsOn: 'GetReleaseTag' + variables: + BuildVer: $[counter(dependencies.GetReleaseTag.outputs['GetTag.tag'], 1)] + steps: + - task: NuGetToolInstaller@1 + displayName: Install Nuget + + - task: NuGetCommand@2 + displayName: Restore Packages + inputs: + restoreSolution: '$(solution)' + + - task: PowerShell@2 + displayName: Update Binary Version + inputs: + filePath: 'src\binver\Update-BinVer.ps1' + arguments: '-TargetFile binver\binver\version.h -BuildVersion $(BuildVer)' + workingDirectory: 'src' + + - task: VSBuild@1 + displayName: Build Solution + inputs: + platform: 'x86' + solution: '$(solution)' + configuration: '$(buildConfiguration)' + msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload' + + - task: CmdLine@2 + displayName: Run Tests Unpackaged + inputs: + script: | + AppInstallerCLITests.exe -logto AICLI-Unpackaged.log -s -r junit -o TEST-AppInstallerCLI-Unpackaged.xml + workingDirectory: 'src\x64\Release\AppInstallerCLITests\' + + - task: PublishBuildArtifacts@1 + displayName: Publish Unpackaged Log + inputs: + PathtoPublish: 'src\x64\Release\AppInstallerCLITests\AICLI-Unpackaged.log' + ArtifactName: 'TestPassUnpackagedLog' + publishLocation: 'Container' + condition: succeededOrFailed() + + - task: PublishBuildArtifacts@1 + displayName: Publish Unpackaged Output + inputs: + PathtoPublish: 'src\x64\Release\AppInstallerCLITests\TEST-AppInstallerCLI-Unpackaged.xml' + ArtifactName: 'TestPassUnpackagedOutput' + publishLocation: 'Container' + condition: succeededOrFailed() + + - task: PowerShell@2 + displayName: Install Dependencies + inputs: + targetType: 'inline' + script: | + Add-AppxPackage AppInstallerCLIPackage_0.0.0.2_Test\Dependencies\x64\Microsoft.VCLibs.x64.14.00.Desktop.appx + workingDirectory: $(appxPackageDir) + + - task: PowerShell@2 + displayName: Run Tests Packaged + inputs: + filePath: 'src\AppInstallerCLITests\Run-TestsInPackage.ps1' + arguments: '-Args "~[pips]" -BuildRoot x64\Release -PackageRoot AppInstallerCLIPackage\bin\x64\Release -LogTarget x64\Release\AICLI-Packaged.log -TestResultsTarget x64\Release\TEST-AppInstallerCLI-Packaged.xml -ScriptWait' + workingDirectory: 'src' + + - task: PublishBuildArtifacts@1 + displayName: Publish Packaged Log + inputs: + PathtoPublish: 'src\x64\Release\AICLI-Packaged.log' + ArtifactName: 'TestPassPackagedLog' + publishLocation: 'Container' + condition: succeededOrFailed() + + - task: PublishBuildArtifacts@1 + displayName: Publish Packaged Output + inputs: + PathtoPublish: 'src\x64\Release\TEST-AppInstallerCLI-Packaged.xml' + ArtifactName: 'TestPassPackagedOutput' + publishLocation: 'Container' + condition: succeededOrFailed() + + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '**/TEST-*.xml' + failTaskOnFailedTests: true + condition: succeededOrFailed() + + - task: PublishBuildArtifacts@1 + displayName: Publish CLI Binary + inputs: + PathtoPublish: 'src\x64\Release\AppInstallerCLI\AppInstallerCLI.exe' + ArtifactName: 'AppInstallerCLI.exe' + publishLocation: 'Container' + + - task: ComponentGovernanceComponentDetection@0 + displayName: Component Governance + inputs: + scanType: 'Register' + verbosity: 'Verbose' + alertWarningLevel: 'High'+ \ No newline at end of file diff --git a/src/AppInstallerCLI.sln b/src/AppInstallerCLI.sln @@ -31,10 +31,15 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppInstallerSQLiteIndexUtil EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppInstallerTestExeInstaller", "AppInstallerTestExeInstaller\AppInstallerTestExeInstaller.vcxproj", "{6CB84692-5994-407D-B9BD-9216AF77FE83}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "binver", "binver\binver.vcxitems", "{6E36DDD7-1602-474E-B1D7-D0A7E1D5AD86}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution catch2\catch2.vcxitems*{5295e21e-9868-4de2-a177-fbb97b36579b}*SharedItemsImports = 9 + binver\binver.vcxitems*{5b6f90df-fd19-4bae-83d9-24dad128e777}*SharedItemsImports = 4 + binver\binver.vcxitems*{6e36ddd7-1602-474e-b1d7-d0a7e1d5ad86}*SharedItemsImports = 9 catch2\catch2.vcxitems*{89b1aab4-2bbc-4b65-9ed7-a01d5cf88230}*SharedItemsImports = 4 + binver\binver.vcxitems*{fb313532-38b0-4676-9303-ab200aa13576}*SharedItemsImports = 4 EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -198,6 +203,7 @@ Global GlobalSection(NestedProjects) = preSolution {5295E21E-9868-4DE2-A177-FBB97B36579B} = {60618CAC-2995-4DF9-9914-45C6FC02C995} {8BB94BB8-374F-4294-BCA1-C7811514A6B7} = {60618CAC-2995-4DF9-9914-45C6FC02C995} + {6E36DDD7-1602-474E-B1D7-D0A7E1D5AD86} = {8D53D749-D51C-46F8-A162-9371AAA6C2E7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B6FDB70C-A751-422C-ACD1-E35419495857} diff --git a/src/AppInstallerCLI/AppInstallerCLI.vcxproj b/src/AppInstallerCLI/AppInstallerCLI.vcxproj @@ -69,6 +69,7 @@ <ImportGroup Label="ExtensionSettings"> </ImportGroup> <ImportGroup Label="Shared"> + <Import Project="..\binver\binver.vcxitems" Label="Shared" /> </ImportGroup> <ImportGroup Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> diff --git a/src/AppInstallerCommonCore/AppInstallerCommonCore.vcxproj b/src/AppInstallerCommonCore/AppInstallerCommonCore.vcxproj @@ -122,9 +122,9 @@ <ClCompile> <Optimization>Disabled</Optimization> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);CLICOREDLLBUILD</PreprocessorDefinitions> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</TreatWarningAsError> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">true</TreatWarningAsError> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</TreatWarningAsError> @@ -139,7 +139,7 @@ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> <ClCompile> <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions);CLICOREDLLBUILD</PreprocessorDefinitions> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</TreatWarningAsError> </ClCompile> <Link> @@ -152,10 +152,10 @@ <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);CLICOREDLLBUILD</PreprocessorDefinitions> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir);$(ProjectDir)Public;$(ProjectDir)Telemetry;$(ProjectDir)..\binver;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</TreatWarningAsError> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</TreatWarningAsError> <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</TreatWarningAsError> diff --git a/src/AppInstallerCommonCore/Runtime.cpp b/src/AppInstallerCommonCore/Runtime.cpp @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. #include "pch.h" +#include <binver/version.h> #include "Public/AppInstallerRuntime.h" #include "Public/AppInstallerStrings.h" @@ -162,7 +163,7 @@ namespace AppInstaller::Runtime } else { - return "unknown"s; + return VER_FILE_VERSION_STR; } } diff --git a/src/AppInstallerSQLiteIndexUtil/AppInstallerSQLiteIndexUtil.vcxproj b/src/AppInstallerSQLiteIndexUtil/AppInstallerSQLiteIndexUtil.vcxproj @@ -68,7 +68,9 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="ExtensionSettings"> </ImportGroup> - <ImportGroup Label="Shared" /> + <ImportGroup Label="Shared"> + <Import Project="..\binver\binver.vcxitems" Label="Shared" /> + </ImportGroup> <ImportGroup Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> diff --git a/src/binver/Update-BinVer.ps1 b/src/binver/Update-BinVer.ps1 @@ -0,0 +1,88 @@ +<# +.SYNOPSIS + Updates the given version header file to match the version info parse from git. +.DESCRIPTION + Uses "git describe --tags" to determine the current version, then updates the given file + to match. See the existing version.h for the format. +.PARAMETER TargetFile + The file to update with version information. If not given, simply outputs the version info. +.PARAMETER BuildVersion + The build version to use. +.PARAMETER OutVar + Output a pipeline variable with the version. +#> +param( + [Parameter(Mandatory=$false)] + [string]$TargetFile, + + [Parameter(Mandatory=$false)] + [int]$BuildVersion = 0, + + [switch]$OutVar +) + +$ErrorActionPreference = 'SilentlyContinue' +$Local:GitDescribeText = git describe --tags; +$ErrorActionPreference = 'Continue' +Write-Host "Git describe: $Local:GitDescribeText" + +$Local:Major = 0; +$Local:Minor = 0; +$Local:Revision = 0; + +if ($Local:GitDescribeText -match "v([0-9]+)\.([0-9]+)\.([0-9]+)") +{ + $Local:Major = $Matches[1] + $Local:Minor = $Matches[2] + $Local:Revision = $Matches[3] +} +else +{ + Write-Host "Describe did not match regex; using zeros" +} + +Write-Host "Using version: $Local:Major.$Local:Minor.$Local:Revision.$BuildVersion" + +if ($OutVar) +{ + Write-Host "##vso[task.setvariable variable=tag;isOutput=true]$Local:Major.$Local:Minor.$Local:Revision" +} + +if (![String]::IsNullOrEmpty($TargetFile)) +{ + $Local:FullPath = Resolve-Path $TargetFile + Write-Host "Updating file: $Local:FullPath" + if (Test-Path $TargetFile) + { + $Local:ResultContent = "" + foreach ($Local:line in [System.IO.File]::ReadLines($Local:FullPath)) + { + if ($Local:line.StartsWith("#define VERSION_MAJOR")) + { + $Local:ResultContent += "#define VERSION_MAJOR $Local:Major"; + } + elseif ($Local:line.StartsWith("#define VERSION_MINOR")) + { + $Local:ResultContent += "#define VERSION_MINOR $Local:Minor"; + } + elseif ($Local:line.StartsWith("#define VERSION_REVISION")) + { + $Local:ResultContent += "#define VERSION_REVISION $Local:Revision"; + } + elseif ($Local:line.StartsWith("#define VERSION_BUILD")) + { + $Local:ResultContent += "#define VERSION_BUILD $BuildVersion"; + } + else + { + $Local:ResultContent += $Local:line; + } + $Local:ResultContent += [System.Environment]::NewLine; + } + Set-Content -Path $Local:FullPath -Value $Local:ResultContent + } + else + { + Write-Error "Did not find target file: $TargetFile" + } +} diff --git a/src/binver/binver.vcxitems b/src/binver/binver.vcxitems @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Globals"> + <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> + <HasSharedItems>true</HasSharedItems> + <ItemsProjectGuid>{6e36ddd7-1602-474e-b1d7-d0a7e1d5ad86}</ItemsProjectGuid> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)include</AdditionalIncludeDirectories> + </ClCompile> + </ItemDefinitionGroup> + <ItemGroup> + <ProjectCapability Include="SourceItemsFromImports" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="$(MSBuildThisFileDirectory)binver\resource.h" /> + <ClInclude Include="$(MSBuildThisFileDirectory)binver\version.h" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="$(MSBuildThisFileDirectory)binver\version.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="$(MSBuildThisFileDirectory)Update-BinVer.ps1" /> + </ItemGroup> +</Project>+ \ No newline at end of file diff --git a/src/binver/binver/resource.h b/src/binver/binver/resource.h @@ -0,0 +1,14 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by version.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/src/binver/binver/version.h b/src/binver/binver/version.h @@ -0,0 +1,31 @@ +#define STRINGIZE2(s) #s +#define STRINGIZE(s) STRINGIZE2(s) + +#define VERSION_MAJOR 0 +#define VERSION_MINOR 0 +#define VERSION_REVISION 0 +#define VERSION_BUILD 2 + +#define VER_FILE_DESCRIPTION_STR "App Installer CLI" +#define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD +#define VER_FILE_VERSION_STR STRINGIZE(VERSION_MAJOR) \ + "." STRINGIZE(VERSION_MINOR) \ + "." STRINGIZE(VERSION_REVISION) \ + "." STRINGIZE(VERSION_BUILD) \ + +#define VER_PRODUCTNAME_STR "App Installer CLI" +#define VER_PRODUCT_VERSION VER_FILE_VERSION +#define VER_PRODUCT_VERSION_STR VER_FILE_VERSION_STR +#define VER_ORIGINAL_FILENAME_STR "AppInstallerCLI.exe" +#define VER_INTERNAL_NAME_STR VER_ORIGINAL_FILENAME_STR +#define VER_COPYRIGHT_STR "Copyright (c) Microsoft Corporation" + +#ifdef _DEBUG +#define VER_VER_DEBUG VS_FF_DEBUG +#else +#define VER_VER_DEBUG 0 +#endif + +#define VER_FILEOS VOS_NT_WINDOWS32 +#define VER_FILEFLAGS VER_VER_DEBUG +#define VER_FILETYPE VFT_APP diff --git a/src/binver/binver/version.rc b/src/binver/binver/version.rc @@ -0,0 +1,96 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" +#include "version.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VER_FILE_VERSION + PRODUCTVERSION VER_PRODUCT_VERSION + FILEFLAGSMASK 0x3fL + FILEFLAGS VER_FILEFLAGS + FILEOS VER_FILEOS + FILETYPE VER_FILETYPE + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "FileDescription", VER_FILE_DESCRIPTION_STR "\0" + VALUE "FileVersion", VER_FILE_VERSION_STR "\0" + VALUE "InternalName", VER_INTERNAL_NAME_STR "\0" + VALUE "LegalCopyright", VER_COPYRIGHT_STR "\0" + VALUE "OriginalFilename", VER_ORIGINAL_FILENAME_STR "\0" + VALUE "ProductName", VER_PRODUCTNAME_STR + VALUE "ProductVersion", VER_PRODUCT_VERSION_STR "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED +