依赖网络

一个由依赖关系链接的任务列表。要运行一个任务,你需要调用它的依赖项,并运行这些任务作为先决条件。

构建软件系统是软件开发人员常遇到的困境。在不同的阶段,你可能想做各种事情:仅仅编译程序,或者运行测试。如果你想运行测试,你需要先确保你的编译是最新的。为了编译,你需要确保你已经执行了一些代码生成。

依赖网络将功能组织成一个有向无环图 (DAG),其中包含任务及其对其他任务的依赖关系。在上面的例子中,我们会说测试任务依赖于编译任务,而编译任务依赖于代码生成任务。当你请求一个任务时,我们首先找到它所依赖的任何任务,并确保它们在需要时首先执行。我们可以遍历依赖网络,以确保执行请求任务所需的所有先决条件任务。我们还可以确保即使一个任务通过不同的依赖路径多次出现,它也只执行一次。

有关更多详细信息,请参阅 DSL 书籍第 49 章

DSL 目录