|
|
@ -1,5 +1,5 @@ |
|
|
|
--- |
|
|
|
--- |
|
|
|
一篇文章读完《Android Gradle 权威指南》 |
|
|
|
《Android Gradle 权威指南》读书笔记(一)基础知识 |
|
|
|
--- |
|
|
|
--- |
|
|
|
|
|
|
|
|
|
|
|
#### 目录 |
|
|
|
#### 目录 |
|
|
@ -23,7 +23,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
#### 前言 |
|
|
|
#### 前言 |
|
|
|
|
|
|
|
|
|
|
|
在写完 [Gradle Plugin 入门指南](https://github.com/Omooo/Android-Notes/blob/master/blogs/Android/Gradle/Gradle Plugin.md) 和 [Gradle Plugin 实践之 TinyPng Plugin](https://github.com/Omooo/Android-Notes/blob/master/blogs/Android/Gradle/Gralde%20Plugin%20%E5%AE%9E%E8%B7%B5%E4%B9%8B%20TinyPng%20Plugin.md) 之后,总会有一些疑问,如果你仔细阅读过这两篇文章,你甚至会发现文章还有一些错误的说法,比如以下命令中 -q 参数的含义: |
|
|
|
在写完 [Gradle Plugin 入门指南](https://github.com/Omooo/Android-Notes/blob/master/blogs/Android/Gradle/Gradle_Plugin_Guide.md) 和 [Gradle Plugin 实践之 TinyPng Plugin](https://github.com/Omooo/Android-Notes/blob/master/blogs/Android/Gradle/TinyPngPlugin.md) 之后,总会有一些疑问,如果你仔细阅读过这两篇文章,你甚至会发现文章还有一些错误的说法,比如以下命令中 -q 参数的含义: |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
``` |
|
|
|
./gradlew task -q build |
|
|
|
./gradlew task -q build |
|
|
@ -429,3 +429,32 @@ doFirst 也是添加到第一个,那为什么不是 doSelf 在 doFirst 之前 |
|
|
|
|
|
|
|
|
|
|
|
##### 任务的 onlyIf 断言 |
|
|
|
##### 任务的 onlyIf 断言 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
断言就是一个条件表达式,Task 有一个 onlyIf 方法,它接受一个闭包作为参数,如果改闭包返回 true 则该任务执行,否则跳过。这有很多用途,比如控制程序什么情况打什么样的包等。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
比如: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```groovy |
|
|
|
|
|
|
|
task myCustomTask << { |
|
|
|
|
|
|
|
println 'myCustomTask Start~' |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
myCustomTask.onlyIf{ |
|
|
|
|
|
|
|
project.hasProperty("build_type") |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我们判断的条件是是否有 build_type 属性,所以当我们还是按往常执行如下命令: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```groovy |
|
|
|
|
|
|
|
./gradlew task -q myCustomTask |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
是不会有任何输出的,那我们怎么做才能会输出呢? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```groovy |
|
|
|
|
|
|
|
./gradlew task -q -Pbuild_type=debug myCustomTask |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
加一个参数就好啦,就可以控制任务是否执行了。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
命令行中 -P 的意思是为 Project 指定 K-V 格式的属性键值对,使用格式为 -PK=V。 |