@@ -381,6 +381,21 @@ public async Task GetBuildVersion_Minus1BuildOffset_NotYetCommitted()
381381 this . AssertStandardProperties ( versionOptions , buildResult ) ;
382382 }
383383
384+ [ Theory ]
385+ [ InlineData ( 0 ) ]
386+ [ InlineData ( 21 ) ]
387+ public async Task GetBuildVersion_BuildNumberSpecifiedInVersionJson ( int buildNumber )
388+ {
389+ var versionOptions = new VersionOptions
390+ {
391+ Version = SemanticVersion . Parse ( "14.0." + buildNumber ) ,
392+ } ;
393+ this . WriteVersionFile ( versionOptions ) ;
394+ this . InitializeSourceControl ( ) ;
395+ var buildResult = await this . BuildAsync ( ) ;
396+ this . AssertStandardProperties ( versionOptions , buildResult ) ;
397+ }
398+
384399 [ Fact ]
385400 public async Task PublicRelease_RegEx_Unsatisfied ( )
386401 {
@@ -821,6 +836,7 @@ private void AssertStandardProperties(VersionOptions versionOptions, BuildResult
821836 Assert . Equal ( $ "{ version } ", buildResult . BuildVersion ) ;
822837 Assert . Equal ( $ "{ idAsVersion . Major } .{ idAsVersion . Minor } .{ idAsVersion . Build } ", buildResult . BuildVersion3Components ) ;
823838 Assert . Equal ( idAsVersion . Build . ToString ( ) , buildResult . BuildVersionNumberComponent ) ;
839+ Assert . Equal ( versionOptions . Version . Version . Build != - 1 ? versionOptions . Version . Version . Build . ToString ( ) : string . Empty , buildResult . BuildNumberFromVersionJson ) ;
824840 Assert . Equal ( $ "{ idAsVersion . Major } .{ idAsVersion . Minor } .{ idAsVersion . Build } ", buildResult . BuildVersionSimple ) ;
825841 Assert . Equal ( this . Repo . Head . Commits . First ( ) . Id . Sha , buildResult . GitCommitId ) ;
826842 Assert . Equal ( commitIdShort , buildResult . GitCommitIdShort ) ;
@@ -980,6 +996,7 @@ internal BuildResults(BuildResult buildResult, IReadOnlyList<BuildEventArgs> log
980996 public string PrereleaseVersion => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "PrereleaseVersion" ) ;
981997 public string MajorMinorVersion => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "MajorMinorVersion" ) ;
982998 public string BuildVersionNumberComponent => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "BuildVersionNumberComponent" ) ;
999+ public string BuildNumberFromVersionJson => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "BuildNumberFromVersionJson" ) ;
9831000 public string GitCommitIdShort => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "GitCommitIdShort" ) ;
9841001 public string GitVersionHeight => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "GitVersionHeight" ) ;
9851002 public string SemVerBuildSuffix => this . BuildResult . ProjectStateAfterBuild . GetPropertyValue ( "SemVerBuildSuffix" ) ;
0 commit comments