初试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!'
}
}
浙公网安备 33010602011771号