Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
3.4 KiB

  1. #
  2. # call timebuild with a slightly altered command line
  3. #
  4. @ValidFlagList = ("NOPOPULATE");
  5. #
  6. # Conditional execution based on either ValidFlagList (specified on command line) or environment variables.
  7. #
  8. @cmdlist = (
  9. ' @echo Running <<timebuild>>',
  10. '=%OFFICIAL_BUILD_MACHINE ECHO This is an OFFICIAL BUILD MACHINE!',
  11. '=%OFFICIAL_BUILD_MACHINE=PRIMARY ECHO Publics will be published if timebuild succeeds.',
  12. ' @if EXIST <<fixederr>> del <<fixederr>>',
  13. '=NOSYNC @echo SKIPPING sync/resolve',
  14. '=NOSYNC SUCCESS', # set current result code to 0
  15. '!NOSYNC revert_public.cmd',
  16. '=CHECKSYNC CHECKWARN perl %sdxroot%\Tools\sendbuildstats.pl -warn -m revert_public failed',
  17. '=NOSCORCH @echo SKIPPING scorch',
  18. '!NOSCORCH nmake -lf makefil0 scorch_source',
  19. '!NOSCORCH CHECKWARN perl %sdxroot%\Tools\sendbuildstats.pl -warn -m scorch failed see %sdxroot%\build.scorch',
  20. '!NOSYNC sdx sync <<timestamp>> -q -h > build.changes 2>&1',
  21. '=CHECKSYNC CHECKWARN perl %sdxroot%\Tools\sendbuildstats.pl -warn -m sdx sync failed',
  22. '!NOSYNC sdx resolve -af',
  23. '=CHECKSYNC CHECKWARN perl %sdxroot%\Tools\sendbuildstats.pl -warn -m sdx resolve failed',
  24. '!NOSYNC perl %sdxroot%\Tools\ChangesToFiles.pl build.changes > build.changedfiles 2>&1',
  25. '!NOSYNC @echo BUILDDATE=<<BUILDDATE_timestamp>> > __blddate__',
  26. # ' sdx delta > build.baseline',
  27. '!NOCLEANBUILD build -cZP',
  28. '=NOCLEANBUILD @echo NOT BUILDING CLEAN',
  29. '=NOCLEANBUILD build -ZP',
  30. ' CHECKBUILDERRORS',
  31. ' CHECKFATAL perl %sdxroot%\Tools\sendbuildstats.pl -too -buildfailure',
  32. 'RESUME',
  33. '=RESUME ECHO Resuming timebuild after build step.',
  34. '=RESUME ECHO Resuming timebuild after build step. >> build.changes',
  35. # '=RESUME ECHO The following changes have been made since the build was started. >> build.changes',
  36. # '=RESUME perl %sdxroot%\Tools\DetermineChanges.pl build.baseline >> build.changes',
  37. # '=RESUME perl %sdxroot%\Tools\ChangesToFiles.pl build.changes > build.changedfiles 2>&1',
  38. '=STOPAFTERBUILD QUIT TIMEBUILD stopping after build, use /RESUME to continue.',
  39. # UNDONE implment nopopulate
  40. '!NOPOPULATE perl %sdxroot%\Tools\PopulateFromVBL.pl -verbose -checkbinplace -force ' . $ENV{"TIMEBUILD_POPULATE_EXTRA_OPTIONS"},
  41. '!NOPOPULATE CHECKFATAL',
  42. '=NOPOPULATE ECHO SKIPPING populate',
  43. #
  44. '!NOPOSTBUILD postbuild ' . $ENV{"TIMEBUILD_POSTBUILD_EXTRA_OPTIONS"},
  45. '!NOPOSTBUILD CHECKFATAL perl %sdxroot%\tools\sendbuildstats.pl -postbuildfailure',
  46. '=RELEASE perl %RazzleToolPath%\PostBuildScripts\release.pl -nd',
  47. '!NOPOSTBUILD perl %sdxroot%\tools\sendbuildstats.pl -successful',
  48. '=NOPOSTBUILD ECHO SKIPPING postbuild',
  49. 'ECHO Finished Timing Build'
  50. );
  51. for (@ValidFlagList) {
  52. $ValidFlag{lc $_} = 1;
  53. }
  54. $cmd = '| perl ' . $ENV{'SDXROOT'} . '\tools\timebuld.pl ';
  55. for (@ARGV)
  56. {
  57. if (/^[\-\/]nopopulate$/i)
  58. {
  59. }
  60. else
  61. {
  62. $cmd = $cmd . ' ' . $_ ;
  63. }
  64. }
  65. print($cmd);
  66. exit;
  67. openn(timebuild, $cmd);
  68. for $cmd (@cmdlist)
  69. {
  70. print timebuild $cmd;
  71. }
  72. close(cmd);