Skip to content

Commit 3092d40

Browse files
committed
added MsBuildAppender for logger
1 parent 02b2b4e commit 3092d40

File tree

6 files changed

+59
-22
lines changed

6 files changed

+59
-22
lines changed

src/GitVersionCore/GitVersionCalculator.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,6 @@ public VersionVariables CalculateVersionVariables()
6565
return GetCachedGitVersionInfo(arguments.TargetBranch, arguments.CommitId, arguments.OverrideConfig, arguments.NoCache);
6666
}
6767

68-
public bool TryCalculateVersionVariables(out VersionVariables versionVariables)
69-
{
70-
try
71-
{
72-
versionVariables = CalculateVersionVariables();
73-
return true;
74-
}
75-
catch (Exception ex)
76-
{
77-
log.Warning("Could not determine assembly version: " + ex);
78-
versionVariables = null;
79-
return false;
80-
}
81-
}
82-
8368
private string ResolveCurrentBranch(IBuildServer buildServer, string targetBranch, bool isDynamicRepository)
8469
{
8570
if (buildServer == null)

src/GitVersionCore/IGitVersionCalculator.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@ namespace GitVersion
55
public interface IGitVersionCalculator
66
{
77
VersionVariables CalculateVersionVariables();
8-
bool TryCalculateVersionVariables(out VersionVariables versionVariables);
98
}
109
}

src/GitVersionCore/Logging/FileAppender.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
using System;
22
using System.IO;
3-
using System.Threading;
43

54
namespace GitVersion.Logging
65
{
76
public class FileAppender : ILogAppender
87
{
9-
private static readonly ReaderWriterLock Locker = new ReaderWriterLock();
108
private readonly string filePath;
119

1210
public FileAppender(string filePath)

src/GitVersionTask/GitVersionTaskExecutor.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public GitVersionTaskExecutor(IFileSystem fileSystem, ILog log, IBuildServerReso
2525

2626
public void GetVersion(GetVersion task)
2727
{
28-
gitVersionCalculator.TryCalculateVersionVariables(out var versionVariables);
28+
var versionVariables = gitVersionCalculator.CalculateVersionVariables();
2929
var outputType = typeof(GetVersion);
3030
foreach (var variable in versionVariables)
3131
{
@@ -38,7 +38,7 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
3838
FileHelper.DeleteTempFiles();
3939
FileHelper.CheckForInvalidFiles(task.CompileFiles, task.ProjectFile);
4040

41-
gitVersionCalculator.TryCalculateVersionVariables(out var versionVariables);
41+
var versionVariables = gitVersionCalculator.CalculateVersionVariables();
4242
var fileWriteInfo = task.IntermediateOutputPath.GetFileWriteInfo(task.Language, task.ProjectFile, "AssemblyInfo");
4343

4444
task.AssemblyInfoTempFilePath = Path.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName);
@@ -50,7 +50,7 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
5050

5151
public void GenerateGitVersionInformation(GenerateGitVersionInformation task)
5252
{
53-
gitVersionCalculator.TryCalculateVersionVariables(out var versionVariables);
53+
var versionVariables = gitVersionCalculator.CalculateVersionVariables();
5454
var fileWriteInfo = task.IntermediateOutputPath.GetFileWriteInfo(task.Language, task.ProjectFile, "GitVersionInformation");
5555

5656
task.GitVersionInformationFilePath = Path.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName);
@@ -62,7 +62,7 @@ public void WriteVersionInfoToBuildLog(WriteVersionInfoToBuildLog task)
6262
{
6363
var logger = task.Log;
6464

65-
gitVersionCalculator.TryCalculateVersionVariables(out var versionVariables);
65+
var versionVariables = gitVersionCalculator.CalculateVersionVariables();
6666
var buildServer = buildServerResolver.Resolve();
6767
if (buildServer != null)
6868
{

src/GitVersionTask/GitVersionTasks.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using GitVersion.Exceptions;
33
using GitVersion.Extensions;
4+
using GitVersion.Logging;
45
using GitVersion.MSBuildTask.Tasks;
56
using Microsoft.Extensions.DependencyInjection;
67
using Microsoft.Extensions.Options;
@@ -24,6 +25,8 @@ private static bool ExecuteGitVersionTask<T>(T task, Action<IGitVersionTaskExecu
2425
try
2526
{
2627
var sp = BuildServiceProvider(task);
28+
var log = sp.GetService<ILog>();
29+
log.AddLogAppender(new MsBuildAppender(taskLog));
2730
var gitVersionTaskExecutor = sp.GetService<IGitVersionTaskExecutor>();
2831

2932
action(gitVersionTaskExecutor);

src/GitVersionTask/MsBuildAppender.cs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
using System;
2+
using Microsoft.Build.Utilities;
3+
4+
namespace GitVersion.Logging
5+
{
6+
public class MsBuildAppender : ILogAppender
7+
{
8+
private readonly TaskLoggingHelper taskLog;
9+
10+
public MsBuildAppender(TaskLoggingHelper taskLog)
11+
{
12+
this.taskLog = taskLog;
13+
}
14+
15+
public void WriteTo(LogLevel level, string message)
16+
{
17+
try
18+
{
19+
if (level != LogLevel.None)
20+
{
21+
WriteLogEntry(level, message);
22+
}
23+
}
24+
catch (Exception)
25+
{
26+
//
27+
}
28+
}
29+
30+
private void WriteLogEntry(LogLevel level, string str)
31+
{
32+
var contents = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}\t\t{str}\r\n";
33+
switch (level)
34+
{
35+
case LogLevel.None:
36+
break;
37+
case LogLevel.Error:
38+
taskLog.LogError(contents);
39+
break;
40+
case LogLevel.Warn:
41+
taskLog.LogWarning(contents);
42+
break;
43+
case LogLevel.Info:
44+
case LogLevel.Debug:
45+
taskLog.LogMessage(contents);
46+
break;
47+
default:
48+
throw new ArgumentOutOfRangeException(nameof(level), level, null);
49+
}
50+
}
51+
}
52+
}

0 commit comments

Comments
 (0)