@@ -102,6 +102,7 @@ class ArtifactInfo
102102 NuGetVersion = nugetVersion ;
103103 ComponentVersion = componentVersion ;
104104 IsJar = isJar ;
105+ PathPrefix = string . Empty ;
105106 }
106107
107108 public string Package { get ; set ; }
@@ -411,6 +412,7 @@ Task ("nuget")
411412 . IsDependentOn ( "nuget-base" ) ;
412413
413414Task ( "ci" )
415+ . IsDependentOn ( "ci-setup" )
414416 . IsDependentOn ( "diff" )
415417 . IsDependentOn ( "component" ) ;
416418
@@ -433,8 +435,34 @@ Task ("clean")
433435 CleanDirectories ( "./**/packages" ) ;
434436} ) ;
435437
438+ Task ( "ci-setup" )
439+ . WithCriteria ( ! BuildSystem . IsLocalBuild )
440+ . Does ( ( ) =>
441+ {
442+ var buildCommit = "DEV" ;
443+ var buildNumber = "DEBUG" ;
444+ var buildTimestamp = DateTime . UtcNow . ToString ( ) ;
445+
446+ if ( BuildSystem . IsRunningOnJenkins ) {
447+ buildNumber = BuildSystem . Jenkins . Environment . Build . BuildTag ;
448+ buildCommit = EnvironmentVariable ( "GIT_COMMIT" ) ?? buildCommit ;
449+ } else if ( BuildSystem . IsRunningOnVSTS ) {
450+ buildNumber = BuildSystem . TFBuild . Environment . Build . Number ;
451+ buildCommit = BuildSystem . TFBuild . Environment . Repository . SourceVersion ;
452+ }
436453
437- Task ( "component-docs" ) . Does ( ( ) =>
454+ foreach ( var art in ARTIFACTS ) {
455+ var glob = "./" + art . PathPrefix + art . ArtifactId + "/**/source/**/AssemblyInfo.cs" ;
456+
457+ ReplaceTextInFiles ( glob , "{NUGET_VERSION}" , art . NuGetVersion ) ;
458+ ReplaceTextInFiles ( glob , "{BUILD_COMMIT}" , buildCommit ) ;
459+ ReplaceTextInFiles ( glob , "{BUILD_NUMBER}" , buildNumber ) ;
460+ ReplaceTextInFiles ( glob , "{BUILD_TIMESTAMP}" , buildTimestamp ) ;
461+ }
462+ } ) ;
463+
464+ Task ( "component-docs" )
465+ . Does ( ( ) =>
438466{
439467 var gettingStartedTemplates = new Dictionary < string , string > ( ) ;
440468
@@ -549,15 +577,17 @@ Task ("genapi")
549577 CopyFile ( "./support-v4/source/bin/" + BUILD_CONFIG + "/Xamarin.Android.Support.v4.dll" , "./output/Xamarin.Android.Support.v4.dll" ) ;
550578} ) ;
551579
552- Task ( "buildtasks" ) . Does ( ( ) =>
580+ Task ( "buildtasks" )
581+ . Does ( ( ) =>
553582{
554583 NuGetRestore ( "./support-vector-drawable/buildtask/Vector-Drawable-BuildTasks.csproj" ) ;
555584
556585 MSBuild ( "./support-vector-drawable/buildtask/Vector-Drawable-BuildTasks.csproj" , c => c . Configuration = BUILD_CONFIG ) ;
557586} ) ;
558587
559588
560- Task ( "droiddocs" ) . Does ( ( ) =>
589+ Task ( "droiddocs" )
590+ . Does ( ( ) =>
561591{
562592 EnsureDirectoryExists ( "./output" ) ;
563593
0 commit comments