Gradle学习笔记之项目生命周期及settings文件

news2024/12/24 8:47:45

文章目录

  • Gradle项目的生命周期
  • settings文件

Gradle项目的生命周期

Gradle项目的生命周期分为初始化->配置->执行三步,如下图所示:
在这里插入图片描述
初始化阶段主要目的是初始化构建,分为执行初始化脚本和执行设置脚本两步,前者在每个项目构建前都会被调用,主要用于配置内部仓库信息、全局属性和用户名密码等信息,后者初始化了一次构建所参与的所有模块。

配置阶段开始加载项目中所有模块的构建脚本,即执行build.gradle中的语句。根据脚本代码创建对应的任务task,最终根据所有的任务组成任务DAG,例如下图:
在这里插入图片描述
从而构建出如下的任务树:
在这里插入图片描述
执行阶段会根据上个阶段构造好的DAG按序执行任务。

settings文件

设置文件的作用时在项目初始化阶段确定引入哪些工程进行构建,为构建项目工程树做准备,项目工程树示例如下图所示:
在这里插入图片描述
settings文件里主要定义了当前gradle项目和子项目的名称,比如放到根项目目录下,且名字必须为settings.gradle。作为开发者,只需关注里面的include方法即可,该方法使用相对路径引入子工程。

一个工程只有在设置文件中配置了,才会被gradle识别,并在构建的时候被包含进去,示例如下:

rootProject.name = 'GradleTest' // 根工程项目名

// 包含的子工程项目名
include ':lib1'
include ':lib2'
include ':lib3'

// 包含的二级子工程项目名
include ':lib1:lib1_1'
include ':lib1:lib1_2'

其中冒号:表示项目分隔符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多线程的实现

目录 进程和线程 并发和并行 继承实现Runnable接口的Thread类实现的多线程 实现Runnable接口创建线程类 线程常用方法 进程和线程 进程:一个程序的启动就可以抽象化为一个进程 线程:线程是由进程开启的,一个进程可以创建多个线程&#x…

环形队列、 条带环形队列 Striped-RingBuffer (史上最全)

文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新 史上最全 面试必备 2000页 面试必备 大厂必备 涨薪必备 免费赠送 经典…

基于jsp+mysql+ssm项目bug修复管理系统-计算机毕业设计

项目介绍 本文主要是采用ssm的mvc技术、Mysql数据库、Tomcat服务器作为开发平台,系统采用B/S结构进行开发,完成一个项目修复管理系统,构建企业管理与员工任务计划相结合。提供了包括传统业务中最基本的用户注册、登录、查询、职位信息、部 门…

MicroPython-On-ESP8266——8x8LED点阵模块(3)使用MAX7219驱动

MicroPython-On-ESP8266——8x8LED点阵模块(3)使用MAX7219驱动 1. 新主角登场 手上有块8x8LED点阵屏,咱们已经了解了点阵屏的基础电路与驱动原理,并用两片74HC595锁存IC成功驱动点阵屏显示需要的图案。 MicroPython-On-ESP8266…

DBCO-PEG-CHO,DBCO-CHO,二苯基环辛炔-聚乙二醇-醛基

一、理论分析: 中文名:二苯基环辛炔-聚乙二醇-胆固醇,胆固醇偶联二苯基环辛炔, 二苯基环辛炔-聚乙二醇-醛基,点击试剂DBCO偶联醛基 英文名:DBCO-PEG-CHO; DBCO-CHO 二、结构式: 三…

【JavaEE】B/S结构系统的会话机制_session机制

session机制什么是会话?session机制为什么需要session对象来保存会话状态呢?只要B和S断开了,那么关闭浏览器这个动作,服务器知道吗?为什么不使用request(ServletRequest)对象保存会话状态?为什么不使用appl…

【c++实战项目】——云备份服务器

项目介绍 云备份服务器能够通过浏览器将文件上传到服务器上。并且随时可以通过浏览器进行查看并且下载,其中下载的过程支持断点续传。服务器上有热点管理模块,将非热点文件进行压缩存储,节省服务器的磁盘空间。服务器各个模块的功能介绍 配…

