第一模块:课程介绍
课程名称:新一代构建工具gradle
课程章节:第4章 高级应用
主讲老师:skyding
第二模块:课程内容
熟悉gradle的构建脚本
第三模块:课程收获
构建脚本概要
构建块:Gradle构建中的两个基本概念是项目( project )和任务(task),每个构建至少包含一个项目,项目中包含一个或多个任务。在多项目构建中,一个项目可以依赖于其他项目;类似的,任务可以形成一个依赖关系图来确保他们的执行顺序
我们来看个图
项目1依赖于项目2
项目1里面有三个任务ABC,A依赖BC,那么BC就要在A之前执行完。
那么什么是项目呢
项目project
一个项目代表一个正在构建的组件(比如一个jar文件),当构建启动后,Gradle会基于build.gradle实例化一个org.gradle.api.Project类,并且能够通过project变量使其隐式可用
我们通过group,name,version三个属性能够确定唯一的一个组件。
group就是组,组是最大的
name就是名称,一个组里面不能有重名的
version版本号,用来确认构建历史的。
在idea中新建项目的时候,会需要填写上面的东西
几个重要的方法
apply,是应用一个插件
dependencies,是用来声明这个项目依赖于哪些jar包
repositories,是仓库的声明,说明去哪个仓库里面去找jar包,跟上面的三个属性结合起来,就可以拿到一个唯一的jar包了
task,是用来声明项目中有哪些任务的
属性的其他配置:ext,gradle.properties
任务task
任务对应org.gradle.api.Task。主要包括任务动作和任务依赖。任务动作定义了一个最小的工作单元。可以定义依赖于其他任务、动作序列和执行条件。
方法:
dependsOn:这个就是声明任务依赖的
doFirst,doLast << 分别是执行前,执行后,一个任务里面可以有多个
看下之前的构建脚本:
plugins {
id 'java'
}
group 'com.imooc.gradle'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
test {
useJUnitPlatform()
}
像group之类的,是project.group的简写。其他的也是一样的。
我们再来看下任务。在idea的右侧,打开task可以看到很多插件带的任务
执行的时候可以看到。
23:31:35: 正在执行 'jar'…
Starting Gradle Daemon...
Gradle Daemon started in 2 s 140 ms
> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
BUILD SUCCESSFUL in 7s
2 actionable tasks: 2 up-to-date
23:31:46: 执行完成 'jar'。
jar任务是最后执行的,说明在之前它之前,还执行了其他的任务。
我们还可以自定义任务,如果插件没有提供的话
项目project
第四模块:课程记录
共同学习,写下你的评论
评论加载中...
作者其他优质文章