@@ -6,6 +6,8 @@ import("//third_party/dart/build/dart/dart_action.gni")
6
6
import (" //third_party/dart/utils/compile_platform.gni" )
7
7
8
8
sdk_dill = " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
9
+ sdk_dill_sound =
10
+ " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill"
9
11
10
12
web_ui_sources = exec_script (" //third_party/dart/tools/list_dart_files.py" ,
11
13
[
@@ -29,8 +31,11 @@ web_engine_sources += [ "//flutter/lib/web_ui/lib/src/engine.dart" ]
29
31
group (" web_sdk" ) {
30
32
deps = [
31
33
" :flutter_dartdevc_canvaskit_kernel_sdk" ,
34
+ " :flutter_dartdevc_canvaskit_kernel_sdk_sound" ,
32
35
" :flutter_dartdevc_kernel_sdk" ,
33
36
" :flutter_dartdevc_kernel_sdk_outline" ,
37
+ " :flutter_dartdevc_kernel_sdk_outline_sound" ,
38
+ " :flutter_dartdevc_kernel_sdk_sound" ,
34
39
" :web_engine_sources" ,
35
40
" :web_ui_library" ,
36
41
" :web_ui_sources" ,
@@ -164,7 +169,6 @@ prebuilt_dart_action("flutter_dartdevc_kernel_sdk") {
164
169
165
170
args = [
166
171
" --enable-experiment=non-nullable" ,
167
- " -k" ,
168
172
" --compile-sdk" ,
169
173
" dart:core" ,
170
174
@@ -216,7 +220,6 @@ prebuilt_dart_action("flutter_dartdevc_canvaskit_kernel_sdk") {
216
220
217
221
args = [
218
222
" --enable-experiment=non-nullable" ,
219
- " -k" ,
220
223
" --compile-sdk" ,
221
224
" dart:core" ,
222
225
@@ -248,3 +251,155 @@ prebuilt_dart_action("flutter_dartdevc_canvaskit_kernel_sdk") {
248
251
" $root_out_dir /flutter_web_sdk/kernel/legacy-canvaskit/dart_sdk.js" ),
249
252
]
250
253
}
254
+
255
+ # Compiles the DDC CanvasKit SDK's JS code for null safety.
256
+ prebuilt_dart_action (" flutter_dartdevc_canvaskit_kernel_sdk_sound" ) {
257
+ deps = [
258
+ " //third_party/dart:create_sdk" ,
259
+ " //third_party/dart/pkg:pkg_files_stamp" ,
260
+ " //third_party/dart/utils/dartdevc:dartdevc_files_stamp" ,
261
+ " //third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp" ,
262
+ ]
263
+
264
+ inputs = [ " sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
265
+
266
+ packages = " //third_party/dart/.packages"
267
+
268
+ script = " //third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
269
+
270
+ outputs = [
271
+ " $root_out_dir /flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js" ,
272
+ " $root_out_dir /flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js.map" ,
273
+ ]
274
+
275
+ args = [
276
+ " --enable-experiment=non-nullable" ,
277
+ " --sound-null-safety" ,
278
+ " --compile-sdk" ,
279
+ " dart:core" ,
280
+
281
+ # Additional Flutter web dart libraries
282
+ " dart:ui" ,
283
+ " dart:_engine" ,
284
+ " --no-summarize" ,
285
+ " --packages" ,
286
+ " file:///" + rebase_path (" //third_party/dart/.packages" ),
287
+ " --multi-root-scheme" ,
288
+ " org-dartlang-sdk" ,
289
+ " --multi-root" ,
290
+ " file:///" + rebase_path (" $root_out_dir " ),
291
+ " --multi-root-output-path" ,
292
+ rebase_path (" $root_out_dir /" ),
293
+ " --libraries-file" ,
294
+ " org-dartlang-sdk:///flutter_web_sdk/libraries.json" ,
295
+ " --inline-source-map" ,
296
+ " -DFLUTTER_WEB_USE_SKIA=true" ,
297
+ " --modules" ,
298
+ " amd" ,
299
+ " -o" ,
300
+ rebase_path (
301
+ " $root_out_dir /flutter_web_sdk/kernel/amd-canvaskit-sound/dart_sdk.js" ),
302
+ " --modules" ,
303
+ " legacy" ,
304
+ " -o" ,
305
+ rebase_path (
306
+ " $root_out_dir /flutter_web_sdk/kernel/legacy-canvaskit-sound/dart_sdk.js" ),
307
+ ]
308
+ }
309
+
310
+ # Compiles the DDC SDK's JS code for null safety.
311
+ prebuilt_dart_action (" flutter_dartdevc_kernel_sdk_sound" ) {
312
+ deps = [
313
+ " //third_party/dart:create_sdk" ,
314
+ " //third_party/dart/pkg:pkg_files_stamp" ,
315
+ " //third_party/dart/utils/dartdevc:dartdevc_files_stamp" ,
316
+ " //third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp" ,
317
+ ]
318
+
319
+ inputs = [ " sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
320
+
321
+ packages = " //third_party/dart/.packages"
322
+
323
+ script = " //third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
324
+
325
+ outputs = [
326
+ " $root_out_dir /flutter_web_sdk/kernel/amd-sound/dart_sdk.js" ,
327
+ " $root_out_dir /flutter_web_sdk/kernel/amd-sound/dart_sdk.js.map" ,
328
+ ]
329
+
330
+ args = [
331
+ " --enable-experiment=non-nullable" ,
332
+ " --sound-null-safety" ,
333
+ " --compile-sdk" ,
334
+ " dart:core" ,
335
+
336
+ # Additional Flutter web dart libraries
337
+ " dart:ui" ,
338
+ " dart:_engine" ,
339
+ " --no-summarize" ,
340
+ " --packages" ,
341
+ " file:///" + rebase_path (" //third_party/dart/.packages" ),
342
+ " --multi-root-scheme" ,
343
+ " org-dartlang-sdk" ,
344
+ " --multi-root" ,
345
+ " file:///" + rebase_path (" $root_out_dir " ),
346
+ " --multi-root-output-path" ,
347
+ rebase_path (" $root_out_dir /" ),
348
+ " --libraries-file" ,
349
+ " org-dartlang-sdk:///flutter_web_sdk/libraries.json" ,
350
+ " --inline-source-map" ,
351
+ " --modules" ,
352
+ " amd" ,
353
+ " -o" ,
354
+ rebase_path (" $root_out_dir /flutter_web_sdk/kernel/amd-sound/dart_sdk.js" ),
355
+ " --modules" ,
356
+ " legacy" ,
357
+ " -o" ,
358
+ rebase_path (
359
+ " $root_out_dir /flutter_web_sdk/kernel/legacy-sound/dart_sdk.js" ),
360
+ ]
361
+ }
362
+
363
+ # Compile the DDC SDK's summary.
364
+ prebuilt_dart_action (" flutter_dartdevc_kernel_sdk_outline_sound" ) {
365
+ deps = [
366
+ " //third_party/dart:create_sdk" ,
367
+ " //third_party/dart/pkg:pkg_files_stamp" ,
368
+ " //third_party/dart/utils/dartdevc:dartdevc_files_stamp" ,
369
+ " //third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp" ,
370
+ ]
371
+
372
+ inputs = [ " sdk_rewriter.dart" ] + web_ui_sources + web_engine_sources
373
+
374
+ outputs = [
375
+ sdk_dill_sound ,
376
+ ]
377
+
378
+ script = " //third_party/dart/utils/bazel/kernel_worker.dart"
379
+
380
+ args = [
381
+ " --enable-experiment=non-nullable" ,
382
+ " --sound-null-safety " ,
383
+ " --summary-only" ,
384
+ " --target" ,
385
+ " ddc" ,
386
+ " --packages-file" ,
387
+ " file:///" + rebase_path (" //third_party/dart/.packages" ),
388
+ " --multi-root-scheme" ,
389
+ " org-dartlang-sdk" ,
390
+ " --multi-root" ,
391
+ " file:///" + rebase_path (" $root_out_dir " ),
392
+ " --libraries-file" ,
393
+ " org-dartlang-sdk:///flutter_web_sdk/libraries.json" ,
394
+ " --output" ,
395
+ rebase_path (sdk_dill_sound ),
396
+ " --source" ,
397
+ " dart:core" ,
398
+
399
+ # Additional Flutter web dart libraries
400
+ " --source" ,
401
+ " dart:ui" ,
402
+ " --source" ,
403
+ " dart:_engine" ,
404
+ ]
405
+ }
0 commit comments