Gradle 概述

Gradle 是一个基于 Ant 和 Maven 概念的项目自动化构建工具

使用一种基于 Groovy 的特定领域语言(DSL)来声明项目设置,抛弃了传统的基于 XML 的各种繁琐配置

1. Gradle 生命周期
  • Gradle 是基于编程语言的,开发人员可以自己定义任务(task)和任务之间的依赖,Gradle 会确保由顺序的去执行这些任务及依赖任务,并且每个任务只执行一次
  • Gradle 构建主要有以下三个不同的阶段
    1. 初始化阶段(Initialization)
      • Gradle 支持单个和多个项目的构建。Gradle 在初始化阶段决定哪些项目(project)参与构建,并且为每个项目创建一个 Project 类的实体对象
    2. 配置阶段(Configuration)
      • 在这个阶段配置每个 Project 的实例对象,然后执行这些项目脚本中的一部分任务
    3. 执行阶段(Execution)
      • Gradle 确定任务的子集,在配置界面创建和配置这些任务,然后执行任务
      • 这些子集任务的名称被当作参数传递给 Gradle 命令和当前目录,然后,Gradle 执行每一个选择的任务
2. 依赖管理

一个项目的依赖会包含自己的依赖。例如,Spring 的核心需要几个其他包在类路径中存在才能运行

  • Gradle 声明依赖的例子

    1
    2
    3
    4
    5
    6
    7
    8
    apply plugin: 'java'
    repositores {
    mavenCentral()
    }
    dependencies {
    compole group: 'org.hebernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version:'4.+'
    }
    • 声明了使用了 Java 插件
    • Gradle 依赖要在 Maven 中央仓库找
    • 需要 Hibernate core 3.6.7.Final 版本来编译,Hibernate core 和它的依赖在运行时是需要的
    • 需要 junit >= 4.0版本,并在测试时编译
  • Java 插件为 Gardle 添加的依赖关系和配置

    img

  • Gradle 依赖配置图

    img