diff --git a/blogs/Android/Gradle/Android Gradle 权威指南/读书笔记之一.md b/blogs/Android/Gradle/Android Gradle 权威指南/读书笔记之一.md index 1f7d44b..7234639 100644 --- a/blogs/Android/Gradle/Android Gradle 权威指南/读书笔记之一.md +++ b/blogs/Android/Gradle/Android Gradle 权威指南/读书笔记之一.md @@ -18,6 +18,7 @@ - 任务分组和描述 - 任务执行分析 - 任务的 OnlyIf 断言 + - 执行其他 gradle 文件定义的方法 #### 思维导图 @@ -457,4 +458,34 @@ myCustomTask.onlyIf{ 加一个参数就好啦,就可以控制任务是否执行了。 -命令行中 -P 的意思是为 Project 指定 K-V 格式的属性键值对,使用格式为 -PK=V。 \ No newline at end of file +命令行中 -P 的意思是为 Project 指定 K-V 格式的属性键值对,使用格式为 -PK=V。 + +##### 执行其他 gradle 文件里面的方法 + +有时候,我们想要在当前 gradle 文件里面,去执行其他 gradle 里面定义的方法。 + +比如我们想要在 app.gradle 定义一个 Task,去执行放在根目录下的 dep.gradle 文件里面定义的方法,做法如下: + +dep.gradle: + +```groovy +gradle.ext { + showDep = this.&showDep +} +def showDep() { + println("showDep") +} +``` + +app.gradle: + +```groovy +apply from: "../dep.gradle" +task("appTask") { + doLast { + println("appTask") + gradle.ext.showDep() + } +} +``` +