近期我们都在讨论build系统,我们看了一些技巧能够让你的Maven build更快。
结论和反映都势不可挡。由于我们提供的技巧,很多其它的人都非常高兴能加快他们完毕自己的项目。如今,让我们看一下怎么处理gradle编译项目。
编译的项目一般都是标准编译的,也都是独一无二的。差点儿全部的项目都添加了其自身的复杂性。
全部的东西都不同可是有一个东西是相同的:编译会占用你的时间,加快编译会影响你的开发效率,让你的项目工作更加顺畅。
事不宜迟,让我们来看看什么是Gradle。和它的理念:
加速Gradle编译
这篇文章主要是由Squeezing the Last Drop of Performance Out of Your Gradle Builds.Madis是JRebel的Androidproject师,所以假设你是一个搞Android的,我建议你应该试一下。Madis热衷于这些,可是你不会观察到有关他太多。
对于一个測试项目我们用Madis用过的代码:一个Android项目demo iosched(http://github.com/google/iosched)。不要害怕。gradle对于Android项目和你的Java项目是一样的。
这意味着我给你的建议相同适用于你其它的项目的环境。
所以你相同也能用这些技巧去加速你的JAVA项目编译。
在開始优化之前,我们首先须要理解一下Gradle的生命周期。它被拆分为3个不同阶段:
初始化:扫描项目,找出哪些内容须要被编译
配置:运行build.gradle脚本,创建任务图
运行:构建你APP实用的部分
如今你是不是头痛了?确实有一个实用的阶段。我们或许能够在我们自己的编译脚本加快,Gradle全然运行自私的任务:配置本身和实施运行开销。
在这篇文章中。我们将首先集中精力降低构建的开销之前,我们尽量使构建本身更快。
让我们開始一步优化构建步骤,同一时候測量进度。假设你想自己运行 iosched,从GitHub得到它,就像这样:
git clone http://github.com/google/iosched
cd ioshed
如今我们准备去克隆了!
让我们用手中典型的开发环境用gradle去build这个APP来获取依赖。
再次编译我们的项目,可是用dry-run(能够