欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:gradle Task 詳解

柚子快報(bào)激活碼778899分享:gradle Task 詳解

http://yzkb.51969.com/

目錄

Task定義和配置

Task的執(zhí)行階段

Task 的依賴(lài)

Task 指定執(zhí)行順序

Task 主gradle引入其他的gradle文件

將某一個(gè)task掛載到指定的task之后執(zhí)行

gradle task官網(wǎng):Task - Gradle DSL

Task定義和配置

查看工程下所有的task,使用如下命令

gradle tasks

定義一個(gè)task

task創(chuàng)建的源碼

參數(shù)分別是 task 名稱(chēng),和一個(gè) closure。groovy語(yǔ)法的closure可以寫(xiě)在小括號(hào)外面,小括號(hào)可以省略

task的源碼

public interface Task extends Comparable, ExtensionAware {

String TASK_NAME = "name";

String TASK_DESCRIPTION = "description";

String TASK_GROUP = "group";

String TASK_TYPE = "type";

// 指定當(dāng)前task的依賴(lài)的其他task

String TASK_DEPENDS_ON = "dependsOn";

// 重寫(xiě) task

String TASK_OVERWRITE = "overwrite";

// 配置 task 任務(wù)邏輯

String TASK_ACTION = "action";

// 構(gòu)造參數(shù)

String TASK_CONSTRUCTOR_ARGS = "constructorArgs";

}

語(yǔ)法

task 自定義task名稱(chēng)

示例

task mytask {

println "hello task."

}

執(zhí)行自定義task

./gradle mytask

定義task也可以使用上面源碼中的?TaskContainer 方式創(chuàng)建一個(gè)task

示例

this.tasks.create('mytask2') {

println "hello task2."

}

給 task 添加分組

示例

// 給 自定義task 添加group 和 desc

// 示例一

task mytask1(group: "testGroup", description: "is am a test") {

println "hello task1."

}

// 示例二

task mytask2 {

setGroup("testGroup")

setDescription("is am a test")

}

?添加分組的 task,在idea gradle項(xiàng)中會(huì)放在一個(gè)新組中,沒(méi)有分組的自定義task會(huì)放在 other 中

Task的執(zhí)行階段

關(guān)于gradle的階段請(qǐng)查看:gradle生命周期

配置階段

普通定義的task都是在配置階段都會(huì)被執(zhí)行。

執(zhí)行階段

執(zhí)行階段就是特意使用了 gradle xxx 的方式指定某一個(gè)task執(zhí)行。taks才會(huì)執(zhí)行。其他命令task不會(huì)執(zhí)行。

執(zhí)行階段的task,在配置階段不會(huì)被執(zhí)行。只有task才能在執(zhí)行階段被執(zhí)行。使用如下兩個(gè)函數(shù),讓 task 在gradle 執(zhí)行階段執(zhí)行

doFirst:在task之前添加邏輯 // 在?@TaskAction 前面執(zhí)行注解:@TaskAction,使用該注解的自定義task類(lèi)中的代碼也會(huì)在執(zhí)行階段執(zhí)行

doLast:在task之后添加邏輯,(<< 表示 doLast,但是在gradle5.0版本中被移除) //?// 在?@TaskAction 后面執(zhí)行

示例

// 示例一

task testTask(group: "testGroup", description: "is am a test") {

doFirst {

println "hello doFirst. " + group

}

}

// 示例二

testTask.doLast {

println "hello doLast. " + description

}

// 示例三 << 表示 doLast,在gradle 5.0版本中 << 符號(hào)被移除

task testTask2 << {

println "hello doLast."

}

Task 的依賴(lài)

有3個(gè)task,taskA、taskB、taskC,taskA依賴(lài)taskB、taskC

//task taskA(dependsOn:"taskB"){ // 一個(gè)依賴(lài)的寫(xiě)法

// 被依賴(lài)的task定義在當(dāng)前task后面,dependsOn參數(shù)要使用字符串""的方式

//task taskA(dependsOn:["taskB", "taskC"]){ // 多個(gè)依賴(lài)的寫(xiě)法

// doLast {

// println "taskA"

// }

//}

task taskB {

doLast {

println "taskB"

}

}

task taskC {

doLast {

println "taskC"

}

}

// 被依賴(lài)的task在當(dāng)前task之前,dependsOn參數(shù)可以直接使用變量的方式

task taskA(dependsOn:taskB){

doLast {

println "taskA"

}

}

// 或者使用這種方式

//taskA.dependsOn([taskB, taskC])

為task添加指定前綴的task依賴(lài)

task libA {

doLast{

println "libA"

}

}

task libB {

doLast {

println "libB"

}

}

// 被依賴(lài)的要定義在前面,不然找不到

task taskTest {

dependsOn this.tasks.findAll { task ->

return task.name.startsWith("lib")

}

doLast {

println "taskTest = " + dependsOn

}

}

Task 指定執(zhí)行順序

有3個(gè)task,taskA、taskB、taskC,讓task按照 A、B、C的順序依次執(zhí)行

task taskA {

doLast {

println "taskA"

}

}

task taskB {

mustRunAfter taskA // 可以使用數(shù)組參數(shù)

doLast {

println "taskB"

}

}

task taskC {

mustRunAfter taskB

doLast {

println "taskC"

}

}

執(zhí)行命令:gradle taskB?taskC taskA?

Task 主gradle引入其他的gradle文件

有一個(gè) a.gradle 文件,如果需要讓該文件生效。需要在主gradle文件中引用a.gradle

語(yǔ)法

apply from: 文件路徑

示例

apply from: this.rootProject.file("a.gradle")

將某一個(gè)task掛載到指定的task之后執(zhí)行

例如:在 task build 執(zhí)行完成之后,接著自動(dòng)執(zhí)行 task a

this.afterEvaluate { org.gradle.api.Project project ->

// 找到 build task

def buildTask = project.tasks.getByName('build')

if (buildTask == null) {

throw GradleException("build task is not found.")

}

// 執(zhí)行 build task 之后的 taskA

buildTask.finalizedBy "taskA"

}

task taskA {

doLast {

println "taskA"

}

}

柚子快報(bào)激活碼778899分享:gradle Task 詳解

http://yzkb.51969.com/

參考文章

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19031132.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