专栏首页CWIKIUSGradle 概述
原创

Gradle 概述

Gradle 是一个开源的构建自动化(build automation)工具。有关构建自动化的定义请参考:https://en.wikipedia.org/wiki/Build_automation。同时 Gradle 被设计得足够灵活可以被用来构建几乎任何类型的软件。

下面的一些特性是从宏观上来对 Gradle 的一些特性进行阐述:

高性能

Gradle 通过运行需要运行的任务来避免不必要的工作。因为输入和输出可能会改变。你还可以通过启用构建缓存来让上一次构建运行的状态可以被重用,甚至你可以在不同的机器上这样做(通过共享构建缓存)。

同时 Gradle 还有很多优化的实践,Gradle 开发小组坚持开发使用来提高 Gradle 的性能。

基于 JVM

Gradle 是运行在 JVM 虚拟机上的,所以你的机器必须要安装 JDK。针对使用 Java 平台的用户来说,这会带来非常大的好处,这些用户可以在他们的构建(build)逻辑中使用标准的 Java API。包括使用自定义任务类型和插件。同时也能够让 Gradle 更加容易的在其他平台上运行。

请注意,Gradle 并不仅仅限制于构建 JVM 项目,甚至被打包用来支持构建原生项目。

可转换

针对 Java 项目,Gradle 去掉了 Maven 的很多繁琐功能,能够更加容易的实现 Maven 的转换。通过引用合适正确的插件,你可以为你的项目减轻构建脚本的复杂性。

但是这些转换并不是为了局限你的使用:Gradle 运行你对它们进行重载(override),添加你的自定义任务,为你基于转换的项目提供更多的自定义功能。

可扩展

你可通过提供你自己的任务类型或者构建模型来对 Gradle 进行扩展。请参考针对 Android 的构建支持为样本的示范:可能会添加一些新的构建概念,例如 flavors 和 build types。

支持 IDE

一些主流的 IDE 都能够允许你导入 Gradle 的构建同时能够对其进行转换:Android Studio, IntelliJ IDEA, Eclipse 和 NetBeans。同时 Gradle 也能够支持创建导入Visual Studio 项目需要的 solution 文件。

自扫描和修复

构建扫描(Build scans)提供了一个帮助你识别构建错误和问题的扩展工具。同时这个工具也能够更好的帮助你识别和找到可能存在的构建性能问题。

你也可以和其他的用户分享你的构建扫描,这个分享功能在你希望获得其他开发人员帮助的时候就非常有用和高效。

https://www.cwiki.us/display/GradleZH/What+is+Gradle

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Gradle 的项目导入到 IntelliJ 后子项目源代码不能导入

    HoneyMoose
  • Spring Boot 针对 Java 开发人员的安装指南

    Spring Boot 可以使用经典的开发工具或者使用安装的命令行工具。不管使用何种方式,你都需要确定你的 Java 版本为 Java SDK v1.8 或者更...

    HoneyMoose
  • Confluence 6 在一个空间中查看所有附加的文件 原

    https://www.cwiki.us/display/CONF6ZH/Manage+Files

    HoneyMoose
  • Gradle和Maven性能对比

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    乐百川
  • MAC上使用Android Studio 3.0的Gradle问题小解

    2017-06-11 by Liuqingwen | Tags: Android Gradle | Hits

    IT自学不成才
  • 说实话,用完Gradle之后,有点嫌弃Maven了。贼好用!

    相信使用 Java 的同学都用过 Maven,这是一个非常经典好用的项目构建工具。但是如果你经常使用 Maven,可能会发现 Maven 有一些地方用的让人不太...

    用户6543014
  • 在Eclipse中使用Gradle开发web3j以太坊应用

    在我们的web3j以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告...

    笔阁
  • SAP Hybris安装包里自带的Maven和Gradle

    Wrapper是对Gradle的包装, 确保团队开发过程中使用统一的Gradle版本。

    Jerry Wang
  • 看似无用,实则重要的Gradle Wrapper

    在本系列的此前文章中,我们学习了为什么要用Gradle、Gradle的入门基础和Groovy的基础,这些文章为Gradle的入门打下了基础,这一篇我们接着学习G...

    用户1269200
  • Gradle 提速:每天为你省下一杯喝咖啡的时间

    作为一名 Android 开发同学,当你的工程和代码达到一定规模的时候,相信你一定遇到过编译速度过慢的问题。比如:

    我就是马云飞

扫码关注云+社区

领取腾讯云代金券