2. Gradle 构造基础

xiaoxiao2021-02-28  16

1.    Projects 和 Tasks

任何一个 Gradle 构建都是由一个或多个 projects 组成. 每个 project 包括许多可构建组成部分.  这完全取决于你要构建些什么. 一个 project 不必描述它只能进行构建操作. 它也可以部署你的应用或搭建你的环境.  Gradle 的 build-by-convention 可以让您来具体定义一个 project 到底该做什么. 

每个 project 都由多个 tasks 组成。每个 task 都代表了构建执行过程中的一个原子性操作。如编译,打包,生成 javadoc,发布到某个仓库等操作。

2.    Hello Wrold

用户可以通过在命令行运行 gradle 命令来执行构建, gradle 命令会从当前目录下寻找 build.gradle 文件来执行构建. build.gradle 文件为构建脚本.  build.gradle 文件被称为构建脚本.

第一个构建脚本

build.gradle

//定义了一个叫 hello 的 task. task hello { doLast { println 'Hello world!' } }

然后在该文件所在目录执行 gradle -q hello

        * -q: 该参数用于控制 gradle 的日志级别, 可以保证只输出我们需要的内容. (可以尝试不加 -q, 然后看结果)

3.    通过 API 进行任务之间的通信 - 增加任务行为.

task hello << {     println 'Hello Earth' } hello.doFirst {     println 'Hello Venus' } hello.doLast {     println 'Hello Mars' } hello << {     println 'Hello Jupiter' }

    *doFirst 和 doLast 可以进行多次调用. 他们分别被添加在任务的开头和结尾. 当任务开始执行时这些动作会按照既定顺序进行. 其中 << 操作符是 doLast 的简写.

4.    添加自定义属性

假设有一个叫做 myProperty 的属性, 可以用 ext.myProperty 的方式给 myProperty 一个初始值, 

task myTask {     ext.myProperty = "myValue" } task printTaskProperties << {     println myTask.myProperty }

5.    定义默认任务

defaultTasks 'clean', 'run'

这里会直接调用 clean 和 run 的 task. 在多项目构建中, 每个子项目都可以指定单独的默认任务, 如果子项目进行指定将会调用父项目指定的默认任务.

此处只列出几个相对经典的构建基础.

转载请注明原文地址: https://www.6miu.com/read-2449990.html

最新回复(0)