😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍bazel构建工具配置与使用。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞
文章目录
- :smirk:1. bazel介绍
- :blush:2. 环境安装与配置
- :satisfied:3. 应用示例
😏1. bazel介绍
Bazel
是一个构建和测试软件项目的开源构建工具,由 Google 开发并开源。它旨在提供高效、可扩展和可靠的构建系统,适用于大型项目和分布式代码库。
以下是 Bazel 的一些主要特点和优势:
1.高效构建和增量构建:Bazel 使用先进的增量构建算法,只重新构建必要的部分,从而加快构建速度,特别适用于大型项目。它通过对构建目标进行哈希和缓存来确保只有发生更改的文件才会重新构建。
2.多语言支持:Bazel 支持多种编程语言,包括但不限于 C++、Java、Python 和 Go。你可以在同一个项目中组合使用多种语言,并且 Bazel 能够智能处理它们之间的依赖关系。
3.可扩展性:Bazel 可以处理大型代码库和复杂的构建需求。它支持模块化的构建配置,可以将项目划分为多个子目录和模块,并允许在不同层次上定义构建规则。
4.平台无关性:Bazel 在各种操作系统上运行,包括 Linux、macOS 和 Windows。它提供了一致的构建环境,可以确保在不同平台上产生一致的构建结果。
5.分布式构建和缓存:Bazel 支持分布式构建和缓存,可以跨多台机器共享和重用构建输出。这对于大规模团队和构建资源有限的环境非常有用,可以提高构建的效率和可靠性。
6.测试支持:Bazel 提供了强大的测试支持,包括单元测试、集成测试和端到端测试。它能够自动识别和运行需要测试的代码,并生成详细的测试报告。
综上,Bazel
是一个功能强大而灵活的构建工具,适用于大型项目和复杂的构建需求。它提供了高效的构建和测试功能,并具有良好的可扩展性和平台兼容性。
😊2. 环境安装与配置
# 添加apt源
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
# 安装bazel
sudo apt update && sudo apt install bazel
此外也可以通过源码安装。
😆3. 应用示例
一个简单的c++编译构建示例:
main.cc
#include <iostream>
int main() {
std::cout << "Hello, Bazel C++!" << std::endl;
return 0;
}
BUILD
cc_binary(
name = "hello",
srcs = ["main.cc"],
)
构建与运行:
bazel build //:hello
bazel run //:hello
更多应用实例可以参考这位博主:http://t.csdnimg.cn/Qj3ZT
以上。