初试gradle项目构建

这一篇尽量让你感受到gradle是如何管理和构建项目的。

创建一个gradle项目

很简单,在项目的文件夹下添加一个build.gradle文件。

tasks

gradle是一个通用的项目构建工具,它本身使用OO来设计的:一个build.gradle本身对应一个org.gradle.api.Project类的实例,通过这个类,就能使用gradle的所有特性。

tasks是一个gradle命令,作用是列出当前项目的所有命令

help --task 命令会列出一个命令的帮助文档

生成gradle wrapper

wrapper命令的作用是把构建工具本身拷贝到当前项目下,这样这个项目如果拷贝到一台没有安装gradle的机器上,照样可以通过项目中的gradlew脚本来进行构建。

wrapper命令会生成一个gradlew的可执行脚本,附带一个gradle的依赖jar包和属性文件。

使用wrapper可以将构建环境管理起来,减少环境不同导致的问题,是官方推荐的做法。

执行wrapper命令后,项目的结构如下:

.
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew          
└── gradlew.bat      

properties task

properties是一个内置的task,会告诉你构建环境的属性。例如:

:properties

------------------------------------------------------------
Root project
------------------------------------------------------------

buildDir: /Users/.../basic-demo/build
buildFile: /Users/.../basic-demo/build.gradle
description: null
group:
name: basic-demo
projectDir: /Users/.../basic-demo
version: unspecified

BUILD SUCCESSFUL

配置一个gradle任务

gradle内置了一些核心任务类型,其中就有Copy,它的作用是复制文件和目录。例如添加的下面的copy任务,把src目录复制到dest目录。并且如果dest不存在,会帮你创建。,

task copy(type: Copy) {
    from 'src'
    into 'dest'
}

使用插件配置一个gradle任务

Zip类型是一个核心任务类型,和base插件一起,类似下面的配置,会把src目录压缩成一个zip文件。

plugins {
    id 'base'
}

task zip(type: Zip) {
    from 'src'
}

hello, world

task和doLast都是gradle的命令。下面的命令会输出Hello, World!

task hello {
    doLast {
        println 'Hello, World!'
    }
}
posted @ 2018-02-12 00:44  JavaMG  阅读(112)  评论(0)    收藏  举报