Bazel Overview()

  本篇文章为你整理了Bazel Overview()的详细内容,包含有 Bazel Overview,希望能帮助你了解 Bazel Overview。

  Bazel is an open-source build and test tool similar to Make, Maven, and Gradle.

  It uses a human-readable, high-level build language. Bazel supports projects in

  multiple languages and builds outputs for multiple platforms. Bazel supports

  large codebases across multiple repositories, and large numbers of users.

  Benefits

  Bazel offers the following advantages:

  
High-level build language. Bazel uses an abstract, human-readable

  language to describe the build properties of your project at a high

  semantical level. Unlike other tools, Bazel operates on the concepts

  of libraries, binaries, scripts, and data sets, shielding you from the

  complexity of writing individual calls to tools such as compilers and

  linkers.

  
Bazel is fast and reliable. Bazel caches all previously done work and

  tracks changes to both file content and build commands. This way, Bazel

  knows when something needs to be rebuilt, and rebuilds only that. To further

  speed up your builds, you can set up your project to build in a highly

  parallel and incremental fashion.

  
Bazel is multi-platform. Bazel runs on Linux, macOS, and Windows. Bazel

  can build binaries and deployable packages for multiple platforms, including

  desktop, server, and mobile, from the same project.

  
Bazel scales. Bazel maintains agility while handling builds with 100k+

  source files. It works with multiple repositories and user bases in the tens

  of thousands.

  
Bazel is extensible. Many languages are

  supported, and you can extend Bazel to support any other language or

  framework.

  
Set up a project workspace, which is a

  directory where Bazel looks for build inputs and BUILD files, and where it

  stores build outputs.

  
You write your BUILD file by declaring build targets using

  Starlark, a domain-specific language. (See example

  here.)

   A build target specifies a set of input artifacts that Bazel will build plus

  their dependencies, the build rule Bazel will use to build it, and options

  that configure the build rule.

   A build rule specifies the build tools Bazel will use, such as compilers and

  linkers, and their configurations. Bazel ships with a number of build rules

  covering the most common artifact types in the supported languages on

  supported platforms.

  
Run Bazel from the command line. Bazel

  places your outputs within the workspace.

  
In addition to building, you can also use Bazel to run

  tests and query the build

  to trace dependencies in your code.

  Bazel build process

  When running a build or a test, Bazel does the following:

  
Analyzes the inputs and their

  dependencies, applies the specified build

  rules, and produces an action

  graph.

  
Executes the build actions on the inputs until the final build outputs

  are produced.

  
Since all previous build work is cached, Bazel can identify and reuse cached

  artifacts and only rebuild or retest what’s changed. To further enforce

  correctness, you can set up Bazel to run builds and tests

  hermetically through sandboxing, minimizing skew

  and maximizing reproducibility.

  Action graph

  The action graph represents the build artifacts, the relationships between them,

  and the build actions that Bazel will perform. Thanks to this graph, Bazel can

  track changes to

  file content as well as changes to actions, such as build or test commands, and

  know what build work has previously been done. The graph also enables you to

  easily trace dependencies in your code.

  Getting started tutorials

  To get started with Bazel, see Getting Started or jump

  directly to the Bazel tutorials:

  以上就是Bazel Overview()的详细内容,想要了解更多 Bazel Overview的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: