File tree Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change
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 [ ^ 1 ]
27
+ * V8 team can't guarantee Bazel will still be maintained if V8 stops being used
28
+ at Google outside Chroumium
29
+
30
+ [ ^ 1 ] : There's a registry of community-maintained build files for popular
31
+ projects. It still doesn't cover several dependenceis that Node.js needs but
32
+ might be a better place to have those files instead of keeping them in Node.js
33
+ itself https://github.com/bazelbuild/bazel-central-registry/blob/main/modules/ .
34
+
35
+ ## Known ports
36
+
37
+ * No known open-source ports
38
+
39
+
40
+ ## Need more info
41
+
42
+ * Could V8 use Bazel instead of GN in their CI?
43
+
44
+ ## Observations
45
+
46
+ *
You can’t perform that action at this time.
0 commit comments