@@ -282,7 +282,9 @@ Task ("diff")
282282 "./output/AndroidSupport.api-diff.html" ) ;
283283} ) ;
284284
285- Task ( "merge" ) . IsDependentOn ( "libs" ) . Does ( ( ) =>
285+ Task ( "merge" )
286+ . IsDependentOn ( "libs" )
287+ . Does ( ( ) =>
286288{
287289 if ( FileExists ( "./output/AndroidSupport.Merged.dll" ) )
288290 DeleteFile ( "./output/AndroidSupport.Merged.dll" ) ;
@@ -300,29 +302,10 @@ Task ("merge").IsDependentOn ("libs").Does (() =>
300302 } ) ;
301303} ) ;
302304
303-
304- Task ( "component-setup" ) . Does ( ( ) =>
305- {
306- var yamls = GetFiles ( "./**/component/component.template.yaml" ) ;
307-
308- foreach ( var yaml in yamls ) {
309- var manifestTxt = FileReadText ( yaml )
310- . Replace ( "$nuget-version$" , NUGET_VERSION )
311- . Replace ( "$version$" , COMPONENT_VERSION ) ;
312-
313- var newYaml = yaml . GetDirectory ( ) . CombineWithFilePath ( "component.yaml" ) ;
314-
315- FileWriteText ( newYaml , manifestTxt ) ;
316- }
317- } ) ;
318-
319-
320305Task ( "nuget-setup" )
321- . IsDependentOn ( "externals" )
322306 . IsDependentOn ( "buildtasks" )
323307 . Does ( ( ) =>
324308{
325-
326309 Action < FilePath , FilePath > mergeTargetsFiles = ( FilePath fromFile , FilePath intoFile ) =>
327310 {
328311 // Load the doc to append to, and the doc to append
@@ -378,7 +361,6 @@ Task ("nuget-setup")
378361 mergeTargetsFiles ( mergeFile , targetsFile ) ;
379362 }
380363
381-
382364 // Transform all template.nuspec files
383365 var nuspecText = FileReadText ( art . PathPrefix + art . ArtifactId + "/nuget/template.nuspec" ) ;
384366 //nuspecText = nuspecText.Replace ("$xbdversion$", XBD_VERSION);
@@ -404,36 +386,25 @@ Task ("nuget-setup")
404386 }
405387} ) ;
406388
407- Task ( "nuget" )
408- . IsDependentOn ( "libs" )
409- . IsDependentOn ( "nuget-setup" )
410- . IsDependentOn ( "nuget-base" ) ;
411-
412- Task ( "ci" )
413- . IsDependentOn ( "diff" )
414- . IsDependentOn ( "component" ) ;
415-
416- Task ( "component" )
417- . IsDependentOn ( "libs" )
418- . IsDependentOn ( "component-docs" )
419- . IsDependentOn ( "component-setup" )
420- . IsDependentOn ( "component-base" ) ;
421-
422- Task ( "clean" )
423- . IsDependentOn ( "clean-base" )
389+ Task ( "component-setup" )
424390 . Does ( ( ) =>
425391{
426- if ( FileExists ( "./generated.targets" ) )
427- DeleteFile ( "./generated.targets" ) ;
392+ var yamls = GetFiles ( "./**/component/component.template.yaml" ) ;
428393
429- if ( DirectoryExists ( "./externals" ) )
430- DeleteDirectory ( "./externals" , true ) ;
394+ foreach ( var yaml in yamls ) {
395+ var manifestTxt = FileReadText ( yaml )
396+ . Replace ( "$nuget-version$" , NUGET_VERSION )
397+ . Replace ( "$version$" , COMPONENT_VERSION ) ;
431398
432- CleanDirectories ( "./**/packages" ) ;
433- } ) ;
399+ var newYaml = yaml . GetDirectory ( ) . CombineWithFilePath ( "component.yaml" ) ;
434400
401+ FileWriteText ( newYaml , manifestTxt ) ;
402+ }
403+ } ) ;
435404
436- Task ( "component-docs" ) . Does ( ( ) =>
405+ Task ( "component-docs" )
406+ . IsDependentOn ( "component-setup" )
407+ . Does ( ( ) =>
437408{
438409 var gettingStartedTemplates = new Dictionary < string , string > ( ) ;
439410
@@ -500,11 +471,6 @@ Task ("component-docs").Does (() =>
500471 }
501472} ) ;
502473
503- Task ( "libs" )
504- . IsDependentOn ( "buildtasks" )
505- . IsDependentOn ( "genapi" )
506- . IsDependentOn ( "libs-base" ) ;
507-
508474Task ( "genapi" )
509475 . IsDependentOn ( "externals" )
510476 . IsDependentOn ( "libs-base" )
@@ -548,15 +514,17 @@ Task ("genapi")
548514 CopyFile ( "./support-v4/source/bin/" + BUILD_CONFIG + "/Xamarin.Android.Support.v4.dll" , "./output/Xamarin.Android.Support.v4.dll" ) ;
549515} ) ;
550516
551- Task ( "buildtasks" ) . Does ( ( ) =>
517+ Task ( "buildtasks" )
518+ . Does ( ( ) =>
552519{
553520 NuGetRestore ( "./support-vector-drawable/buildtask/Vector-Drawable-BuildTasks.csproj" ) ;
554521
555522 MSBuild ( "./support-vector-drawable/buildtask/Vector-Drawable-BuildTasks.csproj" , c => c . Configuration = BUILD_CONFIG ) ;
556523} ) ;
557524
558525
559- Task ( "droiddocs" ) . Does ( ( ) =>
526+ Task ( "droiddocs" )
527+ . Does ( ( ) =>
560528{
561529 EnsureDirectoryExists ( "./output" ) ;
562530
@@ -590,6 +558,61 @@ Task ("droiddocs").Does (() =>
590558 }
591559} ) ;
592560
561+ Task ( "ci-setup" )
562+ . WithCriteria ( ! BuildSystem . IsLocalBuild )
563+ . Does ( ( ) =>
564+ {
565+ var buildCommit = "DEV" ;
566+ var buildNumber = "DEBUG" ;
567+ var buildTimestamp = DateTime . UtcNow . ToString ( ) ;
568+
569+ if ( BuildSystem . IsRunningOnJenkins ) {
570+ buildNumber = BuildSystem . Jenkins . Environment . Build . BuildTag ;
571+ buildCommit = EnvironmentVariable ( "GIT_COMMIT" ) ?? buildCommit ;
572+ } else if ( BuildSystem . IsRunningOnVSTS ) {
573+ buildNumber = BuildSystem . TFBuild . Environment . Build . Number ;
574+ buildCommit = BuildSystem . TFBuild . Environment . Repository . SourceVersion ;
575+ }
576+
577+ ReplaceTextInFiles ( "./**/source/**/AssemblyInfo.cs" , "{BUILD_COMMIT}" , buildCommit ) ;
578+ ReplaceTextInFiles ( "./**/source/**/AssemblyInfo.cs" , "{BUILD_NUMBER}" , buildNumber ) ;
579+ ReplaceTextInFiles ( "./**/source/**/AssemblyInfo.cs" , "{BUILD_TIMESTAMP}" , buildTimestamp ) ;
580+ } ) ;
581+
582+ Task ( "clean" )
583+ . IsDependentOn ( "clean-base" )
584+ . Does ( ( ) =>
585+ {
586+ if ( FileExists ( "./generated.targets" ) )
587+ DeleteFile ( "./generated.targets" ) ;
588+
589+ if ( DirectoryExists ( "./externals" ) )
590+ DeleteDirectory ( "./externals" , true ) ;
591+
592+ CleanDirectories ( "./**/packages" ) ;
593+ } ) ;
594+
595+ Task ( "nuget" )
596+ . IsDependentOn ( "libs" )
597+ . IsDependentOn ( "nuget-setup" )
598+ . IsDependentOn ( "nuget-base" ) ;
599+
600+ Task ( "component" )
601+ . IsDependentOn ( "nuget" )
602+ . IsDependentOn ( "component-docs" )
603+ . IsDependentOn ( "component-base" ) ;
604+
605+ Task ( "libs" )
606+ . IsDependentOn ( "externals" )
607+ . IsDependentOn ( "nuget-setup" )
608+ . IsDependentOn ( "libs-base" )
609+ . IsDependentOn ( "genapi" ) ;
610+
611+ Task ( "ci" )
612+ . IsDependentOn ( "ci-setup" )
613+ . IsDependentOn ( "diff" )
614+ . IsDependentOn ( "component" ) ;
615+
593616SetupXamarinBuildTasks ( buildSpec , Tasks , Task ) ;
594617
595618RunTarget ( TARGET ) ;
0 commit comments