本次优化的策略是跳过task来节省时间,例如文档包和源码包,因此,如果您的目标是拿到最新jar包,那么这种手段适合您,如果您想拿到包括文档、源码等在内的所有构建资源,那么这种方式就不适合了;
原文地址:https://blog.csdn.net/boling_cavalry/article/details/80873343
先列举一下软硬件环境信息: 1. 硬件:i5-8400,16G(DDR4-2667MHz),SSD128G 2. 操作系统:win10 64位 3. JDK:1.8.0_171 4. Gradle:2.14.1 5. IntelliJ IDEA:2018.1.5 6. spring-framework源码:4.1.8.RELEASE
注意,windows下编译spring-framwork4.1源码请参考《Win10环境编译spring-framework4.1.9版本,报错”Failed to capture snapshot of input files for task ‘distZip’”》进行修改,否则会构建失败;
下载后并导入到IEDA之后,如果不调整build.gradle脚本就直接编译,耗时16分43秒,如下图:
现在我们来修改build.gradle文件,去掉一些与jar包构建无关的task;
- 找到configure(subprojects - project(“:spring-build-src”)),在这个方法的结尾处有如下代码:
artifacts {
archives sourcesJar
archives javadocJar
}
改成下面这样,也就是将大括号内的两行都注释掉
代码语言:javascript复制artifacts {
//archives sourcesJar
//archives javadocJar
}
2. 找到configure(rootProject),在这个方法的结尾处有如下代码:
代码语言:javascript复制artifacts {
archives docsZip
archives schemaZip
archives distZip
}
改成下面这样,也就是将大括号内的三行都注释掉
代码语言:javascript复制artifacts {
//archives docsZip
//archives schemaZip
//archives distZip
}
3. build.gradle修改完毕,可以再次构建了,记得使用-x test参数跳过测试,操作如下图:
4. 如下图所示,仅用1分59秒就完成构建,去子工程的build目录发现所需jar包构建成功(例如spring-framework-4.1.8.RELEASEspring-contextbuildlibs):
5. 为了保证数据准确,每次build之前已经做过clean操作;