"UpdateAssemblyDescription" renamed to "UpdateAssemblyInfo". Now also gets revision number (number of commits since last release)

This commit is contained in:
nikse.dk 2014-02-03 20:45:23 +01:00
parent 7dad65ff88
commit baa946265c
8 changed files with 19 additions and 14 deletions

View File

@ -31,4 +31,4 @@ using System.Runtime.InteropServices;
// //
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("3.3.13.0")] [assembly: AssemblyVersion("3.3.13.[REVNO]")]

View File

@ -14,7 +14,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{7BE5B8E8-9469-4C7C-89D7-E8C884DEFC0E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{7BE5B8E8-9469-4C7C-89D7-E8C884DEFC0E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateAssemblyDescription", "UpdateAssemblyDescription\UpdateAssemblyDescription.csproj", "{DBD4656C-5F40-4067-A70B-C4460DE20F77}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateAssemblyInfo", "UpdateAssemblyInfo\UpdateAssemblyInfo.csproj", "{DBD4656C-5F40-4067-A70B-C4460DE20F77}"
EndProject EndProject
Global Global
GlobalSection(TestCaseManagementSettings) = postSolution GlobalSection(TestCaseManagementSettings) = postSolution

View File

@ -1,6 +1,6 @@
using System.Diagnostics; using System.Diagnostics;
namespace UpdateAssemblyDescription namespace UpdateAssemblyInfo
{ {
public class CommandLineRunner public class CommandLineRunner
{ {
@ -16,7 +16,7 @@ namespace UpdateAssemblyDescription
p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true; p.StartInfo.CreateNoWindow = true;
p.OutputDataReceived += _mplayer_OutputDataReceived; p.OutputDataReceived += OutputDataReceived;
try try
{ {
@ -34,7 +34,7 @@ namespace UpdateAssemblyDescription
return false; return false;
} }
void _mplayer_OutputDataReceived(object sender, DataReceivedEventArgs e) void OutputDataReceived(object sender, DataReceivedEventArgs e)
{ {
if (e != null && e.Data != null) if (e != null && e.Data != null)
Result = e.Data; Result = e.Data;

View File

@ -1,7 +1,7 @@
using System; using System;
using System.IO; using System.IO;
namespace UpdateAssemblyDescription namespace UpdateAssemblyInfo
{ {
class Program class Program
{ {
@ -31,10 +31,10 @@ namespace UpdateAssemblyDescription
return "git"; return "git";
} }
private static void DoUpdateAssemblyDescription(string gitHash, string template, string target) private static void DoUpdateAssembly(string source, string gitHash, string template, string target)
{ {
string templateData = File.ReadAllText(template); string templateData = File.ReadAllText(template);
string fixedData = templateData.Replace("[GITHASH]", gitHash); string fixedData = templateData.Replace(source, gitHash);
File.WriteAllText(target, fixedData); File.WriteAllText(target, fixedData);
} }
@ -54,13 +54,18 @@ namespace UpdateAssemblyDescription
string template = args[0]; string template = args[0];
string target = args[1]; string target = args[1];
var clr = new CommandLineRunner(); var clrHash = new CommandLineRunner();
var rc = clr.RunCommandAndGetOutput(GetGitPath(), "rev-parse --verify HEAD", workingFolder); var rcGitHash = clrHash.RunCommandAndGetOutput(GetGitPath(), "rev-parse --verify HEAD", workingFolder);
if (rc) var clrTags = new CommandLineRunner();
var rcGitTags = clrTags.RunCommandAndGetOutput(GetGitPath(), "describe --tags", workingFolder);
if (rcGitHash && rcGitTags)
{ {
try try
{ {
DoUpdateAssemblyDescription(clr.Result, template, target); DoUpdateAssembly("[GITHASH]", clrHash.Result, template, target);
File.WriteAllText(errorFileName, "GIT TAGS: " + clrTags.Result);
DoUpdateAssembly("[REVNO]", clrTags.Result.Split('-')[1] , target, target);
return 0; return 0;
} }
catch (Exception e) catch (Exception e)

View File

@ -8,7 +8,7 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UpdateAssemblyDescription</RootNamespace> <RootNamespace>UpdateAssemblyDescription</RootNamespace>
<AssemblyName>UpdateAssemblyDescription</AssemblyName> <AssemblyName>UpdateAssemblyInfo</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
</PropertyGroup> </PropertyGroup>

View File

@ -3,7 +3,7 @@ SETLOCAL
PUSHD %~dp0 PUSHD %~dp0
"src\UpdateAssemblyDescription\bin\Release\UpdateAssemblyDescription.exe" "src\Properties\AssemblyInfo.cs.template" "src\Properties\AssemblyInfo.cs" "src\UpdateAssemblyInfo\bin\Release\UpdateAssemblyInfo.exe" "src\Properties\AssemblyInfo.cs.template" "src\Properties\AssemblyInfo.cs"
IF %ERRORLEVEL% NEQ 0 GOTO SubError IF %ERRORLEVEL% NEQ 0 GOTO SubError