55using GitVersion . Logging ;
66using GitVersion . MSBuildTask . Tasks ;
77using GitVersion . OutputFormatters ;
8+ using GitVersion . OutputVariables ;
89
910namespace GitVersion . MSBuildTask
1011{
@@ -13,19 +14,19 @@ public class GitVersionTaskExecutor : IGitVersionTaskExecutor
1314 private readonly IFileSystem fileSystem ;
1415 private readonly ILog log ;
1516 private readonly IBuildServerResolver buildServerResolver ;
16- private readonly IGitVersionCalculator gitVersionCalculator ;
17+ private VersionVariables versionVariables ;
1718
18- public GitVersionTaskExecutor ( IFileSystem fileSystem , ILog log , IBuildServerResolver buildServerResolver , IGitVersionCalculator gitVersionCalculator )
19+ public GitVersionTaskExecutor ( IFileSystem fileSystem , ILog log , IBuildServerResolver buildServerResolver , IGitVersionCalculator gitVersionCalculator , IGitPreparer preparer )
1920 {
2021 this . fileSystem = fileSystem ?? throw new ArgumentNullException ( nameof ( fileSystem ) ) ;
2122 this . log = log ?? throw new ArgumentNullException ( nameof ( log ) ) ;
2223 this . buildServerResolver = buildServerResolver ?? throw new ArgumentNullException ( nameof ( buildServerResolver ) ) ;
23- this . gitVersionCalculator = gitVersionCalculator ?? throw new ArgumentNullException ( nameof ( gitVersionCalculator ) ) ;
24+ preparer . Prepare ( ) ;
25+ versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
2426 }
2527
2628 public void GetVersion ( GetVersion task )
2729 {
28- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
2930 var outputType = typeof ( GetVersion ) ;
3031 foreach ( var variable in versionVariables )
3132 {
@@ -38,7 +39,6 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
3839 FileHelper . DeleteTempFiles ( ) ;
3940 FileHelper . CheckForInvalidFiles ( task . CompileFiles , task . ProjectFile ) ;
4041
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,6 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
5050
5151 public void GenerateGitVersionInformation ( GenerateGitVersionInformation task )
5252 {
53- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
5453 var fileWriteInfo = task . IntermediateOutputPath . GetFileWriteInfo ( task . Language , task . ProjectFile , "GitVersionInformation" ) ;
5554
5655 task . GitVersionInformationFilePath = Path . Combine ( fileWriteInfo . WorkingDirectory , fileWriteInfo . FileName ) ;
@@ -62,17 +61,15 @@ public void WriteVersionInfoToBuildLog(WriteVersionInfoToBuildLog task)
6261 {
6362 var logger = task . Log ;
6463
65- var versionVariables = gitVersionCalculator . CalculateVersionVariables ( ) ;
6664 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 ) )
6871 {
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 ) ;
7673 }
7774 }
7875 }
0 commit comments