EN

龙芯业务

LOONGSON BUSINESS

栏目导航

代码构建工具bazel

LOONGSON SOLUTION

代码构建工具bazel

开源生态 2019-04-15 阅读次数:

请在下面红框内插入图片,不要放其它内容

  • 软件名称
    代码构建工具bazel
  • 软件版本
    0.21.0
  • 源码链接
    https://github.com/FengRillian/bazel-0.21.0-dist
  • 软件介绍
    Bazel是设计用来配合Google的软件开发模式。有以下几个特点:
    • 多语言支持:Bazel支持Java,Objective-C和C++,可以扩展来支持任意的编程语言
    • 高级别的构建语言:工程是通过BUILD语言来描述的。BUILD语言以简洁的文本格式,描述了由多个小的互相关联的库、二进制程序和测试程序来组成的一个项目。而与之相比,Make这类的工具需要描述各个单独的文件和编译的命令
    • 多平台支持:同一套工具和同样的BUILD文件可以用来构建不同架构和不同平台的软件。在Google,我们使用Bazel来构建在我们数据中心系统中运行的服务器端程序和在手机上运行的客户端应用程序。
    • 重现性[Reproducibility]:在BUILD文件中,每个库,测试程序,二进制文件必须明确完整地指定直接依赖。当修改源代码文件后,Bazel使用这个依赖信息就可以知道哪些必须重新构建,哪些任务可以并行执行。这意味者所有的构建都是增量形式的并能够每次都生成相同的结果。
    • 伸缩性[Scalability]:Bazel可以处理巨大的构建;在Google,一个服务器端程序超过100k的源码是常有的事情,如果没有文件被改动,构建过程需要大约200ms。
  • 使用帮助
    git clone https://github.com/bazelbuild/examples/
    例子:
    examples
    └── cpp-tutorial
        ├──stage1
          ├── main
             ├── BUILD
             └── hello-world.cc
          └── WORKSPACE
        ├──stage2
          ├── main
             ├── BUILD
             ├── hello-world.cc
             ├── hello-greet.cc
             └── hello-greet.h
          └── WORKSPACE
        └──stage3
           ├── main
              ├── BUILD
              ├── hello-world.cc
              ├── hello-greet.cc
              └── hello-greet.h
           ├── lib
              ├── BUILD
              ├── hello-time.cc
              └── hello-time.h
           └── WORKSPACE

    进入cpp-tutorial/stage1 目录键入命令:
    bazel build //main:hello-world
  • 详细帮助
    https://docs.bazel.build/versions/master/user-manual.html
  •  
  •