• Gradle笔记系列(一)


    1、Gradle概述

      Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

    2、Gradle特性

    2.1 基于声明和约定的构建

      Gradle的核心在于基于Groovy丰富而又可扩展的特定领域描述语言(DSL)。Groovy通过声明性的语言元素将基于声明的构建推向下层,你可以按你想要的方式进行组合。这些元素同样也为支持Java、Groovy、OSGi、Web和Scala项目提供了基于约定的构建。并且,这种声明性的语言是可扩展的。你可以添加新的或增强现有的语言元素。因此,它提供了简明、可维护和易理解的构建。

    2.2 基于编程的语言依赖

      声明性语言优点在于通用任务图,你可以充分将其应用在构建中。它提供了最大限度的灵活性,以让Gradle适应你的特殊需求。

    2.3 构建结构化

      Gradle的灵活和丰富性最终能够支持在你的构建中应用通用的设计模式。 例如,它可以很容易地将你的构建拆分为多个可重用的模块,最后再进行组装,但不要强制地进行模块的拆分。 不要把原本在一起的东西强行分开(比如在你的项目结构里),从而避免让你的构建变成一场噩梦。 最后,你可以创建一个结构良好,易于维护,易于理解的构建。

    2.4 深度API

      Gradle允许你在构建执行的整个生命周期,对它的核心配置及执行行为进行监视并自定义。

    2.5 Gradle的可扩展性

      Gradle有非常良好的扩展性。 从简单的单项目构建,到庞大的多项目构建,它都能显著地提升你的效率。 这才是真正的结构化构建。通过最先进的增量构建功能,它可以解决许多大型企业所面临的性能瓶颈问题。

    2.6 多项目构建

      Gradle对多项目构建的支持非常出色。项目依赖是首先需要考虑的问题。 我们允许你在多项目构建当中对项目依赖关系进行建模,因为它们才是你真正的问题域。 Gradle遵守你的布局。

    2.7 多种方式管理依赖

      不同的团队喜欢用不同的方式来管理他们的外部依赖。 从Maven和Ivy的远程仓库的传递依赖管理,到本地文件系统的jar包或目录,Gradle对所有的管理策略都提供了方便的支持。

    2.8 Gradle是第一个构建集成工具

      Ant tasks是最重要的。而更有趣的是,Ant projects也是最重要的。 Gradle对任意的Ant项目提供了深度导入,并在运行时将Ant 目标(target)转换为原生的Gradle 任务(task)。 你可以从Gradle上依赖它们(Ant targets),增强它们,甚至在你的build.xml上定义对Gradle tasks的依赖。Gradle为属性、路径等等提供了同样的整合。

    2.9 易于移植

      Gradle能适应你已有的任何结构。因此,你总可以在你构建项目的同一个分支当中开发你的Gradle构建脚本,并且它们能够并行进行。 我们通常建议编写测试,以保证生成的文件是一样的。 这种移植方式会尽可能的可靠和减少破坏性。这也是重构的最佳做法。

    2.10 Groovy

      Gradle的构建脚本是采用Groovy写的,而不是用XML。 但与其他方法不同,它并不只是展示了由一种动态语言编写的原始脚本的强大。 那样将导致维护构建变得很困难。 Gradle的整体设计是面向被作为一门语言,而不是一个僵化的框架。 并且Groovy是我们允许你通过抽象的Gradle描述你个人的story的黏合剂。 Gradle提供了一些标准通用的story。这是我们相比其他声明性构建系统的主要特点。 我们的Groovy支持也不是简单的糖衣层,整个Gradle的API都是完全groovy化的。只有通过Groovy才能去运用它并对它提高效率。

    2.11 The Gradle wrapper

      Gradle Wrapper允许你在没有安装Gradle的机器上执行Gradle构建。 这一点是非常有用的。比如,对一些持续集成服务来说。 它对一个开源项目保持低门槛构建也是非常有用的。 Wrapper对企业来说也很有用,它使得对客户端计算机零配置。 它强制使用指定的版本,以减少兼容支持问题。

    2.12 自由和开源

      Gradle是一个开源项目,并遵循ASL许可。

    3、Gradle安装

      目前Gradle的最新版本是2.14,可以在Gradle官网下载:https://gradle.org/gradle-download/,Gradle的其它版本可以在http://services.gradle.org/distributions下载。这里我使用的是2.10版本(gradle-2.10-all.zip),下载后加压,设置环境变量GRADLE_HOME,添加GRADLE_HOME/bin到Path环境变量即可。在命令行执行gradle -v命令回车,出现下面结果说明Gradle安装成功。 

    ------------------------------------------------------------
    Gradle 2.10
    ------------------------------------------------------------

     

    Build time: 2015-12-21 21:15:04 UTC
    Build number: none
    Revision: 276bdcded730f53aa8c11b479986aafa58e124a6

     

    Groovy: 2.4.4
    Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
    JVM: 1.8.0_92 (Oracle Corporation 25.92-b14)
    OS: Windows 7 6.1 x86

    参考:

    http://gradledoc.qiniudn.com/1.12/userguide/overview.html#sec:special_feature_of_gradle

     

  • 相关阅读:
    iOS本机生成证书请求文件流程
    NET开发必备工具之-LINQPad
    css3 地球自转公转
    css3 里外转 动画
    css动画,三片扇叶旋转
    max-height、min-height、height优先级的问题
    前端实现在线预览pdf、word、xls、ppt等文件
    原生js实现上传下载
    js通过拍照或相册选择图片后,做压缩处理
    原生js 手机端 调用 拍照、录像、录音、相册(含图片或视频)、音频文件等
  • 原文地址:https://www.cnblogs.com/e007/p/5600954.html
Copyright © 2020-2023  润新知