Gradle学习(十五)——增量构建

本文详细介绍了Gradle的增量构建特性,包括任务的输入输出、自定义任务类型、运行时API、任务输入输出的额外福利,以及增量构建的工作原理和进阶技术。通过示例展示了如何定义输入输出以实现增量构建,从而提高构建效率,避免不必要的重复工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处:http://blog.youkuaiyun.com/lastsweetop/article/details/79025517

任何构建工具最重要的一个功能就是防止做重复工作。例如对于编译进程来说,如果已经执行了一次编译,那么就不需要再进行第二次,除非发生了一些会影响输出的操作,比如源代码改了或者输出被删掉了,编译会消耗很多时间,如果没必要去的情况下跳过这步就会节省很多时间。

Gradle是通过增量构建的特性来支持这个功能的,我们来详细了解一下

任务的输入输出

在通常情况下,任务接收一些输入然后产生一些输出。如果用编译的例子来讲,比如java的编译,它会接收一些源文件作为输入,然后产出class文件作为输出,还有一些输入,比如可以指定是否包含日志文件。

就像上图看到的一样,输入最重要的特征就是可以影响一个或者多个输出。依赖于源代码和源码所跑在的java运行时的版本都会影响字节码的生成,这些都算输入。但是比如memoryMaximumSize指定的编译时最大内存的大小是不会影响最终字节码生成的,如果按Gradle的术语,memoryMaximumSize应该叫做内部任务属性

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值