美文网首页
构建工具-Gradle

构建工具-Gradle

作者: jacob_ | 来源:发表于2019-07-13 19:11 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/xphraqtx.html