Gradle 6.6 发布了!!!
Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。
此版本最大亮点是引入了一个实验性选项:配置缓存(Configuration caching),它是一个主要的性能优化特性,可以使 Gradle 跳过构建的配置阶段,并尽快开始执行任务。
配置缓存在运行任何任务之前,Gradle 需要运行配置阶段。当前,这是在每次构建调用时完成的,并且会产生大量的开销,尤其是在大型项目中。
配置缓存通过缓存配置阶段的结果并将其重新用于后续构建,从而可以显著提高构建性能。使用配置缓存,Gradle 可以在不影响构建配置的任何内容发生变化的情况下完全跳过配置阶段,如下所示:
此外,启用配置缓存后,Gradle 能够优化任务执行,并默认情况下并行执行更多任务。如果你想深入学习 Gradle,关注微信公众号互联网架构师在后台回复2T可以获取一份完整教程。
目前该特性处于高度试验阶段,默认情况下不启用或建议用于生产环境。可以通过--configuration-cache在命令行上提供参数或将其添加到运行配置中来启用此实验特性。
标准化的运行时类路径改善缓存命中率对于最新检查和构建缓存,Gradle 需要确定两个任务输入属性是否具有相同的值。为此,Gradle 首先将两个输入标准化,然后比较结果。
现在,运行时类路径分析将检查清单META-INF文件和属性文件,而忽略对注释、空格和顺序差异的更改。此外还可以有选择地忽略不影响运行时类路径的属性。
normalization {runtimeClasspath {metaInf {ignoreAttribute("Implementation-Version")ignoreProperty("timestamp")}}
}
类路径上的任何 ZIP 文件被重新生成并且仅因不重要的值或注释而不同的情况下,将提高生成高速缓存命中的可能性。
这种规范化最有用的最常见情况是 JAR 文件,不过它也可以被应用于类路径上的任何 ZIP 文件,例如 AAR、WAR 和 APK 文件。
处理用户提供的凭证构建有时会要求用户提供凭据,例如,为了发布工件,可能需要凭证才能与工件存储库进行身份验证。将凭据保留在构建脚本之外是一个好习惯。
此版本提供了用于凭证的新 API,该凭证通过建立约定以使用Gradle 属性提供凭证来简化凭证的使用,Gradle 属性可以作为命令行参数、环境变量或gradle.properties文件中的值提供给构建环境。当 Gradle 知道某个时候该版本将需要凭证并且凭证已丢失时,它还会执行“快速失效”。
从此版本开始,可以轻松地将用于身份验证的凭证外部化到工件存储库:
repositories {maven {name = 'mySecureRepository'credentials(PasswordCredentials)// url = uri(<<some repository url>>)}
}
mySecureRepository将在 Gradle 属性中搜索名称为mySecureRepositoryUsername和mySecureRepositoryPassword的凭据。
同时还可以直接使用新的 provider API 向外部工具提供凭据:
tasks.register('login', Exec) {def loginProvider = providers.credentials(PasswordCredentials, 'login')inputs.property('credentials', loginProvider)doFirst {PasswordCredentials loginCredentials = loginProvider.get()// use credentials}
}
上面的凭据将在 Gradle 属性中使用名称loginUsername和loginPassword进行搜索。
此外,此版本还有其它改进,包括对 Java 编译 --release 标志的支持、文件系统监视的稳定性改进、依赖管理的改进,以及 bug 修复等,详情查看更新说明:https://docs.gradle.org/6.6/release-notes.html
文章转载自 OSCHINA 社区
地址:oschina.net/news/117987/gradle-6-6-released

关微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

重磅!!Gradle 6.6 发布,大幅提升性能!相关推荐

  1. Visual Studio 15 Preview 5 发布 大幅提升性能

    Visual Studio 15 Preview 5 发布了,该版本包括许多新的提升和 bug 修复. 微软发布了 Visual Studio 15 的第 5 个预览版本.据微软描述,Preview ...

  2. Gradle 6.6 发布,引入配置缓存特性,大幅提升构建性能

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  3. 华为今年不发布Mate系列新机;一加宣布与OPPO合并:将成为OPPO旗下独立品牌;Gradle 7.1 发布|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  4. 因财务造假,贾跃亭被罚 2.41 亿元;华为徐直军重申不造成:但将推子品牌汽车;Gradle 7.0 发布|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  5. 原美团联合创始人欲打造中国版 OpenAI ;ChatGPT 爆红惊动谷歌退隐创始人布林;Gradle 8.0 发布|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  6. 教育部文科计算机大赛,重磅!教育部官方发布2019受认可的全部竞赛名单

    原标题:重磅!教育部官方发布2019受认可的全部竞赛名单 刚刚,教育部正式发布了通过审核的全部2019年全国性竞赛活动,五大学科竞赛中的信息学竞赛暂时未出现在过审名单中. 这些过审的竞赛能够在2019 ...

  7. 华为今年不发布Mate系列新机;一加宣布与OPPO合并:将成为OPPO旗下独立品牌;Gradle 7.1 发布|极客头条

    一分钟速览新闻点! 荣耀回应未来是否会使用HarmonyOS系统:目前使用安卓 会关注鸿蒙发展 团队全面融合,一加将成为 OPPO 旗下独立品牌 华为今年不发布 Mate 系列新机 小米开源委员会主席 ...

  8. 招商头条:我国服务贸易重磅支持政策即将发布;广西签约61个项目1005亿元

    01产业政策 我国服务贸易重磅支持政策即将发布 2019年我国以服务贸易为重点的"二次开放"正式进入快车道,多项重磅支持政策有望近期集中发布.目前服务贸易领域的五大关键目录已经基本 ...

  9. 重磅官宣:Nacos2.0发布,性能提升10倍

    简介: ​Nacos2.0 作为一个跨代版本,彻底解决了 Nacos1.X 的性能问题,将性能提升了 10 倍. 作者:席翁 继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并 ...

  10. JavaCL 1.0.0-RC3 发布,性能大幅提升

    JavaCL 发布 1.0 的第三个 RC 版本,该版本除了 bug 修复之外,性能方面有着非常大的提升,同时支持 OSGi 绑定.详情请看这里. JavaCL 是一个封装了 OpenCL 图形API ...

最新文章

  1. android 设置textview中划线效果
  2. 6.28 头像预览:form方法和ajax方法
  3. thinkphp路由的作用
  4. 使用Linux自定义自动补全命令完善自己的shell脚本
  5. c++ 删除文件_win7 系统电脑C盘哪些文件可以删除掉?
  6. ppa java 8_通过 ppa 在ubuntu server 上安装java 8
  7. 网页特效offset、client、scroll系列属性的作用
  8. 写代码:实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则失败,失败时允许重复输入三次。...
  9. 在iPhone任何界面截图完整图文教程
  10. 变量太多太复杂该怎么得出结论?——SPSS因子分析操作的详细讲解与介绍
  11. linux终端下如何下载文件,Linux终端下载文件的方法有哪些?
  12. 物理量与单位符号的书写标准
  13. 哪个计算机无法做到双屏显示,如何实现笔记本电脑的双屏显示
  14. thinkadmin 各种回调的使用
  15. 1000瓶药中找出一瓶毒药,10只老鼠做试验
  16. autojs-造雾者-脚本合集实例(b64)源码
  17. 20+ Twitter开源软件精选
  18. YAML、YML在线编辑器(格式化校验)解析工具-toolfk.com
  19. scrapy 定时爬取小技巧
  20. 北京理工大学计算机调剂非全,北京理工大学信息与电子学院研究生调剂(非全日制)...

热门文章

  1. 设计模式入门-模板模式
  2. Maven打包时报Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war解决方案
  3. angular4学习记录 -- 依赖注入
  4. 《Redis实战》一2.2 使用Redis实现购物车
  5. [数据结构]二叉搜索树概念及基本操作
  6. Android Revolution
  7. [日志]怎样的男人才会讨美女喜欢?
  8. Artstudio Pro Mac(绘图与图片编辑软件)特别版
  9. 打开运行PS、AI等软件时卡在启动窗口的解决办
  10. Illustrator 教程,如何在 Illustrator 中使用图层组织内容?