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使用方法:


相关文章
|
网络协议 安全 Linux
Tool之wget:wget的简介、安装、入门、使用方法之详细攻略(一)
Tool之wget:wget的简介、安装、入门、使用方法之详细攻略
Tool之wget:wget的简介、安装、入门、使用方法之详细攻略(一)
|
Unix Linux 程序员
Py之curses:curses库的简介、使用、安装方法详细攻略
Py之curses:curses库的简介、使用、安装方法详细攻略
Py之curses:curses库的简介、使用、安装方法详细攻略
|
XML JSON JavaScript
Py之demjson:Python库之demjson的简介、安装、使用方法详细攻略
Py之demjson:Python库之demjson的简介、安装、使用方法详细攻略
Py之demjson:Python库之demjson的简介、安装、使用方法详细攻略
|
Python
Pycharm使用教程(四)-安装python依赖包(非常详细,非常实用)
Pycharm使用教程(四)-安装python依赖包(非常详细,非常实用)
2608 0
Pycharm使用教程(四)-安装python依赖包(非常详细,非常实用)
SWIG:SWIG的简介、安装、使用方法之详细攻略
SWIG:SWIG的简介、安装、使用方法之详细攻略
SWIG:SWIG的简介、安装、使用方法之详细攻略
|
数据可视化 API 计算机视觉
Py之pycocotools:pycocotools库的简介、安装、使用方法之详细攻略续篇
Py之pycocotools:pycocotools库的简介、安装、使用方法之详细攻略续篇
|
数据可视化 API 计算机视觉
Py之pycocotools:pycocotools库的简介、安装、使用方法之详细攻略
Py之pycocotools:pycocotools库的简介、安装、使用方法之详细攻略
|
编译器 C++ Python
Py之cython:python库之cython的简介、安装、使用方法之详细攻略
Py之cython:python库之cython的简介、安装、使用方法之详细攻略
Py之cython:python库之cython的简介、安装、使用方法之详细攻略
|
Unix Linux API
Py之wxPython:wxPython的简介、安装、使用方法之详细攻略
Py之wxPython:wxPython的简介、安装、使用方法之详细攻略
Py之wxPython:wxPython的简介、安装、使用方法之详细攻略
|
程序员 Linux Android开发
Py之Kivy:Python库之Kivy的简介、安装、使用方法之详细攻略
Py之Kivy:Python库之Kivy的简介、安装、使用方法之详细攻略
Py之Kivy:Python库之Kivy的简介、安装、使用方法之详细攻略