Last active
August 12, 2022 19:06
-
-
Save ElanHasson/30384431651534b215e754a554b5b6ae to your computer and use it in GitHub Desktop.
Revisions
-
ElanHasson revised this gist
Aug 12, 2022 . 2 changed files with 19 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,15 @@ using System.Reflection; public record class AssemblyInformation(string Product, string Description, string Version, string InformationalVersion) { public static readonly AssemblyInformation Current = new(typeof(AssemblyInformation).Assembly); public AssemblyInformation(Assembly assembly) : this( assembly.GetCustomAttribute<AssemblyProductAttribute>()!.Product, assembly.GetCustomAttribute<AssemblyDescriptionAttribute>()!.Description, assembly.GetCustomAttribute<AssemblyFileVersionAttribute>()!.Version, assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>()!.InformationalVersion) { } } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,4 @@ This gets the commit hash from the current `HEAD` of the branch. You can use it in your applcation via `AssemblyInformation.Current.InformationalVersion`. -
ElanHasson created this gist
Aug 12, 2022 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,33 @@ <Project> <Choose> <When Condition="'$(CI)' == 'true'"> <!-- On non-official builds we don't burn in a git sha. In large part because it hurts our determinism efforts as binaries which should be the same between builds will not (due to developers building against different HEAD values --> <PropertyGroup> <GitHeadSha><developer build></GitHeadSha> </PropertyGroup> </When> <When Condition="'$(GITHUB_SHA)' != ''"> <PropertyGroup> <GitHeadSha>$(GITHUB_SHA)</GitHeadSha> </PropertyGroup> </When> <When Condition="'$(GitHeadSha)' == ''"> <PropertyGroup> <GitHeadSha>Not found</GitHeadSha> <DotGitDir>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory).git'))</DotGitDir> <HeadFileContent Condition="Exists('$(DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(DotGitDir)/HEAD').Trim())</HeadFileContent> <RefPath Condition="$(HeadFileContent.StartsWith('ref: '))">$(DotGitDir)/$(HeadFileContent.Substring(5))</RefPath> <GitHeadSha Condition="'$(RefPath)' != '' AND Exists('$(RefPath)')">$([System.IO.File]::ReadAllText('$(RefPath)').Trim())</GitHeadSha> <GitHeadSha Condition="'$(HeadFileContent)' != '' AND '$(RefPath)' == ''">$(HeadFileContent)</GitHeadSha> </PropertyGroup> </When> <Otherwise> <PropertyGroup> <GitHeadSha>Not found</GitHeadSha> </PropertyGroup> </Otherwise> </Choose> </Project> This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,5 @@ <Project> <PropertyGroup> <InformationalVersion>$(GitHeadSha)</InformationalVersion> </PropertyGroup> </Project>