第二十天:Gradle task graph

Gradle 的其中一个强大特点,就是它了解任务间的相依性,可以在核心建立出图或树。这对於开发者来说非常棒,因为我们只需要将关注点专注在我们的主要任务上,相依的其他任务都会由 Gradle 帮我们自动执行。

任务及任务相依

一个 Gradle 任务就是在 Build 里面需要被完成的单元,几个比较常见的例子像是:

  • compileJava 任务可以编译程序码
  • jar 任务可以建立 jar 档案
  • build 任务可以建置整个专案

Gradle task graph

任务图是由 Gradle 构建中任务之间的所有依赖关系形成的结构。继续我们在应用了 java 插件的项目中构建任务的范例,其任务图如下所示。

您在这里看到的是构成构建任务的所有不同任务。虚线表示任务之间的依赖关系。所以看上面的部分,build 依赖於 assemble,它依赖於 jar,它依赖於类,它依赖於 compileJava 和 processResources。

理解任务图结构的好处是:

  • 你可以在其中运行任何你想要的任务:如果你只需要创建一个 jar 文件,就不需要运行 build 来运行测试。这可以节省您的时间,因为运行较少的任务通常会更快。
  • 它可以帮助调试与任务相关的问题:如果你有一个复杂的任务图,也许有你自己的自定义任务,那麽理解任务图是解决“为什麽 myAwesomeTask 没有运行?”等问题的关键。

参考资料


<<:  离职倒数6天:把事业分解成几个必然的选择题,是成功学的陷阱

>>:  D24 第九周 php 留言板作业的心得之二

赌场也有打烊的时候 - 盘後回测

写好 tick 交易策略之後,需要回测一下当天的买卖进出点是否正确 ticks = api.tick...

Powershell 入门之逻辑判断(上)

昨天我们已经讲了 Powershell 的逻辑运算,今天我们就来看看,Powershell 的逻辑判...

【第二十三天 - XSS Lab(2)-1】

Q1. XSS Lab(2)-1 建议也可以看 XSS Lab(1) 文章,alert() 与 pr...

云端资安之AWS篇

今天要谈的是AWS(Amazon Web Services)云端服务, 这个也是众多云端服务当中,我...

33岁转职者的前端笔记-DAY 23 JavaScript 变数与型别

Nan => Not a Number,要判断是不是NaN要用:isNaN(); 注意自动转...