Gradle基础

Li Guangqiao - 08/05/2024

build_tools

Gradle 基础

原文出自官方文档Gradle Basics

Gradle 可根据构建脚本中的信息自动构建、测试和部署软件.

总体业务架构

对文字的解释:

Gradle 名词解释

Project 项目

Gradle 项目是可以构建的软件,例如应用程序或库。

单个项目生成包括一个名为根项目的单个项目。

多项目生成包括一个根项目任意数量的子项目

Build Scripts 构建脚本集

构建脚本向 Gradle 详细介绍了构建项目需要执行哪些步骤。

每个项目可以包含一个或多个生成脚本。

Dependency Manager 依赖关系管理

依赖项管理是一种自动化技术,用于声明和解析项目所需的外部资源。

每个项目通常都包含许多外部依赖项,Gradle 将在构建过程中解决这些依赖项。

Task 任务

任务是基本工作单元,例如编译代码或运行测试。

每个项目都包含在构建脚本或插件中定义的一个或多个任务。

Plugins 插件

插件用于扩展 Gradle 的功能,并选择性地为项目贡献任务

Gradle 项目结构

  1. 存放gradle wrapper文件和其他相关文件的地方。
  2. 用于依赖项的版本管理
  3. 执行wrapper的脚本
  4. 定义跟项目名称并导入子项目
  5. 子项目的构建脚本
  6. 子项目的源码

命令行接口

参考官网Command-Line Interface Basics (gradle.org)

Setting.gradle

rootProject.name = 'root-project'   //项目名称
include('sub-project-a') //引入子项目            
include('sub-project-b')
include('sub-project-c')

Build.gradle

plugins {
    id 'application'                
}

application {
    mainClass = 'com.example.Main'  
}
Li Guangqiao
Li Guangqiao

一个正在转rust的ExtJs前端工程师。迷信rust的整体发展,十分相信rust在各个领域都能发光发热,至少目前rust在很多领域上验证了其安全性、易维护性。但说实话对于我这种菜鸡也是真的难上手哈哈哈~~。 思路总结:

  • 万物诞生都会有一个需求来源,每一个改变都是为了解决某个问题,最后应该考虑如何去做
  • 学会掌握一些宏观的知识和理论:系统论、还原论
  • 工程化思想,如何描述整体,从整体架构到模块关联等 故学习东西应该像看地图一样,先看整体了解整体的结构,然后再聚焦每一个模块,对于模块的学习,思考三个问题,“是什么?”、“为什么?”、“怎么做?”;那么设计一个东西时也应该去考虑整体性和关联性。

有关于未来的发展,以下是鄙人的粗浅的观点:

  • 编程语言未来应该是每个人必备的工具
  • 未来的交互方式应该会以语言交互为主流
  • 下一个去中心化的技术方案出来之前,区块链依然是web3建立价值体系的基础技术方案,如何将现实价值和虚拟价值联通是进入数字世界的一个大难题。
  • 未来注定是AI的世界。AI的进化会伴随绝大部分人的退化,届时除了尖端人才,人们学习的重心会放在何处?