• Gradle实战(01)--介绍与安装


    前言

    本章你将学习到

    1. Gradle的介绍
    2. Gradle的安装
    3. Gradle的hello world

    1 Gradle的介绍

    • Gradle是专注于灵活性和性能的开源构建自动化工具
    • Gradle构建脚本是使用GroovyKotlin DSL 编写的
    • Gradle的优点
      • 高度可定制:Gradle以最基本的方式可定制和可扩展的方式建模
      • 快速:Gradle通过重新使用先前执行的输出,仅处理已更改的输入以及并行执行任务来快速完成任务
      • 强大:Gradle是Android的官方构建工具,并支持许多流行的语言和技术

    2 Maven的安装

    安装Maven主要是为了使用本地仓库,也可以不安装!

    推荐使用sdkman进行安装, sdkman是开源的版本管理工具,仅支持Unix系统,包括java, gradle, maven, groovy等

    sdkman的安装可以参考java多版本管理

    2.1 Maven版本的查询

    $ sdk list maven
    ================================================================================
    Available Maven Versions
    ================================================================================
         3.6.3
         3.6.2
         3.6.1
         3.6.0
         3.5.4
         3.5.3
         3.5.2
         3.5.0
         3.3.9
    

    2.2 Maven 3.6.3的安装

    $ sdk install maven 3.6.3
    
    Downloading: maven 3.6.3
    
    In progress...
    
    ########################################################################################### 100.0%
    
    Installing: maven 3.6.3
    Done installing!
    
    
    Setting maven 3.6.3 as default.
    

    2.3 Maven的验证

    $ mvn -v
    Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
    Maven home: /Users/zhouweixin/.sdkman/candidates/maven/current
    Java version: 1.8.0_265, vendor: AdoptOpenJDK, runtime: /Users/zhouweixin/.sdkman/candidates/java/8.0.265.hs-adpt/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "mac os x", version: "10.15.6", arch: "x86_64", family: "mac"
    

    3 Gradel的安装

    Gradle的安装比较简单,可以到官网上下载解压,然后配置环境

    Gradle安装的前提安装好java,配置好环境变量JAVA_HOME,笔者安装的java版本如下

    $ java -version
    openjdk version "1.8.0_265"
    OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_265-b01)
    OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.265-b01, mixed mode)
    

    Gradle的下载地址:https://gradle.org/releases/

    ![image-20200916134217175](/Users/zhouweixin/Library/Application Support/typora-user-images/image-20200916134217175.png)

    Gradle环境变量的配置

    export GRADLE_HOME=解压路径
    export PATH=PATH:$GRADLE_HOME/bin
    

    下面演示用sdkman安装gradle,主要是可以简单切换java,gradle的版本

    3.1 Gradle版本的查询

    $ sdk list gradle
    ================================================================================
    Available Gradle Versions
    ================================================================================
         6.7-rc-1            5.3.1               4.1                 2.4
         6.6.1               5.3                 4.0.2               2.3
         6.6                 5.2.1               4.0.1               2.2.1
         6.5.1               5.2                 4.0                 2.2
         6.5                 5.1.1               3.5.1               2.1
         6.4.1               5.1                 3.5                 2.0
         6.4                 5.0                 3.4.1               1.12
         6.3                 4.10.3              3.4                 1.11
         6.2.2               4.10.2              3.3                 1.10
         6.2.1               4.10.1              3.2.1               1.9
         6.2                 4.10                3.2                 1.8
         6.1.1               4.9                 3.1                 1.7
         6.1                 4.8.1               3.0                 1.6
         6.0.1               4.8                 2.14.1              1.5
         6.0                 4.7                 2.14                1.4
         5.6.4               4.6                 2.13                1.3
         5.6.3               4.5.1               2.12                1.2
         5.6.2               4.5                 2.11                1.1
         5.6.1               4.4.1               2.10                1.0
         5.6                 4.4                 2.9                 0.9.2
         5.5.1               4.3.1               2.8                 0.9.1
         5.5                 4.3                 2.7                 0.9
         5.4.1               4.2.1               2.6                 0.8
         5.4                 4.2                 2.5                 0.7
    
    ================================================================================
    + - local version
    * - installed
    > - currently in use
    ================================================================================
    

    3.2 Gralde 6.6.1的安装

    $ sdk install gradle 6.6.1
    
    Downloading: gradle 6.6.1
    
    In progress...
    
    ########################################################################################### 100.0%
    
    Installing: gradle 6.6.1
    Done installing!
    
    
    Setting gradle 6.6.1 as default.
    

    3.3 Gradle的验证

    $ gradle -v
    
    Welcome to Gradle 6.6.1!
    
    Here are the highlights of this release:
     - Experimental build configuration caching
     - Built-in conventions for handling credentials
     - Java compilation supports --release flag
    
    For more details see https://docs.gradle.org/6.6.1/release-notes.html
    
    
    ------------------------------------------------------------
    Gradle 6.6.1
    ------------------------------------------------------------
    
    Build time:   2020-08-25 16:29:12 UTC
    Revision:     f2d1fb54a951d8b11d25748e4711bec8d128d7e3
    
    Kotlin:       1.3.72
    Groovy:       2.5.12
    Ant:          Apache Ant(TM) version 1.10.8 compiled on May 10 2020
    JVM:          1.8.0_265 (AdoptOpenJDK 25.265-b01)
    OS:           Mac OS X 10.15.6 x86_64
    

    Gradle的Hello World

    Gradle是由Project和Task组成的,一个Project可以包含多个Task。下面从task开始编写hello world程序。

    Task的定义

    首先创建脚本文件build.gradle,当执行gradle命令时, 会自动在当前目录下寻找该名称的脚本文件

    build.gradle

    task hello {
        hello {
            println 'Hello world!'
        }
    }
    

    Task的执行

    命令行中输入gradle hello

    $ gradle hello
    
    > Configure project :
    Hello world!
    
    BUILD SUCCESSFUL in 460ms
    

    至此通过5行代码完成了Gradle Hello World的开发。(以下是日志相关的内容,可以暂时先不看)

    但是,你会发现除了打印了Hello World还打印了Gradle的一些执行过程相关的信息。这些便是Gradle的日志信息,为了打印纯粹一些Hello World可以屏蔽Gradle日志的打印。

    在命令gradle hello中添加参数-q-quiet

    $ gradle -q hello
    Hello world!
    

    -q或--quiet有什么含义呢?

    要想弄清楚这个参数传达的含义, 首先需要了解一下日志等级, 以下是gradle定义的6个日志等级的排序, 由高到低

    日志等级 功能 备注
    ERROR 错误消息
    QUIET 重要的信息消息
    WARNING 警告消息
    LIFECYCLE 进度信息消息 默认值
    INFO 信息性消息
    DEBUG 调试消息

    做过web相关项目的应该都了解, 通常定义的日志等级有4层, 分别有Error, Warning, Info, Debug。在此基础上Gradle额外定义了2个特定的日志等级, 分别是Quiet和Lifecycle。

    Gradle提供了参数设置打印的日志类型, 具体而言-q--quiet就是配置日志等级为quiet以上, 即仅打印quiet和error类型的日志

    其它日志配置的参数

    参数 输出日志等级
    没有日志选项 LIFECYCLE 及更高
    --quiet QUIET 及更高
    --info INFO 及更高
    --debug DEBUG 及更高

    栈跟踪的参数

    选项 意义
    没有栈跟踪选项 只有在内部异常的情况下才打印栈跟踪
    --stacktrace 输出截断的栈跟踪。我们推荐使用这一个选项而不是打印全栈的跟踪信息
    --full-stacktrace 打印全栈的跟踪信息。

    参考

    1. Gradle Guides
    2. Gradle 教程
  • 相关阅读:
    关于c#中的委托和事件
    Unity3d中默认函数调用顺序(MonoBehaviour)
    u3d 摄像机详解
    u3d中的坐标系
    u3d中的向量 vector3 vector2
    u3d中的INput
    C#构造函数
    解析C#中[],List,Array,ArrayList的区别及应用
    Mybatis(七) mybatis的逆向工程的配置详解
    Mybatis(六) Spring整合mybatis
  • 原文地址:https://www.cnblogs.com/zhouweixin/p/13682360.html
Copyright © 2020-2023  润新知