Gradle学习笔记

学东西第一步先感受一下

创建一个build.gradle文件,输入以下内容:

task hello {
    doLast {
        println 'Hello world!'
    }
}

保存后用以下命令运行:

gradle -q hello

解释一下:刚才的代码是创建一个task,内容是打印"Hello World!"
然后用grade + task名执行task,-q选项是quite模式,指不输出日志信息。

以上效果有更简洁的写法:

task hello << {
    println 'Hello world!'
}

project和task是gradle的基础单位

这句话没什么好解释的,把以下内容看完自然能体会到。

-------------------------语法-------------------------

添加task

task taskName << {
    // 这里写任务内容,也就是groovy代码
}

依赖

task xxx(dependson yyy) << {
}

例如:

task dependonDemo1 << {
    println 'dependonDemo1'
}

task dependonDemo2(dependsOn: dependonDemo1) << {
    println 'dependonDemo2'
}

运行:gradle -q dependonDemo2输出:

dependonDemo1
dependonDemo2

动态创建任务

4.times { counter ->
    task "task$counter" << {
        println "I'm task number $counter"
    }
}

执行:gradle -q task1,结果为:

I'm task number 1

依赖也可以动态创建:

task0.dependsOn task2, task3

执行:gradle -q task0,结果为:

I'm task number 2
I'm task number 3
I'm task number 0

为已经存在的任务添加行为

task hello << {
    println 'Hello Earth'
}
hello.doFirst {
    println 'Hello Venus'
}
hello.doLast {
    println 'Hello Mars'
}
hello << {
    println 'Hello Jupiter'
}

执行:gradle -q hello,结果为:

Hello Venus
Hello Earth
Hello Mars
Hello Jupiter

短标记$

task hello << {
    println 'Hello world!'
}
hello.doLast {
    println "Greetings from the $hello.name task."
}

执行:gradle -q hello,结果为:

Hello world!
Greetings from the hello task.

name是默认属性

自定义属性

task myTask {
    ext.myProperty = "myValue"
}

task printlnTaskProperties << {
    println myTask.myProperty
}

执行:gradle -q printTaskProperties,结果为:

myValue

设置默认任务

defaultTasks 'clean', 'run'

task clean << {
    println 'Default Cleaning!'
}

task run << {
    println 'Default Running!'
}

task other << {
    println "I'm not a default task!"
}

执行:gradle -q,结果为:

Default Cleaning!
Default Running!

你可能感兴趣的:(Gradle学习笔记)