Gradle学习

本文详细介绍了Gradle构建工具的基本概念,包括其基于Groovy的DSL语法、核心组件Project和Task的功能与用法,以及如何通过Plugin扩展Gradle的功能。同时,文章还探讨了Gradle的依赖管理和自定义配置。
摘要由CSDN通过智能技术生成

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。 它使用一种基于Groovy的特定领域语言(DSL)来声明项目配置,真正起作用的是Plugin,Gradle默认提供了许多常用的Plugin,如构建Java项目的Plugin、War、Ear等。
Gradle面向Java应用为主,支持语言:Java、Groovy、Kotlin和Scala。

1、Gradle本身的领域对象:Project、Task。

  • Project
    1. Project本质上说是具有多个Task的容器;
    2. Project为Task提供了执行上下文,所有的Plugin要么向Project中添加用于配置的Property,要么向Project添加不同的Task。
  • Task
    1. 一个Task表示一个逻辑上较为独立的执行过程,比如编译Java源代码、拷贝文件、打包jar,设置可以是执行一个系统命令或者调用Ant。
    2. 所有的Task都存放在Project的TaskContainer中。
    3. 一个Task可以读取和设置Project的Property以完成特定操作。
    4. Task可以显示声明类型,如Copy
    5. Task之间可以存在依赖关系,使用dependsOn声明
      task taskA(dependsOn: taskB) { //do something }
    6. Gradle默认提供的Task包含:查看Project的Properties(properties)、显示当前定义的所有Task(tasks)、 dependencies、projects

备注:默认情况下,Gradle将当前目录下的build.gradle作为项目的构建文件。

2、Task
2.1 Task创建
(1)调用Project的task()方法创建Task;
(2)通过TaskContainer的create()方法创建Task:tasks.create(){}
(3)声明Task之间的依赖关系:定义时声明或者定义Task后再声明依赖;
(4)配置Task的Property:定义时配置、闭包方式配置、调用Task的configure()方法完成设置。

2.2 Task执行
(1)Gradle是一种声明式的构建工具。执行Task分为两个阶段:配置阶段、实际执行阶段。
(2)配置阶段:读取所有build.gradle文件的所有内容来配置Project和Task,如设置Property、处理Task之间的依赖关系。

3、Project
3.1 Gradle默认下为Project定义的Property:

  • project:Project本身
  • name:Project的名字
  • path:Project的绝对路径
  • description:Project的描述信息
  • buildDir:构建结果存放路径
  • version:版本号

3.2 自定义Project的Property

  1. 在build.gradle中定义Property:通过ext.XXX定义,可以直接访问
  2. 通过命令后参数设置Property:通过命令行-PXXX传入
  3. 通过JWM系统参数定义Property:通过命令行-Dorg.gradle.project.XXX传入
  4. 通过环境变量设置Property:定义环境变量的时候,每一个Property需要以ORG_GRADLE_PROJECT_XXX定义,如export ORG_GRADLE_PROJECT_XXX=“XXX”。

4、Plugin相关的概念
(1)gradle的每一个sourceSet都包含有一个名字、一个名为java(Java源文件集合)的Property、一个名为resources(资源文件集合)的Property。 2(3)Gradle会自动为每一个新创建的source set创建相应的Task:compileJava、processResources和Classes这3个Task。

5、Gradle依赖管理
Gradle的依赖仓库配置:repositories,支持Maven、Ivy、本地文件。
每一组依赖称为一个Configuration。

转载于:https://www.cnblogs.com/amyzhu/p/8366926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值