Python入门学习需要知道的100个小技巧,加了几个小时班终于整理出来了

Python新手需要知道的100个小技巧序言最后序言 哈喽兄弟们,今天给大家分享一下Python初学需要知道的100个小技巧~ 1、for循环中的else条件 这是一个for-else方法,循环遍历列表时使用else语句。下面举个例子,比如我们想检查一个列表中是否包…

DNSPod十问陈迪菲:从C到B,鹅厂设计师的中场战事

陈迪菲,腾讯云设计中心总经理,公司设计通道副会长,设计技术委员会委员,腾讯学院优秀讲师,曾于2019年获得新中国成立70周年中国用户体验设计70人提名奖。2010年加入腾讯,10年设计团队项目管理经验&#xff0…

C++手机运动信息管理系统

C手机运动信息管理系统 《程序设计基本能力综合实训》 实训案例名称:手机运动信息管理系统 -----说明文档 本案例主要完成手机运动信息的管理。主要功能包括:用户信息的管理、运动信息的管理、查看运动排行榜、定制运动路线、数据文件操作和退出。 如图 1-1 所示。 图1-1 …

web前端期末大作业 :HTML+CSS+JavaScript+Bootstrap实现响应式网站潮酷音乐网站

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

初始C语言2【函数 、数组、操作符、关键字、#define 定义常量和宏、指针、结构体】

目录 八、函数 九、数组 1、数组的定义:一组相同类型元素的集合 2、数组的下标 数组的每个元素都有一个下标,下标是从0开始的。 数组可以通过下标来访问元素。 3、数组的使用 十、操作符 1.常见操作符: 举例: 1&#xff…

与图相关的一些矩阵

目录前言正文邻接矩阵(Adjacency matrix)度矩阵(Degree matrix)关联矩阵(Incidence matrix)拉普拉斯矩阵常规拉普拉斯矩阵拉普拉斯矩阵标准化前言 以无向图为例,介绍与图相关的各种矩阵。我们定义下面的图为 GGG: import networkx as nx import matplo…

CSS之背景样式及边框样式

1、背景样式 常用属性: background-color:背景颜色background-image:背景图片background-repeat:背景图片的平铺方式background-position:背景图片的位置background-attachment:背景图随滚动条的移动方式 …

ADI Blackfin DSP处理器-BF533的开发详解19:LAN的网口设计(含源代码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 BF533说实话用来做LAN的应用有些许勉强,因为他自己不带网口,要做的话,需要在总线上挂,那…

3D视觉PnP问题

文章目录背景和定义方法分类典型方法P3P(角锥法)DLT单应性矩阵分解迭代法EPnP其他延伸总结背景和定义 目前常用的pnp方法有很多,但是本人学习和查阅后发现比较零散,因此,在这里将所学习的方法按照理解分类和总结,并且…

体验了一下火爆全球的 ChatGPT,我惊呆了

这几天,要说编程圈最热的话题,莫过于OpenAI的ChatGPT,写小说,写代码,找BUG,写论文,画漫画,谱曲……简直没有它干不了的事。 趁着下班时间,我也光速注册体验了一下&#…

深度整理总结MySQL——事务专辑

事务前言什么是事务事务的特性事务的状态事务会引发什么问题?解决事物引发的问题手段事务日志Undo Log 日志简单介绍具体实现Buffer PoolBuffer Pool缓存什么?Redo Log日志为什么需要Redo Log?什么是 redo log?redo log要写入磁盘&#xff0…

保姆级教程:手把手教你使用 Keras 搭建神经网络

大家好,本文从0到1详细讲解两种基于Keras的建模方法: 基于Sequential的建模;快速方便,易上手 基于函数式API的建模;易于扩展,灵活性强 文章目录你会学到什么?技术提升导入内置数据集数据缩放和…

【GRU回归预测】基于卷积神经网络结合门控循环单元CNN-GRU实现数据多维输入单输出预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …