为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第十五天 构建脚本

标签:
gradle

第一模块:课程介绍

课程名称:新一代构建工具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

第四模块:课程记录

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消