构建工具-Gradle

1 引言

  • 石器时代:在自动化构建工具产生之前,我们进行依赖管理的方式通常是将jar包直接放入lib文件中。这样会很容易出错
  • 构建工具的作用:①依赖管理②测试、打包、发布
  • 主流构建工具:Ant 提供编译、测试、打包功能,Maven在Ant的基础之上提供依赖管理、发布功能。而Gradle在Maven的基础上又进了一步,其使用Groovy进行构建脚本而不再使用XML这种标记性的语言来标记脚本。具有更高的灵活性、与可扩展性。

1.1定义

  • Gradle是什么:它是一个项目自动化构建工具,建立在Apache Ant与Apache Maven概念的基础上,并引入了Groovy而不再使用XML。
  • Gradle能为我们做什么:编译、测试、打包,依赖管理、发布

1.2 安装

  • 下载gradle
  • 配置环境变量,添加GRADLE_HOME:D:\Gradle\gradle-5.4.1-bin\gradle-5.4.1 , path路径添加;%GRADLE_HOME:D%\bin;
  • gradle -v 检测是否安装成功

1.3 Groovy是什么

  • 是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,即可以用于面向对象编程,又可以用作纯粹的脚本语言。
  • 与java相比较,①Groovy完全兼容java的语法②分号是可选的③类、方法是默认public的④编译器给属性自动添加getter/setting方法⑤属性可以直接用点号获取
  • 简单操作如下:
public class ProjectVersion{
    private int major
    private int minor
    int getMinor() {
        minor
    }
    ProjectVersion(int major, int minor) {
        this.major = major
        this.minor = minor
    }
}
ProjectVersion v1 = new ProjectVersion(1,1);
println v1.minor
ProjectVersion v2 = null
println v1 == v2

其中在ProjectVersion中,并没有添加getter/setting方法可以不加分号属性都可以直接用点号,尽管其是private类型方法的参数可以直接跟在方法后面,不用加括号println v1.minor方法最后一个值被默认为返回值minor

  • 字符串操作:
    groovy支持三种类型的字符串定义。
def version = 1
def s1 = 'jacob'
def s2 = "gradle version is ${version}"
def s3 = '''i
am
jacob
'''
println(s1)
println(s2)
println(s3)

其中,由单引号构成的仅仅是一个字符串,由双引号构成的还可以添加变量在其中,三个单引号组成的可以换行。

1.4 集合api

  • List
def buildTools = ['ant','maven']
buildTools << 'gradle'
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3

执行没有异常,说明代码是执行成功的。其中buildTools << 'gradle'表示追加 'gradle'的意思。

  • Map

2 构建脚本简介

2.1 Project

  • 属性 : groupnameversion
  • 方法:applydependencies(该项目依赖于哪些jar包)repositories(去哪个仓库去找这些依赖的jar包)task

你可能感兴趣的:(构建工具-Gradle)