55import (" //third_party/dart/build/dart/dart_action.gni" )
66import (" //third_party/dart/utils/compile_platform.gni" )
77
8- sdk_dill = " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
98sdk_libraries_json = " $root_out_dir /flutter_web_sdk/libraries.json"
9+ sdk_dill = " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
1010
1111web_ui_sources =
1212 exec_script (" //third_party/dart/tools/list_dart_files.py" ,
@@ -31,6 +31,7 @@ web_engine_sources += [ "$flutter_root/lib/web_ui/lib/src/engine.dart" ]
3131group (" web_sdk" ) {
3232 deps = [
3333 " :flutter_dartdevc_kernel_sdk" ,
34+ " :flutter_dartdevc_kernel_sdk_outline" ,
3435 " :web_engine_sources" ,
3536 " :web_ui_library" ,
3637 " :web_ui_sources" ,
@@ -95,32 +96,88 @@ copy("web_ui_library") {
9596 ]
9697}
9798
98- prebuilt_dart_action (" flutter_dartdevc_kernel_sdk" ) {
99+ # Compile the DDC SDK's summary.
100+ prebuilt_dart_action (" flutter_dartdevc_kernel_sdk_outline" ) {
99101 deps = [
100102 " //third_party/dart/pkg:pkg_files_stamp" ,
101103 " //third_party/dart/utils/dartdevc:dartdevc_files_stamp" ,
102104 " //third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp" ,
103105 ]
104106
105- inputs = [
106- " //third_party/dart/pkg/dev_compiler/tool/kernel_sdk.dart" ,
107- ]
107+ inputs = []
108108
109109 outputs = [
110110 sdk_dill ,
111- " $root_out_dir /flutter_web_sdk/lib/_internal/libraries.json" ,
112- " $root_out_dir /flutter_web_sdk/kernel/amd/dart_sdk.js" ,
113- " $root_out_dir /flutter_web_sdk/kernel/amd/dart_sdk.js.map" ,
114111 ]
115112
116- script = " flutter_kernel_sdk.dart"
113+ script = " //third_party/dart/utils/bazel/kernel_worker.dart"
114+
115+ args = [
116+ " --summary-only" ,
117+ " --target" ,
118+ " ddc" ,
119+ " --packages-file" ,
120+ " org-dartlang-sdk:/third_party/dart/.packages" ,
121+ " --multi-root-scheme" ,
122+ " org-dartlang-sdk" ,
123+ " --multi-root" ,
124+ " file://" + rebase_path (" ../../" ),
125+ " --libraries-file" ,
126+ " org-dartlang-sdk:/$sdk_libraries_json " ,
127+ " --output" ,
128+ rebase_path (sdk_dill ),
129+ " --source" ,
130+ " dart:core" ,
131+
132+ # Additional Flutter web dart libraries
133+ " --source" ,
134+ " dart:ui" ,
135+ " --source" ,
136+ " dart:_engine" ,
137+ ]
138+ }
139+
140+ # Compiles the DDC SDK's JS code.
141+ prebuilt_dart_action (" flutter_dartdevc_kernel_sdk" ) {
142+ deps = [
143+ " //third_party/dart/pkg:pkg_files_stamp" ,
144+ " //third_party/dart/utils/dartdevc:dartdevc_files_stamp" ,
145+ " //third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp" ,
146+ ]
147+
148+ inputs = []
149+
117150 packages = " //third_party/dart/.packages"
118151
119- output_path = rebase_path (sdk_dill )
120- libraries_path = rebase_path (sdk_libraries_json )
152+ script = " //third_party/dart/pkg/dev_compiler/bin/dartdevc.dart"
153+
154+ outputs = [
155+ " $root_out_dir /flutter_web_sdk/kernel/amd/dart_sdk.js" ,
156+ " $root_out_dir /flutter_web_sdk/kernel/amd/dart_sdk.js.map" ,
157+ ]
121158
122159 args = [
123- " --output=$output_path " ,
124- " --libraries=$libraries_path " ,
160+ " -k" ,
161+ " --compile-sdk" ,
162+ " dart:core" ,
163+
164+ # Additional Flutter web dart libraries
165+ " dart:ui" ,
166+ " dart:_engine" ,
167+ " --no-summarize" ,
168+ " --packages" ,
169+ " org-dartlang-sdk:/third_party/dart/.packages" ,
170+ " --multi-root-scheme" ,
171+ " org-dartlang-sdk" ,
172+ " --multi-root" ,
173+ " file://" + rebase_path (" ../../" ),
174+ " --multi-root-output-path" ,
175+ rebase_path (" $root_out_dir /" ),
176+ " --libraries-file" ,
177+ " org-dartlang-sdk:/$sdk_libraries_json " ,
178+ " --modules" ,
179+ " amd" ,
180+ " -o" ,
181+ rebase_path (" $root_out_dir /flutter_web_sdk/kernel/amd/dart_sdk.js" ),
125182 ]
126183}
0 commit comments