Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略

简介: Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略

Bazel的简介


     Bazel:Build and test software of any size, quickly and reliably任意大小、快速、可靠的测试软件。Bazel是google推出的一款工程编译工具,并且已经将其开源。Bazel可以快速地构建可靠的代码,谷歌的大多数软件都是由它来构建,因此,在谷歌的开发环境里,它主要负责处理代码构建相关问题:大规模数据构建问题,共享代码库问题,从源代码构建的软件的相关问题。Bazel支持多种语言并且跨平台,还支持自动化测试和部署、具有再现性(Reproducibility)和规模化等特征。Bazel在谷歌大规模软件开发实践能力方面起着至关重要的作用。简单来说,Bazel类似于make。


加快构建和测试速度:BaZeL只重建必要的东西。通过高级的本地缓存和分布式缓存、优化的依赖性分析和并行执行,可以快速和增量地进行构建。

一种工具,多种语言:构建和测试Java、C++、Android、IOS、GO以及各种各样的其他语言平台。BAZEL在Windows、MaOS和Linux上运行。

可缩放:BAZEL帮助您扩展您的组织、代码库和持续集成系统。它处理任意大小的代码库,在多个存储库或巨大的MMOREPO中。

可扩展到您的需要:用Bazel熟悉的扩展语言轻松地支持新语言和新平台。共享和重用由成长中的Bazel社区编写的语言规则。

官网地址:https://www.bazel.build


1、Bazel的应用:可以构建一个服务器、Android和iOS应用。





Bazel的安装


1、Windows安装&安装:https://docs.bazel.build/versions/master/install-windows.html


(1)、下载并安装,

(2)、将该路径添加到系统环境变量内

(3)、编辑环境参数:从“控制面板或开始菜单”打开“环境变量”对话框,并在“用户变量”部分下添加或编辑以下变量:

1)、编辑路径。将新条目添加到列表的开头:BAZEL.EXE的目录。(例如:C:BAZEL)。MSYS2的UR \ bin目录。(例如:c:\Mys64 \ Ur\bin)。如果您将构建Python代码:Python .EXE的目录。(例:C:\Python 3)。

2)、添加BZELLSHIH,其价值必须是MyS2 BASH的路径。例子:c:\Mys64 \Ur\bin \Bas.EXE

3)、添加JavaJHEAD(如果你将构建Java代码)。它的值必须是安装Java JDK 8的目录,例如C:\程序文件\java\jdk1.8015152。


2、Ubuntu下载&安装:https://docs.bazel.build/versions/master/install-ubuntu.html



Bazel的使用方法


0、使用bazel时,先要了解几个概念:


workspace 工作空间,每个工作空间中由一个WORKSPACE文件,来描述工作空间所使用到的信息。

package 程序包,每个程序包中包含一个BUILD文件,此文件中描述了此工具包的生成构建方式。

target 目标,生成的目标,每个target又可以作为另外一个规则的输入。绝大部分的target属于两种基本类型中的一种,file和rule。另外,还有一种其他的target类型,package group。但是他们很少见。

(1)、关于工作区

bazel builds应该在一个工作区内运行,这个工作区应该包括源代码和build输出目录的符号链接(eg: bazel-bin、bazel-out)。工作区目录的位置是可以随意,但工作区的根目录必须包含一个名为WORKSPACE的工作区配置文件,工作区配置文件可以是一个空文件,也可以包含引用外部构建输出所需的依赖关系。在一个工作区内,可以根据需求共享多个项目。


(2)、创建Build文件

Bazel通过检查BUIDL文件可以知道那些目标文件被创建在项目中,这些BUILD文件采用与Python相似的语法所写,这种语言通常是一系列规则的声明,每个规则指定相应的输入、输出以及实现输入到输出的方法。



1、Windows使用方法:https://docs.bazel.build/versions/master/windows.html


2、Ubuntu使用方法:


相关文章
|
Rust 数据可视化 安全
Rust性能分析工具概览:perf、flamegraph 与其他
Rust作为一种高性能、内存安全的编程语言,在构建大型系统和微服务时备受青睐。然而,优化Rust程序的性能需要有效的工具。本文将对Rust中常用的性能分析工具进行介绍,包括perf、flamegraph等,并探讨它们如何帮助开发者定位和解决性能瓶颈。
1810 1
|
Linux C语言 ice
编译安装 tree 命令
编译安装 tree 命令
504 0
|
JavaScript Java 应用服务中间件
使用 Docker 高效搭建本地开发环境(详细教程)
使用 Docker 高效搭建本地开发环境(详细教程)
16976 0
使用 Docker 高效搭建本地开发环境(详细教程)
|
存储 Docker 容器
docker部署etcd集群及使用?
docker部署etcd集群及使用?
874 0
|
项目管理
项目管理办公室(Project Management Office)
当今的商业环境变得越来越复杂,项目管理成为了成功实施战略和取得竞争优势的关键。为了更好地管理和协调项目,许多组织都建立了项目管理办公室(PMO)。本文将详细探讨PMO的概念、功能以及它们在项目管理中的重要性。
|
2月前
|
人工智能 API 芯片
重磅!阿里云真武 M890 超节点 Day0 适配 Kimi K3,国产算力支撑近 3 万亿参数大模型
阿里云真武M890超节点实例Day0适配Kimi K3(近3万亿参数),国内首个跑通该规模模型的超节点。依托64卡全互联、9TB显存与ICN Switch高速网络,突破算力瓶颈;软硬协同优化后,首Token时延降35%,单卡吞吐提升1.8倍。在阿里云百炼官网:https://t.aliyun.com/U/fPVHqY 免费领取千万Tokens
391 1
|
5月前
|
人工智能 安全 Windows
2026 版 OpenClaw Win11 安装与配置全流程
OpenClaw(GitHub星标28W+)是开源本地AI智能体,支持电脑操控、文件整理、浏览器/办公自动化,数据不出设备,隐私安全。本教程专为Windows 11优化,解决Defender拦截、中文路径等问题,双击即可一键部署,3–5分钟快速启用。(239字)
|
机器学习/深度学习 算法 vr&ar
数学建模三大类模型适用场景及建模方法(纯干货)
如果评价指标个数过多(一般超过9个),利用层次分析法所得到的权重就有-定的偏差,继而组合评价模型的结果就不再可靠。可以根据评价对象的实际情况和特点,利用一定的方法,将各原始指标分层和归类,使得每易各类中的指标数少于9个。
5333 0
数学建模三大类模型适用场景及建模方法(纯干货)
|
存储 缓存 人工智能
阿里云Tair KVCache:打造以缓存为中心的大模型Token超级工厂
Tair KVCache 是阿里云推出的面向大语言模型推理场景的缓存加速服务,基于分布式内存池化和分级缓存体系,解决显存墙与带宽瓶颈问题。为万亿参数模型的高效推理提供技术保障,推动 AI 算力进化与规模化应用。
|
自然语言处理 安全 算法
【Qt 基础 】深入理解Qt:qApp的全面掌握与实践
【Qt 基础 】深入理解Qt:qApp的全面掌握与实践
1261 1

热门文章

最新文章