5
5
using GitVersion . Logging ;
6
6
using GitVersion . MSBuildTask . Tasks ;
7
7
using GitVersion . OutputFormatters ;
8
+ using GitVersion . OutputVariables ;
8
9
9
10
namespace GitVersion . MSBuildTask
10
11
{
@@ -13,19 +14,19 @@ public class GitVersionTaskExecutor : IGitVersionTaskExecutor
13
14
private readonly IFileSystem fileSystem ;
14
15
private readonly ILog log ;
15
16
private readonly IBuildServerResolver buildServerResolver ;
16
- private readonly IGitVersionCalculator gitVersionCalculator ;
17
+ private VersionVariables versionVariables ;
17
18
18
- public GitVersionTaskExecutor ( IFileSystem fileSystem , ILog log , IBuildServerResolver buildServerResolver , IGitVersionCalculator gitVersionCalculator )
19
+ public GitVersionTaskExecutor ( IFileSystem fileSystem , ILog log , IBuildServerResolver buildServerResolver , IGitVersionCalculator gitVersionCalculator , IGitPreparer preparer )
19
20
{
20
21
this . fileSystem = fileSystem ?? throw new ArgumentNullException ( nameof ( fileSystem ) ) ;
21
22
this . log = log ?? throw new ArgumentNullException ( nameof ( log ) ) ;
22
23
this . buildServerResolver = buildServerResolver ?? throw new ArgumentNullException ( nameof ( buildServerResolver ) ) ;
23
- this . gitVersionCalculator = gitVersionCalculator ?? throw new ArgumentNullException ( nameof ( gitVersionCalculator ) ) ;
24
+ preparer . Prepare ( ) ;
25
+ versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
24
26
}
25
27
26
28
public void GetVersion ( GetVersion task )
27
29
{
28
- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
29
30
var outputType = typeof ( GetVersion ) ;
30
31
foreach ( var variable in versionVariables )
31
32
{
@@ -38,7 +39,6 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
38
39
FileHelper . DeleteTempFiles ( ) ;
39
40
FileHelper . CheckForInvalidFiles ( task . CompileFiles , task . ProjectFile ) ;
40
41
41
- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
42
42
var fileWriteInfo = task . IntermediateOutputPath . GetFileWriteInfo ( task . Language , task . ProjectFile , "AssemblyInfo" ) ;
43
43
44
44
task . AssemblyInfoTempFilePath = Path . Combine ( fileWriteInfo . WorkingDirectory , fileWriteInfo . FileName ) ;
@@ -50,7 +50,6 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
50
50
51
51
public void GenerateGitVersionInformation ( GenerateGitVersionInformation task )
52
52
{
53
- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
54
53
var fileWriteInfo = task . IntermediateOutputPath . GetFileWriteInfo ( task . Language , task . ProjectFile , "GitVersionInformation" ) ;
55
54
56
55
task . GitVersionInformationFilePath = Path . Combine ( fileWriteInfo . WorkingDirectory , fileWriteInfo . FileName ) ;
@@ -62,17 +61,15 @@ public void WriteVersionInfoToBuildLog(WriteVersionInfoToBuildLog task)
62
61
{
63
62
var logger = task . Log ;
64
63
65
- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
66
64
var buildServer = buildServerResolver . Resolve ( ) ;
67
- if ( buildServer != null )
65
+ if ( buildServer == null ) return ;
66
+
67
+ logger . LogMessage ( $ "Executing GenerateSetVersionMessage for '{ buildServer . GetType ( ) . Name } '.") ;
68
+ logger . LogMessage ( buildServer . GenerateSetVersionMessage ( versionVariables ) ) ;
69
+ logger . LogMessage ( $ "Executing GenerateBuildLogOutput for '{ buildServer . GetType ( ) . Name } '.") ;
70
+ foreach ( var buildParameter in BuildOutputFormatter . GenerateBuildLogOutput ( buildServer , versionVariables ) )
68
71
{
69
- logger . LogMessage ( $ "Executing GenerateSetVersionMessage for '{ buildServer . GetType ( ) . Name } '.") ;
70
- logger . LogMessage ( buildServer . GenerateSetVersionMessage ( versionVariables ) ) ;
71
- logger . LogMessage ( $ "Executing GenerateBuildLogOutput for '{ buildServer . GetType ( ) . Name } '.") ;
72
- foreach ( var buildParameter in BuildOutputFormatter . GenerateBuildLogOutput ( buildServer , versionVariables ) )
73
- {
74
- logger . LogMessage ( buildParameter ) ;
75
- }
72
+ logger . LogMessage ( buildParameter ) ;
76
73
}
77
74
}
78
75
}
0 commit comments