导言
Gradle构建文件是基于Groovy的DSL编写而成
安装
下载Gradle压缩包并解压,添加GRADLE_HOME环境变量指向安装路径。并将bin目录添加到Path中。
构建文件的Hello World
新建build.gradle文件,内容如下
task helloWorld << {
println 'hello, world'
}
进入该文件的目录,执行gradle -q helloWorld
,输出hello, world
一个Task包含若干Action。所以,Task有doFirst和doLast两个函数,用于添加需要最先执行的Action和需要和需要最后执行的Action。Action就是一个闭包。”<<”操作符等同于doLast。
构建文件中task之间的依赖
task hello << {
print 'hello, '
}
task world(dependsOn: hello) << {
println 'world'
}
构建一个Java程序
构建项目的布局如下:
|--- build.gradle
\---src
\---main
\---java
\---org
\---gradle
\---example
\---HelloWorld.java
build.gradle
文件内容如下:
apply plugin: 'java'
进入项目目录,执行gradle build
,会生成build\libs\xxx.jar
文件,此处xxx为build文件所在的目录名。
执行java -cp build\libs\xxx.jar org.gradle.example.simple.HelloWorld
输出hello, world
。
如果要想使用java -jar xxx.jar
形式运行程序,在build.gradle文件中添加主清单属性。修改后的build.gradle文件内容如下:
apply plugin: 'java'
jar {
manifest {
attributes 'Main-Class': 'org.gradle.example.simple.HelloWorld'
}
}
常用Gradle命令选项
--help或者-h
打印所有命令行选项的帮助信息
-Dproperty=value
指定一个系统属性,可以在build文件中访问
--info或者-i
设置Gradle的log level到INFO
--debug或者-d
设置Gradle为调试模式
--quiet或者-q
屏蔽大部分的输出,仅仅显示错误信息
--dry-run或者-m
仅仅解析和运行build文件,不执行任何task
properties
显示当前构建项目的Project对象属性,本质上这是一个task
tasks
显示当前build文件的所有task,如果应用了plugin,那么也包括plugin中定义的task。本质上这也是一个task。