Gradle Build Language Reference【Gradle构建语言参考文档】

1.简介

此文档目的在于介绍Gradle构建语言(DSL 动态脚本语言)的各种组成类型。

2.基础知识

以下内容是撰写Gradle脚本所必须理解的一些概念:

首先,Gradle脚本是一种【配置脚本】,在脚本运行的时候配置某种特定类型的对象。例如,当【构建脚本】(build.gradle)运行的时候,它配置的是一个Project类型的Object实例。这个Project实例被称为该脚本的代理实例对象(delegate object)。

下表展示的是每种类型Gradle脚本的代理:

脚本类型代理实例
构建脚本Project
初始化脚本Gradle
设定脚本Settings

在脚本内容中你可以设定代理实例的属性、方法。

其次,每个Gradle脚本都实现了Script接口,Script接口定义了Gradle脚本中可以使用的一系列属性和方法。


3.构建脚本的内容结构

一份构建脚本由一个或多个语句代码块构成。

语句运用于方法调用、变量赋值以及局部变量声明。

代码块则是一个把闭包(Groovy语言中的特殊概念,类似于Java中的回调接口)作为参数的方法调用。

闭包被当做代理实例运行时配置相关属性的【配置闭包】(个人理解为闭包专门配置一些构建脚本在运行的时候所需的一些属性)

代码块内容描述
allprojects{}配置当前Project及其所有子Project
artifacts{}配置当前Project的通用特殊设定
buildscript{}配置当前Project的构建文本classpath路径
configurations{}配置当前Project的依赖配置
dependencies{}配置当前Project的依赖
repositories{}配置当前Project的代码库
sourceSets{}配置当前Project的Source sets
subprojects{}配置当前Project的子Project
publishing{}配置发布插件添加的发布扩展信息
  

Gradle的构建脚本是用Groovy语言编写的,所以也可以包含一些Groovy脚本允许的东西,例如Groovy的方法和类。


4.核心类型

TypeDescription
Project构建文件与Gradle交互所使用的主API接口,可以通过编程访问Gradle所有的特性。
Task一个Task代表的是构建过程最小的步骤过程,例如编译class或者生成文档
Gradle代表对Gradle的调用
Settings声明构建所需实例化的Project实例
IncludeBuild包含在组合中的单个构建实例
Script所有Gradle脚本都必须实现的添加特定方法的接口,在脚本编译时实现。可以直接使用该接口所定义的方法和属性
JavaToolChain构建Java资源的一系列工具
SourceSet由Java代码和特定资源组成的一个逻辑集合
SourceSetOutPutFileCollection的扩展类,所有输出路径(编译好的Java类、已处理的资源等等)的集合
SourceDirectorySet由一系列资源路径组成的资源集合,
IncrementalTaskInputs提供需要层叠处理的对于所有资源的访问
Configuration一组自定义设定及其依赖
ResolutionStrategy依赖解析的策略规定
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值