Gradle基础命令练习
task hello {
doLast {
println 'Hello World'
}
}
task world << {
println 'Hello World'
}
task build << {
println 'I am build task'
}
task release(dependsOn: build) << {
println 'I am release task'
}
task build2 << {
println 'I am build2 task'
}
task release2 << {
println 'I am release2 task'
}
release2.dependsOn build2
task zero {
doLast {
println 'I am zero task'
}
}
zero.doFirst {
println 'First'
}
zero.doLast {
println('doLast')
}
zero {
doLast {
println 'doLast2'
}
}
task blue << {
println 'color is blue.from the $blue.name task'
}
task setProper {
ext.myValue = 'WuKun'
ext.wukun = 'Hello World'
}
task proper << {
println setProper.wukun
}
task toAdd << {
int a = 1,b = 3
int result = add(a, b)
println 'a add b is = ' + result
}
int add(a, b) {
a + b
}
task hello {
doLast {
println 'Hello World!'
}
}
task hello2 << {
println 'Hello World!'
}
task('hello3') << {
println 'Hello World!'
}
tasks.create(name: 'hello4') << {
println 'Hello World!'
}
- 复制任务不支持绝对路径指定的非本项目的路径,其它暂不知
task myCopy(type: Copy) {
from 'src/main/java/cn/wukun'
into 'src/test/java/cn/wukun'
}
task hello(overwrite: true) << {
println 'Hello Snake!'
}
hello.onlyIf { !project.hasProperty('skipHello') }
hello.enabled = true
task hello(type: GreetingTask)
task greeting(type: GreetingTask) {
greeting = "greeting from GreetingTask"
}
class GreetingTask extends DefaultTask {
String greeting = "hello from GreetingTask"
@TaskAction
def greet() {
println greeting
}
}
apply plugin: HelloPlugin
//使用闭包方式设置值
greeting2 {
message = 'Hi'
greeter = 'Gradle'
}
class HelloPlugin implements Plugin<Project> {
// 此方法接受一个Project对象
void apply(Project project) {
// 向extension container保存greeting参数
// 该greeting参数为HelloPluginExtension的实体bean
project.extensions.create("greeting2", HelloPluginExtension)
// 向project对象添加hello任务
project.task('hello2') {
doLast {
println "${project.greeting2.message} from ${project.greeting2.greeter}"
}
}
}
}
// 定义一个实体bean对象
class HelloPluginExtension {
String message
String greeter
}