gradle task

2018-05-29  本文已影响27人  帅不过如此

1.task

1.新建文本build.gradle

2.cd到build.gradle的根目录 

第一个构建脚本

task hello {

    doLast {

        println ‘Hello world!’

    }

}

在命令行里, 进入脚本所在的文件夹然后输入 gradle -q hello 来执行构建脚本

第二个构建脚本,快捷闭包任务

task hello << {

    println ‘Hello world!’

}

执行效果跟第一个一致。

构建脚本代码

task hello<<{

     String str ="shuzhan"

    String tar = str +" is a good gug".toUpperCase();

    println tar

}

2.task dependsOn

 第一个依赖脚本

task hello<<{

println"hello !!"

}

task world(dependsOn:hello)<<{

println"world !!"

}

第二个依赖脚本

task taskX(dependsOn:"taskY") << {

println"taskX"

}

task taskY << {

println"taskY"

}

taskX 到 taskY 的依赖在 taskY 被定义之前就已经声明了. 

说明依赖不需要在被调用者前面声明,另外要注意“taskY”要加上双引号.

3.动态 task

4.times { counter ->

task"task$counter" << {

println"I'm task number $counter"

    }

}

gradle -q task1 命令的输出

为动态任务添加依赖

4.times { counter ->

task"task$counter" << {

println"I'm task number $counter"

    }

}

task0.dependsOn task1,task2

gradle -q task0 命令的输出

task加入行为

task hello << {

println ‘Hello Earth’

}

hello.doFirst {

println ‘Hello Venus’

}

hello.doLast {

println ‘Hello Mars’

}

hello << {

println ‘Hello Jupiter’

}

doFirst 和 doLast 可以被执行许多次. 他们分别可以在任务动作列表的开始和结束加入动作. 第四个操作符<<是doLast的别称

gradle -q hello 命令的输出

段标记法

$ 可以访问一个存在的任务

task hello << {

println ‘Hello world!’

}

hello.doLast {

println “Greetings from the $hello.name task." }

自定义属性

task myTask {

ext.s ="myValue"

}

task printTask<< {

println myTask.s

}

默认任务

defaultTasks ‘clean’, ‘run’

task clean << {

println ‘Default Cleaning!’

}

task run << {

println ‘Default Running!’

}

task other << {

println “I’m not a default task!”

}

gradle -q 命令的输出

动态配置

task distribution << {

println “We build the zip with version=$version" }

task release(dependsOn: ‘distribution’) << {

println ‘We release now’

}

gradle.taskGraph.whenReady {taskGraph ->

if (taskGraph.hasTask(release)) {

version = ‘1.0’

} else {

version = ‘1.0-SNAPSHOT’

}

}

上一篇下一篇

猜你喜欢

热点阅读