.load [-o] [-e] [-v] [-j] [<relativer_pfad>/]<dateiname>
.load -r|-p <registername>
.load -s `<befehlsname>`
Mit dem Befehl .load können Projekte aus einer XML-Datei geladen und dem aktuellen Projekt Schritte aus den geladenen Projekten hinzugefügt werden, und zwar nach dem Schritt, in dem dieser Befehl ausgeführt wurde. Damit haben Sie für ein Projekt die Möglichkeit, Schritte während der Laufzeit dynamisch zu erstellen und zu laden. Mithilfe von Optionen kann als Datenquelle für den Befehl .load ein Register oder die Ausgabe eines Befehls angegeben werden.
Die Erstellung einer XML-Datei für einen .load-Befehl erfolgt auf Basis einer Exportdatei aus einem vorhandenen Projekt, sodass die entsprechende Basisstruktur vorhanden ist. Sie können auch ein Projekt im System erstellen und exportieren, um es in einem .load-Befehl zu verwenden. Dieser Abschnitt enthält auch XML-Mustercode.
Die mit dem Befehl .load geladenen Schritte können Verweise auf integrierte oder verkettete Projekte enthalten. Standardmäßig sucht das System in der XML-Datei nach den Definitionen integrierter Projekte und lädt deren Schritte. Hinweise, wie das System die Definition integrierter Projekte aus der Datenbank abrufen kann, finden Sie in der Beschreibung der Option -e weiter unten in diesem Thema. Für Projekte, die bei erfolgreicher oder fehlgeschlagener Ausführung aufgerufen werden, sucht das System immer in der Datenbank nach der Projektdefinition.
Da vom System integrierte Projekte zusammen mit den aufrufenden Projekten exportiert werden, kann eine XML-Datei auch mehrere Projekte enthalten. Mit dem Befehl .load wird das in der Datei als primär gekennzeichnete Projekt ausgeführt. Dieses Projekt enthält in seinem <project>-Element das Attribut primary="1".
.load ../../project.xml
wird beispielsweise die Datei project.xml aus dem Serververzeichnis (dem Verzeichnis, das die Projekt- und Vorgangsverzeichnisse enthält) geladen. Dabei wird davon ausgegangen, dass "/" (Standardwert) die Pfadeigenschaft des Schritts ist.
.load -r|-p <registername>
Bei Angabe der Option -r werden die Schritte aus einem normalen Register, bei Angabe der Option -p aus einem Projektregister geladen. Sie können Daten bei der Ausführung früherer Projektschritte in einem
Register erfassen und die Schritte anschließend mit diesem Befehl aus
dem Register laden..load -s `<befehlsname>`
Bei dem folgenden Beispiel handelt es sich um eine XML-Datei, die mit dem Befehl .load verwendet wird. Diese XML-Datei wurde durch den Export eines Projekts mit der Bezeichnung "HelloWorldPlusInline" erstellt.
bfexport -l
<?xml version="1.0" encoding="UTF-8"?>
<buildforge schema="7.115014" comment="">
<project access="6" active="Y" name="HelloWorldPlusInline" primary="1" selectorId="Choose_local" maxthread="0" increment="Y" tagsync="0" buildclass="Production" sticky="N" envId="0" tag="BUILD_$B" id="19" exclusive="0">
<tagvar autoincrement="Y" name="B" id="1">2</tagvar>
<step absolute="N" failwait="N" selectorId="" dir="/" broadcast="N"
timeout="300" id="1" passwait="N" inline="N" threadable="N" chainId="2"
access="6" active="Y" passnotify="0" description="EchoHelloWorld" onfail=" "
failnotify="0" envId="0" commandStore="echo Hello World">
<command>echo Hello World</command>
</step>
<step absolute="N" failwait="N" selectorId="" dir="/" broadcast="N"
timeout="300" id="2" passwait="N" inline="N" threadable="N" access="6"
active="Y" passnotify="0" description="export proj to build and server folders"
onfail=" " failnotify="0" envId="0"
commandStore=".export $BF_PROJECTNAME_PHYS.xml copy /Y $BF_PROJECTNAME_PHYS.xml ..\..">
<command>.export $BF_PROJECTNAME_PHYS.xml
copy /Y $BF_PROJECTNAME_PHYS.xml ..\..</command>
</step>
</project>
<project access="6" active="Y" name="Sleepytime" primary="0"
selectorId="Choose_local" maxthread="0" increment="Y" tagsync="0"
buildclass="Production" sticky="N" envId="0" tag="SLEEP_$B" id="2" exclusive="0">
<tagvar autoincrement="Y" name="B" id="1">21</tagvar>
<step absolute="N" failwait="N" selectorId="" dir="/" broadcast="N"
timeout="300" id="1" passwait="N" inline="N" threadable="N" access="6"
active="Y" passnotify="0" description="Sleep, perchance to dream" onfail=" "
failnotify="0" envId="0" commandStore=".sleep 0">
<command>.sleep 0</command>
</step>
</project>
<class maxdays="0" access="1" entranceprojectId="1" name="Production" keepfiles="B"
deletechangedata="N" purgeprojectId="2" exitProjectId="5" candidates="AnyBuild "
maxbuilds="0"></class>
<selector operator="" required="" access="6" value="" name="Choose_local"
selectorId="" property=""></selector>
</buildforge>