5
5
import (" //third_party/dart/build/dart/dart_action.gni" )
6
6
import (" //third_party/dart/utils/compile_platform.gni" )
7
7
8
- sdk_dill = " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
9
8
sdk_libraries_json = " $root_out_dir /flutter_web_sdk/libraries.json"
9
+ sdk_dill = " $root_out_dir /flutter_web_sdk/kernel/flutter_ddc_sdk.dill"
10
10
11
11
web_ui_sources =
12
12
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" ]
31
31
group (" web_sdk" ) {
32
32
deps = [
33
33
" :flutter_dartdevc_kernel_sdk" ,
34
+ " :flutter_dartdevc_kernel_sdk_outline" ,
34
35
" :web_engine_sources" ,
35
36
" :web_ui_library" ,
36
37
" :web_ui_sources" ,
@@ -95,32 +96,88 @@ copy("web_ui_library") {
95
96
]
96
97
}
97
98
98
- prebuilt_dart_action (" flutter_dartdevc_kernel_sdk" ) {
99
+ # Compile the DDC SDK's summary.
100
+ prebuilt_dart_action (" flutter_dartdevc_kernel_sdk_outline" ) {
99
101
deps = [
100
102
" //third_party/dart/pkg:pkg_files_stamp" ,
101
103
" //third_party/dart/utils/dartdevc:dartdevc_files_stamp" ,
102
104
" //third_party/dart/utils/dartdevc:dartdevc_sdk_patch_stamp" ,
103
105
]
104
106
105
- inputs = [
106
- " //third_party/dart/pkg/dev_compiler/tool/kernel_sdk.dart" ,
107
- ]
107
+ inputs = []
108
108
109
109
outputs = [
110
110
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" ,
114
111
]
115
112
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
+
117
150
packages = " //third_party/dart/.packages"
118
151
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
+ ]
121
158
122
159
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" ),
125
182
]
126
183
}
0 commit comments