1. gradle构建学习系列

http://www.cnblogs.com/davenkin/p/gradle-learning-1.html

  1. Gradle快速入门
  2. 创建Task的多种方法
  3. 读懂Gradle语法
  4. 增量式构建
  5. 自定义Property
  6. 使用java Plugin
  7. 依赖管理
  8. 构建多个Project
  9. 自定义Task类型
  10. 自定义Plugin
环境; win10
gradle version: 5.3.1

目录

  1. 1. gradle构建学习系列
  2. 2. gradle构建学习系列
  3. 3. gradle构建学习系列

各种错误与知识点

1. Could not find method leftShift() for arguments

解决方法: https://blog.csdn.net/jincheng_921/article/details/85053986

2. gradle 查看所有的task

gradle task --all , 自己定义的在Others tasks中可以查看

3. gradle properties

1. gradle构建学习系列_第1张图片
1

一堆property, 第一个allProjects 表示根project,
在多项目中,它将包括多个Project,
buildDir表示构建结果的输出目录,

4. project与task的关系

  • Gradle的Project和build.gradle存在着一对一的关系。
  • 一个Project从本质上说只是含有多个Task的容器。
  • Gradle的Project从本质上说只是含有多个Task的容器
  • Task可以理解为Gradle的执行单元
  • 每一个Gradle构建脚本中都会包含三个基本的构建块,project、task和property。每一个构建都至少包含一个project,一个或者多个task,在多项目的构建中一个project可以依赖于其它的project,task之间也形成一个依赖关系图来确保它们之间的执行顺序,下图显示了这种依赖:
1. gradle构建学习系列_第2张图片
2
  • property,每一个project和task都提供了可以通过getter和setter方法访问其属性

5. 属性:property

  • Gradle属性通过gradle.properties文件中的声明添加到项目中
//gradle.properties脚本:
exampleProp=myValue
someOtherProp=455
  • 扩展属性需要使用ext命名空间:
project.ext.myProp ='myValue'
ext {
    someOtherProp =123
}

6. Could not find method dolast() for arguments

task hello2 {
doLast {
println 'hello2'}
}

1. gradle构建学习系列_第3张图片
2

解决方法: 不能定义dolast方法, 只可以定义doLast 方法

测试完整的代码,上传到github中,以便自己日后检查与学习,
注意: 需要写清楚环境, 版本号,工具名称,系统环境

7. tasks.class

这个输出的是class org.gradle.api.internal.tasks.DefaultTaskContainer_Decorated task, task的容器类

8. dependsOn task之间的依赖

  • q2.dependsOn first
  • task q1(dependsOn: [qq, first]) {
    println 'q1'
    }

9. groovy的特性,bean 与 closure

bean 就是一个java Bean,只要属性,默认会添加getter,setter , constructor
closure 就是一个代码块,可直接运行, 作为参数传递

10. 增量式构建, UP-TO-DATE

在build.gradle中定义inputs与outputs就可以实现增量式构建了

下一篇

https://www.jianshu.com/p/2a532da60cef

引用:

https://blog.csdn.net/weixin_38062353/article/details/82710203

PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

你可能感兴趣的:(1. gradle构建学习系列)