From 1ee6ae4785d73a21970cd42c28bc669107c1ce1a Mon Sep 17 00:00:00 2001 From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch> Date: Thu, 21 Dec 2017 11:42:06 +0100 Subject: [PATCH] Include commit reference into startup message. This is done using a git-hook script generating a text file which is used as a resource by VS. The pre-build script in VS makes sure the file is actually existing (using a default string) since otherwise the build would fail. --- AutoTx/ATXProject.csproj | 6 ++++-- AutoTx/AutoTx.cs | 5 ++++- AutoTx/Properties/Resources.Designer.cs | 12 +++++++++++- AutoTx/Properties/Resources.resx | 3 +++ AutoTx/Resources/.gitignore | 1 + Scripts/git-hooks/post-commit | 6 ++++++ 6 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 Scripts/git-hooks/post-commit diff --git a/AutoTx/ATXProject.csproj b/AutoTx/ATXProject.csproj index 3e86040..5af4a78 100644 --- a/AutoTx/ATXProject.csproj +++ b/AutoTx/ATXProject.csproj @@ -147,10 +147,12 @@ <ItemGroup> <None Include="Resources\BuildDate.txt" /> </ItemGroup> + <ItemGroup> + <None Include="Resources\BuildCommit.txt" /> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <PropertyGroup> - <PreBuildEvent>PowerShell -Command "Get-Date -Format 'yyyy-MM-dd HH:mm:ss' > $(ProjectDir)\Resources\BuildDate.txt ; Get-Content $(ProjectDir)\Resources\BuildDate.txt" -</PreBuildEvent> + <PreBuildEvent>PowerShell -Command "$BCommit = '$(ProjectDir)\Resources\BuildCommit.txt' ; $BDate = '$(ProjectDir)\Resources\BuildDate.txt' ; if (-Not (Test-Path $BCommit)) { Write-Output 'UNKNOWN' > $BCommit } ; Get-Date -Format 'yyyy-MM-dd HH:mm:ss' > $BDate ; Get-Content $BDate"</PreBuildEvent> </PropertyGroup> <PropertyGroup> <PostBuildEvent>PowerShell -Command "Write-Host $(ConfigurationName)" > $(ProjectDir)\Resources\BuildConfiguration.txt diff --git a/AutoTx/AutoTx.cs b/AutoTx/AutoTx.cs index 3c33626..bafec3d 100644 --- a/AutoTx/AutoTx.cs +++ b/AutoTx/AutoTx.cs @@ -251,8 +251,11 @@ namespace AutoTx // read the build timestamp from the resources: var buildTimestamp = Properties.Resources.BuildDate.Trim(); + var buildCommitName = Properties.Resources.BuildCommit.Trim(); writeLog("-----------------------"); - writeLog(ServiceName + " service started <build " + buildTimestamp + ">"); + writeLog(ServiceName + " service started."); + writeLog("build: [" + buildTimestamp + "]"); + writeLog("commit: [" + buildCommitName + "]"); writeLog("-----------------------"); } diff --git a/AutoTx/Properties/Resources.Designer.cs b/AutoTx/Properties/Resources.Designer.cs index e18a2f6..adfac63 100644 --- a/AutoTx/Properties/Resources.Designer.cs +++ b/AutoTx/Properties/Resources.Designer.cs @@ -61,7 +61,17 @@ namespace AutoTx.Properties { } /// <summary> - /// Looks up a localized string similar to 2017-08-28 18:49:13 + /// Looks up a localized string similar to autotransfer-v1-134-g04a73b1 + ///. + /// </summary> + internal static string BuildCommit { + get { + return ResourceManager.GetString("BuildCommit", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to 2017-12-21 10:42:03 ///. /// </summary> internal static string BuildDate { diff --git a/AutoTx/Properties/Resources.resx b/AutoTx/Properties/Resources.resx index 32307e8..0cf010f 100644 --- a/AutoTx/Properties/Resources.resx +++ b/AutoTx/Properties/Resources.resx @@ -118,6 +118,9 @@ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="BuildCommit" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\BuildCommit.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> + </data> <data name="BuildDate" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resources\BuildDate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> </data> diff --git a/AutoTx/Resources/.gitignore b/AutoTx/Resources/.gitignore index 8b0d5a6..06696d3 100644 --- a/AutoTx/Resources/.gitignore +++ b/AutoTx/Resources/.gitignore @@ -1,2 +1,3 @@ BuildDate.txt BuildConfiguration.txt +BuildCommit.txt \ No newline at end of file diff --git a/Scripts/git-hooks/post-commit b/Scripts/git-hooks/post-commit new file mode 100644 index 0000000..0fb08a9 --- /dev/null +++ b/Scripts/git-hooks/post-commit @@ -0,0 +1,6 @@ +#!/bin/sh +# +# A hook script to generate a file containing the output of "git describe" for +# being used further down the build+packaging pipeline. + +git describe --tags > AutoTx/Resources/BuildCommit.txt \ No newline at end of file -- GitLab