## 1.DSL
gradle脚本语言是一个领域专业语言,以groovy为基础。
## 2.project api
调用project的api来获取和项目有关的信息
~~~
task check<<{
println name
println project.name
}
~~~
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
check
0110
~~~
由此可以看出第一个name是指任务名,第二个project.name打印项目的名称。如果你把println name移到任务外,他就会打印项目的名称
~~~
println name
task check<<{
println project.name
}
~~~
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
0110
0110
~~~
其他一些project相关的属性
~~~
println name
task check<<{
//项目名
println project.name
//项目相对路径
println project.path
//项目描述
println project.description
//项目的绝对路径
println project.projectDir
//项目的build文件绝对路径
println project.buildDir
//项目所在的group
println project.group
//项目的版本号
println project.version
//项目的ant对象
println project.ant
}
~~~
输出
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
0110
0110
:
null
/Users/qianhui/Documents/Developer/gradle_project/0110
/Users/qianhui/Documents/Developer/gradle_project/0110/build
unspecified
org.gradle.api.internal.project.DefaultAntBuilder@7cc03cf7
~~~
## 3.脚本api
当执行脚本的时候,会将脚本编译成一个class,该class是实现Script 接口的。说明你在脚本中所定义的方法和属性都存在于该script对象中。
## 4.自定义变量
你可以在你自己写的脚本中定义本地变量。
运用groovy基础语法,可以使用def定义一个本地变量。
~~~
def dest = "this is myself"
task check<<{
println dest
}
~~~
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q check
this is myself
~~~
## 5.自定义属性
ext块可以一次性添加多个属性
~~~
apply plugin: "java"
ext {
springVersion = "3.1.0.RELEASE"
emailNotification = "build@master.org"
}
sourceSets.all{
ext.purpose = null
}
sourceSets{
main{
purpose = "production"
}
test{
purpose = "test"
}
plugin{
purpose = "plugin"
}
}
task printProperties << {
println springVersion
println emailNotification
sourceSets.matching{
it.purpose=="production"}.each{
println it.name
}
}
~~~
执行该任务会打印上面定义的属性
~~~
qianhuis-Mac-mini:0110 qianhui$ gradle -q printProperties
3.1.0.RELEASE
build@master.org
main
~~~
- 前言
- gradle学习(1)-helloworld
- gradle学习(2)-基础语法
- gradle学习(3)-基础认识
- gradle学习(4)-构建java项目
- gradle学习(5)-创建eclipse项目
- gradle学习(6)-依赖管理
- gradle学习(7)-groovy
- gradle学习(8)-gradle的命令行
- gradle学习(9)-获取build相关信息
- gradle学习(10)-gui
- gradle学习(11)-编写构建脚本
- gradle学习(12)-groovy一些基础语法
- gradle学习(13)-有的没的
- gradle学习(14)-任务
- gradle学习(15)-任务
- gradle学习(16)-操作文件
- gradle学习(17)-被合并的ant
- gradle学习(18)-ant的属性
- gradle学习(19)-log系统
- gradle学习(20)-详解java插件
- gradle学习(21)-在eclipse中构建java项目
- gradle复习(1)-2种定义任务方式的区别
- gradle复习(2)-eclipse中添加依赖jar包
- gradle复习(3)-在gradle项目中使用TestNG
- gradle复习(4)-Cannot find System Java Compiler
- gradle复习(5)-Test remote debug
- gradle复习(6)-深入Jacoco
- gradle复习(7)-深入Jacoco
- gradle复习(8)-Task中行为
- gradle学习(22)-Sonar
- gradle学习(23)-Sonar runner