@@ -11,10 +11,6 @@ declare_args() {
11
11
archive_flutter_web_sdk = true
12
12
}
13
13
14
- kernel_out_dir = " $root_out_dir /flutter_web_sdk/kernel"
15
- sdk_dill = " $kernel_out_dir /flutter_ddc_sdk.dill"
16
- sdk_dill_sound = " $kernel_out_dir /flutter_ddc_sdk_sound.dill"
17
-
18
14
dart_sdk_package_config = " //third_party/dart/.dart_tool/package_config.json"
19
15
20
16
web_ui_sources = exec_script (" //third_party/dart/tools/list_dart_files.py" ,
@@ -26,14 +22,9 @@ web_ui_sources = exec_script("//third_party/dart/tools/list_dart_files.py",
26
22
27
23
group (" web_sdk" ) {
28
24
deps = [
29
- " :flutter_dartdevc_canvaskit_html_kernel_sdk" ,
30
- " :flutter_dartdevc_canvaskit_html_kernel_sdk_sound" ,
31
- " :flutter_dartdevc_canvaskit_kernel_sdk" ,
32
- " :flutter_dartdevc_canvaskit_kernel_sdk_sound" ,
33
- " :flutter_dartdevc_kernel_sdk" ,
34
- " :flutter_dartdevc_kernel_sdk_outline" ,
35
- " :flutter_dartdevc_kernel_sdk_outline_sound" ,
36
- " :flutter_dartdevc_kernel_sdk_sound" ,
25
+ " :flutter_ddc_modules" ,
26
+ " :flutter_legacy_platform_dills" ,
27
+ " :flutter_web_platforms" ,
37
28
]
38
29
39
30
if (archive_flutter_web_sdk && ! is_fuchsia ) {
@@ -267,12 +258,15 @@ template("_kernel_worker") {
267
258
}
268
259
}
269
260
270
- template (" _compile_outline " ) {
261
+ template (" _compile_platform " ) {
271
262
assert (defined (invoker .sound_null_safety ),
272
263
" sound_null_safety must be defined for $target_name " )
264
+ assert (defined (invoker .kernel_target ),
265
+ " kernel_target must be defined for $target_name " )
266
+ assert (defined (invoker .summary_only ),
267
+ " summary_only must be defined for $target_name " )
273
268
assert (defined (invoker .output_dill ),
274
269
" output_dill must be defined for $target_name " )
275
-
276
270
_kernel_worker (target_name ) {
277
271
inputs = [ " sdk_rewriter.dart" ] + web_ui_sources
278
272
@@ -283,10 +277,15 @@ template("_compile_outline") {
283
277
} else {
284
278
args = [ " --no-sound-null-safety" ]
285
279
}
280
+
281
+ if (invoker .summary_only ) {
282
+ args += [ " --summary-only" ]
283
+ } else {
284
+ args += [ " --no-summary-only" ]
285
+ }
286
286
args += [
287
- " --summary-only" ,
288
287
" --target" ,
289
- " ddc " ,
288
+ " ${ invoker.kernel_target } " ,
290
289
" --packages-file" ,
291
290
" file:///" + rebase_path (dart_sdk_package_config ),
292
291
" --multi-root-scheme" ,
@@ -319,19 +318,113 @@ template("_compile_outline") {
319
318
" file:///" + rebase_path (" $root_out_dir " ),
320
319
]
321
320
}
321
+
322
+ if (defined (invoker .extra_args )) {
323
+ args += invoker .extra_args
324
+ }
322
325
}
323
326
}
324
327
325
328
# Compile the unsound DDC SDK's summary.
326
- _compile_outline (" flutter_dartdevc_kernel_sdk_outline" ) {
329
+ _compile_platform (" flutter_dartdevc_kernel_sdk_outline" ) {
327
330
sound_null_safety = false
328
- output_dill = sdk_dill
331
+ kernel_target = " ddc"
332
+ summary_only = true
333
+ output_dill = " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
329
334
}
330
335
331
336
# Compile the sound DDC SDK's summary.
332
- _compile_outline (" flutter_dartdevc_kernel_sdk_outline_sound" ) {
337
+ _compile_platform (" flutter_dartdevc_kernel_sdk_outline_sound" ) {
333
338
sound_null_safety = true
334
- output_dill = sdk_dill_sound
339
+ kernel_target = " ddc"
340
+ summary_only = true
341
+ output_dill =
342
+ " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill"
343
+ }
344
+
345
+ group (" flutter_legacy_platform_dills" ) {
346
+ public_deps = [
347
+ " :flutter_dartdevc_kernel_sdk_outline" ,
348
+ " :flutter_dartdevc_kernel_sdk_outline_sound" ,
349
+ ]
350
+ }
351
+
352
+ template (" _flutter_web_platform" ) {
353
+ assert (defined (invoker .output_dir ),
354
+ " output_dir must be defined for $target_name " )
355
+ assert (defined (invoker .use_skia ),
356
+ " use_skia must be defined for $target_name " )
357
+ assert (defined (invoker .auto_detect ),
358
+ " auto_detect must be defined for $target_name " )
359
+
360
+ define_flags = [
361
+ " -DFLUTTER_WEB_USE_SKIA=${ invoker.use_skia } " ,
362
+ " -DFLUTTER_WEB_AUTO_DETECT=${ invoker.auto_detect } " ,
363
+ ]
364
+
365
+ _compile_platform (" ${ target_name } _ddc_sound" ) {
366
+ sound_null_safety = true
367
+ kernel_target = " ddc"
368
+ summary_only = true
369
+ output_dill = " ${ invoker.output_dir } /ddc_outline_sound.dill"
370
+ extra_args = define_flags
371
+ }
372
+ _compile_platform (" ${ target_name } _ddc_unsound" ) {
373
+ sound_null_safety = false
374
+ kernel_target = " ddc"
375
+ summary_only = true
376
+ output_dill = " ${ invoker.output_dir } /ddc_outline.dill"
377
+ extra_args = define_flags
378
+ }
379
+ _compile_platform (" ${ target_name } _dart2js_sound" ) {
380
+ sound_null_safety = true
381
+ kernel_target = " dart2js"
382
+ summary_only = false
383
+ output_dill = " ${ invoker.output_dir } /dart2js_platform.dill"
384
+ extra_args = define_flags
385
+ }
386
+ _compile_platform (" ${ target_name } _dart2js_unsound" ) {
387
+ sound_null_safety = true
388
+ kernel_target = " dart2js"
389
+ summary_only = false
390
+ output_dill = " ${ invoker.output_dir } /dart2js_platform_unsound.dill"
391
+ extra_args = define_flags
392
+ }
393
+
394
+ group (target_name ) {
395
+ public_deps = [
396
+ " :${ target_name } _dart2js_sound" ,
397
+ " :${ target_name } _dart2js_unsound" ,
398
+ " :${ target_name } _ddc_sound" ,
399
+ " :${ target_name } _ddc_unsound" ,
400
+ ]
401
+ }
402
+ }
403
+
404
+ _flutter_web_platform (" flutter_auto_platform" ) {
405
+ output_dir = " $root_out_dir /flutter_web_sdk/kernel/platforms/auto"
406
+ use_skia = true
407
+ auto_detect = true
408
+ }
409
+
410
+ _flutter_web_platform (" flutter_html_platform" ) {
411
+ output_dir = " $root_out_dir /flutter_web_sdk/kernel/platforms/html"
412
+ use_skia = false
413
+ auto_detect = false
414
+ }
415
+
416
+ _flutter_web_platform (" flutter_canvaskit_platform" ) {
417
+ output_dir = " $root_out_dir /flutter_web_sdk/kernel/platforms/canvaskit"
418
+ use_skia = true
419
+ auto_detect = false
420
+ }
421
+
422
+ group (" flutter_web_platforms" ) {
423
+ public_deps = [
424
+ " :flutter_auto_platform" ,
425
+ " :flutter_canvaskit_platform" ,
426
+ " :flutter_html_platform" ,
427
+ ]
335
428
}
336
429
337
430
template (" _compile_ddc_modules" ) {
@@ -463,6 +556,17 @@ _compile_ddc_modules("flutter_dartdevc_canvaskit_html_kernel_sdk_sound") {
463
556
auto_detect = true
464
557
}
465
558
559
+ group (" flutter_ddc_modules" ) {
560
+ public_deps = [
561
+ " :flutter_dartdevc_canvaskit_html_kernel_sdk" ,
562
+ " :flutter_dartdevc_canvaskit_html_kernel_sdk_sound" ,
563
+ " :flutter_dartdevc_canvaskit_kernel_sdk" ,
564
+ " :flutter_dartdevc_canvaskit_kernel_sdk_sound" ,
565
+ " :flutter_dartdevc_kernel_sdk" ,
566
+ " :flutter_dartdevc_kernel_sdk_sound" ,
567
+ ]
568
+ }
569
+
466
570
# Archives Flutter Web SDK
467
571
if (! is_fuchsia ) {
468
572
zip_bundle_from_file (" flutter_web_sdk_archive" ) {
@@ -475,14 +579,9 @@ if (!is_fuchsia) {
475
579
output = " flutter-web-sdk-${ full_platform_name } .zip"
476
580
}
477
581
deps = [
478
- " :flutter_dartdevc_canvaskit_html_kernel_sdk" ,
479
- " :flutter_dartdevc_canvaskit_html_kernel_sdk_sound" ,
480
- " :flutter_dartdevc_canvaskit_kernel_sdk" ,
481
- " :flutter_dartdevc_canvaskit_kernel_sdk_sound" ,
482
- " :flutter_dartdevc_kernel_sdk" ,
483
- " :flutter_dartdevc_kernel_sdk_outline" ,
484
- " :flutter_dartdevc_kernel_sdk_outline_sound" ,
485
- " :flutter_dartdevc_kernel_sdk_sound" ,
582
+ " :flutter_ddc_modules" ,
583
+ " :flutter_legacy_platform_dills" ,
584
+ " :flutter_web_platforms" ,
486
585
" :skwasm_impl_library" ,
487
586
" :skwasm_stub_library" ,
488
587
" :web_engine_library" ,
@@ -493,16 +592,37 @@ if (!is_fuchsia) {
493
592
if (build_canvaskit ) {
494
593
deps += [ " //third_party/skia/modules/canvaskit" ]
495
594
}
496
- sources = get_target_outputs ( " :flutter_dartdevc_canvaskit_html_kernel_sdk " )
497
- sources +=
498
- get_target_outputs (" :flutter_dartdevc_canvaskit_html_kernel_sdk_sound " )
595
+
596
+ # flutter_ddc_modules
597
+ sources = get_target_outputs (" :flutter_dartdevc_kernel_sdk " )
499
598
sources += get_target_outputs (" :flutter_dartdevc_canvaskit_kernel_sdk" )
599
+ sources += get_target_outputs (" :flutter_dartdevc_canvaskit_html_kernel_sdk" )
600
+ sources += get_target_outputs (" :flutter_dartdevc_kernel_sdk_sound" )
500
601
sources +=
501
602
get_target_outputs (" :flutter_dartdevc_canvaskit_kernel_sdk_sound" )
502
- sources += get_target_outputs (" :flutter_dartdevc_kernel_sdk" )
603
+ sources +=
604
+ get_target_outputs (" :flutter_dartdevc_canvaskit_html_kernel_sdk_sound" )
605
+
606
+ # flutter_legacy_platform_dills
503
607
sources += get_target_outputs (" :flutter_dartdevc_kernel_sdk_outline" )
504
608
sources += get_target_outputs (" :flutter_dartdevc_kernel_sdk_outline_sound" )
505
- sources += get_target_outputs (" :flutter_dartdevc_kernel_sdk_sound" )
609
+
610
+ # flutter_web_platforms
611
+ sources += get_target_outputs (" :flutter_auto_platform_ddc_sound" )
612
+ sources += get_target_outputs (" :flutter_auto_platform_ddc_unsound" )
613
+ sources += get_target_outputs (" :flutter_auto_platform_dart2js_sound" )
614
+ sources += get_target_outputs (" :flutter_auto_platform_dart2js_unsound" )
615
+
616
+ sources += get_target_outputs (" :flutter_html_platform_ddc_sound" )
617
+ sources += get_target_outputs (" :flutter_html_platform_ddc_unsound" )
618
+ sources += get_target_outputs (" :flutter_html_platform_dart2js_sound" )
619
+ sources += get_target_outputs (" :flutter_html_platform_dart2js_unsound" )
620
+
621
+ sources += get_target_outputs (" :flutter_canvaskit_platform_ddc_sound" )
622
+ sources += get_target_outputs (" :flutter_canvaskit_platform_ddc_unsound" )
623
+ sources += get_target_outputs (" :flutter_canvaskit_platform_dart2js_sound" )
624
+ sources += get_target_outputs (" :flutter_canvaskit_platform_dart2js_unsound" )
625
+
506
626
sources += get_target_outputs (" :web_ui_library" )
507
627
sources += get_target_outputs (" :web_ui_library_sources" )
508
628
sources += get_target_outputs (" :skwasm_stub_library" )
0 commit comments