在插件文件中定义任务组和任务的依赖项
向插件文件添加任务组或任务时,您必须以正确的顺序进行添加,并在成功完成其他任务组或任务后声明该任务组或任务所具有的任何依赖项。 一个任务可以依赖于其他任务,要求必须完成这些其他任务才能运行主要任务。 例如,在创建工作项类型的所有任务成功完成之后,才能运行创建工作项查询的任务。 因此,上载工作项查询的任务依赖于上载工作项类型的任务。
必需的插件和插件依赖项
下图显示了为 Team Foundation Server (TFS) 过程模板定义的依赖关系。 如图中所示,工作项跟踪插件依赖于组和权限插件是否成功完成,而后者又依赖于分类插件是否成功完成。 测试管理和版本控制插件均依赖于前三个插件是否完成。 生成、实验室、报告和门户网站插件均依赖于版本控制插件是否成功完成。
提示
如果在每个插件文件中按照依赖关系的相同顺序来定义任务组和任务,则可以更轻松地读取文件和消除依赖项问题。
依赖项可用于指示在**“新建团队项目向导”**中运行插件的顺序。 某些插件始终依赖于其他插件。 同时,并非所有插件都是过程模板所必需的。
下表确定了哪些插件依赖于其他插件。 只有分类插件是必需的。 所有其他插件都是可选的。 有关每个插件的更多信息,请参见过程模板文件概述。
插件 |
依赖插件 |
---|---|
Build |
Groups、VersionControl |
Classifications |
无 |
Groups |
Classifications |
Lab |
Build、Classifications、Groups、WorkItemTracking |
Portal |
Classifications、Reporting、VersionControl 和 WorkItemTracking |
Reporting |
Classifications、VersionControl 和 WorkItemTracking |
TestManagement |
Classifications、Groups 和 WorkItemTracking |
VersionControl |
Classifications、Groups 和 WorkItemTracking |
WorkItemTracking |
Classifications 和 Groups |
定义任务组依赖项
在任务和组中使用依赖项元素可以指示存在依赖项的情况。 下面的示例演示如何使用依赖项元素来指定 WorkItemTracking 任务组依赖于 Classification 和 Groups 任务组。
<group id="WorkItemTracking"
description="Workitem definitions uploading."
completionMessage="Workitem definitions uploaded.">
<dependencies>
<dependency groupId="Classification"/>
<dependency groupId="Groups"/>
</dependencies>
<taskList filename="WorkItem Tracking\WorkItems.xml"/>
</group>
备注
GroupId 元素引用其他组中的 ID 元素值。
下表介绍了用于定义任务组依赖项的元素。 有关如何定义任务组的更多信息,请参见 过程模板 XML 元素引用。
元素 |
语法 |
说明 |
---|---|---|
dependencies |
|
group 的必需子元素。 指定某个组所依赖的其他组。 |
dependency |
|
dependencies 的可选子元素。 指定该组依赖的其他任务组的 ID。 该组只有在其他组完成其任务后才能启动。 |
定义任务依赖项
下面的示例演示了如何使用 dependency 元素指定 WorkItems 任务依赖于 ID 为“WITs”的任务。
<task
id="WIs"
name="WorkItems"
plugin="Microsoft.ProjectCreationWizard.WorkItemTracking"
completionMessage="Work items uploaded"
completionDescription = "Processing the actual work items used by work item tracking">
<dependencies>
<dependency taskId="WITs" />
</dependencies>
下表介绍了用于定义任务依赖项的元素。 有关如何定义任务的更多信息,请参见定义用于处理插件的任务。
元素 |
语法 |
说明 |
---|---|---|
dependencies |
|
task 的可选子元素。 指定某个任务所依赖的其他任务。 |
dependency |
|
dependencies 的可选子元素。 指定此任务所依赖的其他任务的 ID。 其他任务必须先完成其任务,然后此任务才能启动。 |