@@ -6,6 +6,8 @@ import("//third_party/dart/build/dart/dart_action.gni")
66import (" //third_party/dart/utils/compile_platform.gni" )
77
88sdk_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"
911
1012web_ui_sources = exec_script (" //third_party/dart/tools/list_dart_files.py" ,
1113 [
@@ -29,8 +31,11 @@ web_engine_sources += [ "//flutter/lib/web_ui/lib/src/engine.dart" ]
2931group (" web_sdk" ) {
3032 deps = [
3133 " :flutter_dartdevc_canvaskit_kernel_sdk" ,
34+ " :flutter_dartdevc_canvaskit_kernel_sdk_sound" ,
3235 " :flutter_dartdevc_kernel_sdk" ,
3336 " :flutter_dartdevc_kernel_sdk_outline" ,
37+ " :flutter_dartdevc_kernel_sdk_outline_sound" ,
38+ " :flutter_dartdevc_kernel_sdk_sound" ,
3439 " :web_engine_sources" ,
3540 " :web_ui_library" ,
3641 " :web_ui_sources" ,
@@ -164,7 +169,6 @@ prebuilt_dart_action("flutter_dartdevc_kernel_sdk") {
164169
165170 args = [
166171 " --enable-experiment=non-nullable" ,
167- " -k" ,
168172 " --compile-sdk" ,
169173 " dart:core" ,
170174
@@ -216,7 +220,6 @@ prebuilt_dart_action("flutter_dartdevc_canvaskit_kernel_sdk") {
216220
217221 args = [
218222 " --enable-experiment=non-nullable" ,
219- " -k" ,
220223 " --compile-sdk" ,
221224 " dart:core" ,
222225
@@ -248,3 +251,155 @@ prebuilt_dart_action("flutter_dartdevc_canvaskit_kernel_sdk") {
248251 " $root_out_dir /flutter_web_sdk/kernel/legacy-canvaskit/dart_sdk.js" ),
249252 ]
250253}
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