(三) Build Task(构建任务)
来源:互联网 发布:在淘宝怎么开店啊 编辑:程序博客网 时间:2024/06/08 19:46
General Tasks(通用任务)
添加一个插件到构建文件中将会自动创建一系列构建任务(build tasks)去执行(注:gradle属于任务驱动型构建工具,它的构建过程是基于Task的)。Java plugin和Android plugin都会创建以下task:
assemble
这个task将会组合项目的所有输出。check
这个task将会执行所有检查。build
这个task将会执行assemble和check两个task的所有工作clean
这个task将会清空项目的输出。
实际上assemble
,check
,build
这三个task不做任何事情。它们只是一个Task标志,用来告诉android plugin添加实际需要执行的task去完成这些工作。
这就允许你去调用相同的task,而不需要考虑当前是什么类型的项目,或者当前项目添加了什么plugin。 例如,添加了findbugs plugin将会创建一个新的task并且让check
task依赖于这个新的task。当check
task被调用的时候,这个新的task将会先被调用。
在命令行环境中,你可以执行以下命令来获取更多高级别的task:
gradle tasks
查看所有task列表和它们之间的依赖关系可以执行以下命令:
gradle tasks --all
注意:Gradle会自动监视一个task声明的所有输入和输出。 两次执行
build
task并且期间项目没有任何改动,gradle将会使用UP-TO-DATE通知所有task。这意味着第二次build执行的时候不会请求任何task执行。这允许task之间互相依赖,而不会导致不需要的构建请求被执行
Java project tasks(Java项目的Task)
Java plugin主要创建了两个task,依赖于main task(一个标识性的task):
assemble
jar
这个task创建所有输出check
test
这个task执行所有的测试。
jar
task自身直接或者间接依赖于其他task:classes
task将会被调用于编译java源码。testClasses
task用于编译测试,但是它很少被调用,因为test
task依赖于它(类似于classes
task)。通常情况下,你只需要调用到
assemble
和check
,不需要其他task。你可以在Gradle文档中查看java plugin的全部task。
Android tasks
Android plugin使用相同的约定以兼容其他插件,并且附加了自己的标识性task,包括:
assemble
这个task用于组合项目中的所有输出。check
这个task用于执行所有检查。connectedCheck
这个task将会在一个指定的设备或者模拟器上执行检查,它们可以同时在所有连接的设备上执行。deviceCheck
通过APIs连接远程设备来执行检查,这是在CL服务器上使用的。build
这个task执行assemble和check的所有工作。clean
这个task清空项目的所有输出。这些新的标识性task是必须的,以保证能够在没有设备连接的情况下执行定期检查。 注意
build
task不依赖于deviceCheck
或者connectedCheck
。一个Android项目至少拥有两个输出:debug APK(调试版APK)和release APK(发布版APK)。每一个输出都拥有自己的标识性task以便能够单独构建它们。
assemble
assembleDebug
assembleRelease
它们都依赖于其它一些tasks以完成构建一个APK需要多个步骤。其中assemble task依赖于这两个task,所以执行
assemble
将会同时构建出两个APK。小提示:gradle在命令行终端上支持骆驼命名法的task简称,例如,执行
gradle aR
命令等同于执行
gradle assembleRelease。
check task也拥有自己的依赖:
check
lint
connectedCheck
connectedAndroidTest
connectedUiAutomatorTest
(目前还没有应用到)deviceCheck
- 这个test依赖于test创建时,其它实现测试扩展点的插件。
最后,只要task能够被安装(那些要求签名的task),android plugin就会为所有构建类型(
debug
,release
,test
)安装或者卸载。
- (三) Build Task(构建任务)
- 深入浅出Android Gradle构建系统(三:build task)
- 深入浅出Android Gradle构建系统 (三:build task)
- 深入浅出Android Gradle构建系统(三:build task)
- 深入浅出Android Gradle构建系统(三:build task)
- 深入浅出Android Gradle构建系统(三:build task)
- 任务三 理解Task
- 任务三::理解Task。
- 实验二.任务三.TASK
- Gradle使用手册(三):构建任务
- Gradle(三)构建任务
- jBPM4.4开发(三)-----------task任务节点
- 基础篇(三) Activity和任务栈(Task)
- Task(任务)
- 实验二--任务三--理解Task
- 任务寄存器(Task Register)
- Ant的任务(task)
- Ant的任务(task)
- 深入浅出 JavaScript 中的 this
- .PHONY makefile中的伪目标
- HDU - 1014 - Uniform Generator
- linux下svn的常用指令
- 二叉搜索树的后序遍历序列
- (三) Build Task(构建任务)
- 加密解密的一些方法
- 科_工作笔记_1
- LoadRunner脚本语言之C语言
- Linux基础正则表达式字符汇整(characters)
- body的margin问题。
- hdu5353(2015多校6)--Average(贪心)
- SDUOJ---2109找女朋友
- tarjan算法之 割边,割点