Gradle要求JDK 7+,首先检测java版本
java -version
下载gradle,并解压到安装目录
unzip gradle-4.6-bin.zip -d /opt/modules/gradle
配置环境变量/etc/profile.d/gradle.sh
export GRADLE_HOME=/opt/modules/gradle
export GRADLE_USER_HOME=/opt/data/gradle
export PATH=$GRADLE_HOME/bin:$PATH
验证gradle是否配置成功
gradle -v
------------------------------------------------------------
Gradle 4.6
------------------------------------------------------------
Build time: 2018-02-28 13:36:36 UTC
Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 1.8.0_151 (Oracle Corporation 25.151-b12)
OS: Linux 3.10.0-514.el7.x86_64 amd64
初始化项目
创建项目目录
mkdir basic-demo
cd basic-demo
初始化项目
gradle init
项目目录结构
.
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
项目目录/文件 | 说明 |
---|---|
build.gradle | 项目任务配置脚本 |
gradle/wrapper/gradle-wrapper.jar | Gradle Wrapper可执行jar |
gradle/wrapper/gradle-wrapper.properties | Gradle Wrapper配置文件 |
gradlew | gradle wrapper的Unix脚本 |
gradlew.bat | gradle wrapper的windows脚本 |
settings.gradle | 项目配置 |
创建任务
Gradle可以通过Groovy或Kotlin创建DSL。
创建src目录,并在其中添加myfile.txt
Hello,World!
在build.gradle定义copy任务,将src内容拷贝到dest目录
task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") {
from "src"
into "dest"
}
执行copy
任务
❯ ./gradlew copy
:copy
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
应用插件
在build.gradle
添加base插件
plugins {
id "base"
}
创建zip任务
task zip(type: Zip, group: "Archive", description: "Archives sources in a zip file") {
from "src"
}
运行zip任务
./gradlew zip
查看所有tasks
./gradlew tasks
Gradle提供构建的web视图
./gradle zip --scan
...
Publishing build scan...
https://gradle.com/s/6xrdg2mwg74cw
在浏览器访问https://gradle.com/s/6xrdg2mwg74cw
查看构建过程
查看属性
查看项目属性
./gradlew properties