@@ -27,6 +27,10 @@ class BuildCommand extends Command<bool> with ArgUtils<bool> {
2727 'by default.' ,
2828 defaultsTo: true
2929 );
30+ argParser.addFlag (
31+ 'build-canvaskit-chromium' ,
32+ help: 'Build the Chromium variant of CanvasKit. Disabled by default.' ,
33+ );
3034 argParser.addFlag (
3135 'host' ,
3236 help: 'Build the host build instead of the wasm build, which is '
@@ -44,13 +48,19 @@ class BuildCommand extends Command<bool> with ArgUtils<bool> {
4448
4549 bool get buildCanvasKit => boolArg ('build-canvaskit' );
4650
51+ bool get buildCanvasKitChromium => boolArg ('build-canvaskit-chromium' );
52+
4753 bool get host => boolArg ('host' );
4854
4955 @override
5056 FutureOr <bool > run () async {
5157 final FilePath libPath = FilePath .fromWebUi ('lib' );
5258 final List <PipelineStep > steps = < PipelineStep > [
53- GnPipelineStep (buildCanvasKit: buildCanvasKit, host: host),
59+ GnPipelineStep (
60+ buildCanvasKit: buildCanvasKit,
61+ buildCanvasKitChromium: buildCanvasKitChromium,
62+ host: host,
63+ ),
5464 NinjaPipelineStep (target: host ? environment.hostDebugUnoptDir : environment.wasmReleaseOutDir),
5565 ];
5666 final Pipeline buildPipeline = Pipeline (steps: steps);
@@ -75,9 +85,14 @@ class BuildCommand extends Command<bool> with ArgUtils<bool> {
7585/// Not safe to interrupt as it may leave the `out/` directory in a corrupted
7686/// state. GN is pretty quick though, so it's OK to not support interruption.
7787class GnPipelineStep extends ProcessStep {
78- GnPipelineStep ({required this .buildCanvasKit, required this .host});
88+ GnPipelineStep ({
89+ required this .buildCanvasKit,
90+ required this .buildCanvasKitChromium,
91+ required this .host,
92+ });
7993
8094 final bool buildCanvasKit;
95+ final bool buildCanvasKitChromium;
8196 final bool host;
8297
8398 @override
@@ -97,6 +112,7 @@ class GnPipelineStep extends ProcessStep {
97112 '--web' ,
98113 '--runtime-mode=release' ,
99114 if (buildCanvasKit) '--build-canvaskit' ,
115+ if (buildCanvasKitChromium) '--build-canvaskit-chromium' ,
100116 ];
101117 }
102118 }
0 commit comments