亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第十五天 構建腳本

標簽:
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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消