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.
 
 
 
 
 
 

150 lines
12 KiB

<Types>
<PublicDataObj>
<!--"PublicDataObj" is the object to be put in the PublicData property. All data here will be exposed to outside clients.-->
<!-- $DROPVERSION: -->
<strDataVersion type="string" default="V(########) F(!!!!!!!!!!!!!!)"></strDataVersion>
<!-- $ -->
<strStatus type="string" default="idle">idle,busy,completed</strStatus>
<strMode type="string" default="idle">idle,master,slave,standalone</strMode>
<Dialog>
<!--"Dialog" is an object that is used to put up dialogs to the user.-->
<fShowDialog type="boolean" default="false">true,false</fShowDialog>
<fEMailOnly type="boolean" default="false">true,false</fEMailOnly>
<cDialogIndex type="number" default="0">Index to keep track of wheter we've shown this dialog yet</cDialogIndex>
<strTitle type="string">Dialog Title</strTitle>
<strMessage type="string">Dialog Message</strMessage>
<aBtnText type="array">Array of button text strings</aBtnText>
<nSecRemaining type="number">3000</nSecRemaining>
</Dialog>
<Build type="array">
<!--"Build" is an array of build objects. For now there will always be only one build.-->
<strConfigTemplate type="string">file://\\server\path\clean_build.xml</strConfigTemplate>
<strEnvTemplate type="string">file://\\server\path\bluelab.xml</strEnvTemplate>
<BuildType>
<!--"BuildType" is an object to describe the type of build-->
<strConfigLongName type="string">ConfigLongName</strConfigLongName>
<strEnviroLongName type="string">EnviroLongName</strEnviroLongName>
<strConfigDescription type="string">ConfigDescription</strConfigDescription>
<strEnviroDescription type="string">EnviroDescription</strEnviroDescription>
<fDistributed type="boolean" default="false">Indicates if this is a distributed build.</fDistributed>
<strPostBuildMachine type="string">PostBuildMachine</strPostBuildMachine>
</BuildType>
<ElapsedTimes>
<!--"ElapsedTimes" is an object to keep track of overall elapsed times for the build-->
<dateScorchStart type="string" default="unset">UTC Timestamp of when the Scorch phase started </dateScorchStart>
<dateScorchFinish type="string" default="unset">UTC Timestamp of when the Scorch phase finished</dateScorchFinish>
<dateSyncStart type="string" default="unset">UTC Timestamp of when the sync phase started </dateSyncStart>
<dateSyncFinish type="string" default="unset">UTC Timestamp of when the sync phase finished</dateSyncFinish>
<dateBuildStart type="string" default="unset">UTC Timestamp of when the build phase started </dateBuildStart>
<dateBuildFinish type="string" default="unset">UTC Timestamp of when the build phase finished</dateBuildFinish>
<dateCopyFilesStart type="string" default="unset">UTC Timestamp of when the CopyFiles phase started </dateCopyFilesStart>
<dateCopyFilesFinish type="string" default="unset">UTC Timestamp of when the CopyFiles phase finished</dateCopyFilesFinish>
<datePostStart type="string" default="unset">UTC Timestamp of when the postbuild phase started </datePostStart>
<datePostFinish type="string" default="unset">UTC Timestamp of when the postbuild phase finished</datePostFinish>
</ElapsedTimes>
<Machine type="hash">
<!--"Machine" is a hash array indexed by machine name-->
<strName type="string">machine name</strName>
<strStatus type="string" default="idle">idle,busy,waiting</strStatus>
<strLog type="string">Contents of detailed log for this machine</strLog>
<Enlistment type="array">
<!--"Enlistment" is an array of known enlistments on the machine (given in env. template)-->
<strRootDir type="string">Root directory of enlistment (e.g. d:\newnt)</strRootDir>
<strBinaryDir type="string">Place where built binaries get put (e.g. d:\binaries.*)</strBinaryDir>
<DepotInfo type="array">
<!--"DepotInfo" is an array of depots in this enlistment-->
<strName type="string">Human readable name of depot (left side of sd.map list)</strName>
<strDir type="string">Directory name for this depot (right side of sd.map list)</strDir>
</DepotInfo>
</Enlistment>
<strBuildPassStatus type="string">"busy[0,1,2]", "wait[1,2]"</strBuildPassStatus>
<fSuccess type="boolean" default="true"></fSuccess>
</Machine>
<Depot type="array">
<!--"Depot" is an array of depots for the build. It contains the depots that are actually performing tasks.-->
<strName type="string">Name of depot (DepotInfo.strName)</strName>
<UpdateCount>
<!--"UpdateCount" Number which is incremented any time this depot object or its tasks are changed.-->
<nCount type="number" default="1"></nCount>
</UpdateCount>
<strDir type="string">Directory of depot (DepotInfo.strDir)</strDir>
<strPath type="string">Full path of depot's root directory</strPath>
<strStatus type="string" default="not started">not started,syncing,building,postbuild,waiting,error</strStatus>
<strMachine type="string">Name of the machine building this depot</strMachine>
<nEnlistment type="number" default="-1">index of enlistment in machine's enlistment array</nEnlistment>
<Task type="array">
<!--"Task" is an array of tasks currently or previously performed in this depot-->
<strName type="string">sync,build,postbuild</strName>
<nID type="number" default="-1">Machine-unique ID for this task. Must be valid after it has completed</nID>
<dateStart type="string">Date object giving the start time of the task</dateStart>
<dateFinish type="string">Date object giving the finish time of the task</dateFinish>
<strOperation type="string">Sync:sync,resolve; Build:pass0,compile,link; PostBuild: ???</strOperation>
<strStatus type="string" default="not started">not started,in progress,completed,waiting</strStatus>
<fSuccess type="boolean" default="true">Indicates success or failure of task. Should be used instead of cErrors to determine error status.</fSuccess>
<nRestarted type="number" default="0">The number of times an operation was automatically restarted.</nRestarted>
<cFiles type="number">Count of sync'd files</cFiles>
<cResolved type="number">Count of resolved files</cResolved>
<cWarnings type="number">Warning count</cWarnings>
<cErrors type="number">Error count</cErrors>
<strLogPath type="string">UNC path to detailed log file</strLogPath>
<strErrLogPath type="string">UNC path to log file containing only detailed error information</strErrLogPath>
<strFirstLine type="string">First line of error message in UI status</strFirstLine>
<strSecondLine type="string">Second line of error message in UI status</strSecondLine>
</Task>
</Depot>
</Build>
</PublicDataObj>
<PrivateDataObj>
<!--"PrivateDataObj" is the type of the PrivateData property. This is used to share data between threads but will not be seen by others-->
<fileLog type="object">General logfile which logging information is written to</fileLog>
<fEnableLogging type="boolean" default="false">Enable/Disable writing logmsgs to the logfile.</fEnableLogging>
<objConfig type="object">Config data read from configuration template</objConfig>
<objEnviron type="object">Environment data read from environment template</objEnviron>
<fnExecScript type="object">Pointer to function to delegate calls to exec to. Will vary depending on mode engine is running in.</fnExecScript>
<Util>
<!--"Util" is function pointers and other data used by the utility thread.-->
<fnLoadXML type="object">Pointer to function which will load an XML file into an object</fnLoadXML>
<fnUneval type="object">Pointer to function which will convert any JScript data type into a string</fnUneval>
<fnDeleteFileNoThrow type="object">Pointer to function to delete files without throwing errors</fnDeleteFileNoThrow>
<fnMoveFileNoThrow type="object">Pointer to function to move files without throwing error </fnMoveFileNoThrow>
<fnCreateFolderNoThrow type="object">Pointer to function to make folders without throwing error </fnCreateFolderNoThrow>
<fnDirScanNoThrow type="object">Pointer to function to scan a folder (for files) without throwing error </fnDirScanNoThrow>
<fnCopyFileNoThrow type="object">Pointer to function to copy files without throwing error </fnCopyFileNoThrow>
<fnCreateHistoriedFile type="object">Pointer to function create files with a history of numbered files</fnCreateHistoriedFile>
<fnCreateNumberedFile type="object">Pointer to function create a file with an increasing index</fnCreateNumberedFile>
<unevalNextID type="number" default="0">Used by the Uneval function to get unique IDs for objects being stringized</unevalNextID>
</Util>
<dateErrorMailSent type="number">Time that we last sent out an error message</dateErrorMailSent>
<fIsStandalone type="boolean" default="false">True if the machine is operating in standalone mode</fIsStandalone>
<Publisher type="hash">
<!--"Publisher" is a hash by slave machine name-->
<PublishEnlistment type="hash">
<!--"PublishEnlistment" is hash by enlistment path-->
<PublishedFile type="array">
<!--"PublishedFiles" is the array of filenames-->
<strPublishedStatus type="string" default="not yet copied">"not yet copied", "duplicate", "copy to master", "copy to slaves", "complete"</strPublishedStatus>
<strName type="string"/>
</PublishedFile>
<strSrcUNCPrefix type="string"/>
</PublishEnlistment>
</Publisher>
<PublishedFiles type="hash">
<!--"PublishedFiles" is a hash by filename of the files to be published-->
<aReferences type="array">array of DepotInfo </aReferences>
</PublishedFiles>
<aDepotList type="array">Array of depots giving names of all known depots</aDepotList>
<RemoteMachine type="hash">
<!--"RemoteMachine" is a hash array indexed by machine name-->
<fSetConfig type="boolean" default="false">Determines if we have succeeded in doing a "setconfig" command to a slave machine.</fSetConfig>
<fRegistered type="boolean" default="false">Determines if we have succeeded in doing a "RegisterEventSource" to a slave machine.</fRegistered>
<objRemote type="object">Only valid on master side, handle to remote mtscript</objRemote>
</RemoteMachine>
<EnlistmentInfo type="array">
<!--Array of environments for each enlistment for this machine-->
<EnvObj type="hash"><!--the environment variables from razzle --></EnvObj>
</EnlistmentInfo>
<strLogDir type="string">Directory location where log files should be placed</strLogDir>
<aStringMap type="array">Array of string mappings received from setstringmap - used for sending to slaves</aStringMap>
<RemotePublicDataObj type="hash"><!--Hash by machine name, a copy of the public data from each remote build machine--></RemotePublicDataObj>
</PrivateDataObj>
</Types>