.load [-o] [-e] [-v] [-j] [<relative_path>/]<filename>
.load -r|-p <registername>
.load -s `<命令名>`
.load 命令从 XML 文件装入项目,并将所装入项目的步骤添加到当前项目中,运行了 .load 命令的步骤执行完毕后,将允许项目在运行时动态创建和装入步骤。您可以通过使用选项使 .load 命令从寄存器或从命令的输出提取其数据。
要为 .load 命令编写 XML 文件,请首先使用来自现有项目的导出文件来提供适当的基本结构。还可以在系统内创建项目,然后将其导出以便在 .load 命令中使用。本主题包含示例 XML 代码。
.load 命令装入的步骤可以包含对内联或已连接项目的引用。缺省情况下,系统在 XML 文件内查找内联项目的定义并装入这些项目的步骤;请参阅本主题后面部分的 -e 选项以了解让系统从数据库获取内联项目定义的方法。 无论对通过链式项目还是失败链式项目,系统始终在数据库中查找项目定义。
由于系统将内联项目随其调用方项目导出,因此 XML 文件可能包含若干项目。.load 命令运行在文件中标注为主项目的项目。该项目在其 <project> 元素中具有属性 primary="1"。
.load ../../project.xml
将从服务器目录(包含项目和作业目录的目录)装入文件 project.xml,假定步骤的路径属性为“/”(缺省值)。
.load -r|-p <registername>
-r 选项从普通寄存器装入步骤,而 -p 选项则从项目寄存器装入步骤。可以在项目前面的步骤中,在寄存器内构建数据,然后使用此命令从寄存器装入步骤。.load -s `<命令名>`
下面的示例显示要与 .load 命令一起使用的 XML 文件。该 XML 文件是通过导出名称为 HelloWorldPlusInline 的项目创建的。
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>