Skip to content

Commit 747327e

Browse files
committed
analysis: add Bazel toolchain analysis
1 parent 3f46926 commit 747327e

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

toolchain-analysis/bazel.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Bazel toolchain analysis
2+
3+
[Bazel](https://bazel.build/) is an open-source build and test tool similar to
4+
Make, Maven, and Gradle. It uses a human-readable, high-level build language.
5+
Bazel supports projects in multiple languages and builds outputs for multiple
6+
platforms. Bazel supports large codebases across multiple repositories, and
7+
large numbers of users.
8+
9+
## Supported platforms
10+
11+
TODO: test Bazel against currently Node.js supported platforms and toolchains
12+
(see [BUILDING.MD](https://github.com/nodejs/node/edit/master/BUILDING.md)).
13+
14+
### Unsupported platforms
15+
16+
TODO: see above
17+
18+
## Pros
19+
20+
* Easier to upgrade V8 as we don't need to rewrite build configs for V8
21+
* Compared to GN, Bazel is more widely adopted outside Chromium
22+
23+
## Cons
24+
25+
* Other dependencies will need Node.js-maintained GN build files
26+
* Currently support a limited set of platforms
27+
* V8 team can't guarantee Bazel will still be maintained if V8 stops being used
28+
at Google outside Chroumium
29+
30+
## Known ports
31+
32+
* No known open-source ports
33+
34+
35+
## Need more info
36+
37+
* Could V8 use Bazel instead of GN in their CI?
38+
39+
## Observations
40+
41+
*

0 commit comments

Comments
 (0)