Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 024ea68

Browse files
authored
Fold the GN dart_pkg template into its only use (#51151)
1 parent 2706c73 commit 024ea68

File tree

4 files changed

+38
-228
lines changed

4 files changed

+38
-228
lines changed

build/dart/rules.gni

Lines changed: 0 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -389,181 +389,3 @@ template("application_snapshot") {
389389
}
390390
}
391391
}
392-
393-
template("_dart_pkg_helper") {
394-
assert(defined(invoker.package_name))
395-
package_name = invoker.package_name
396-
pkg_directory = rebase_path("$root_gen_dir/dart-pkg")
397-
package_root = rebase_path("$root_gen_dir/dart-pkg/packages")
398-
stamp_file = "$root_gen_dir/dart-pkg/${package_name}.stamp"
399-
entries_file = "$root_gen_dir/dart-pkg/${package_name}.entries"
400-
401-
assert(defined(invoker.sources) || defined(invoker.apps) ||
402-
defined(invoker.libs) || defined(invoker.pkg_dir))
403-
404-
action(target_name) {
405-
deps = []
406-
if (defined(invoker.deps)) {
407-
deps += invoker.deps
408-
}
409-
410-
datadeps = []
411-
if (defined(invoker.datadeps)) {
412-
datadeps += invoker.datadeps
413-
}
414-
415-
sdk_ext_directory = []
416-
if (defined(invoker.sdk_ext_directory)) {
417-
sdk_ext_directory += [ invoker.sdk_ext_directory ]
418-
}
419-
420-
sdk_ext_files = []
421-
if (defined(invoker.sdk_ext_files)) {
422-
sdk_ext_files += invoker.sdk_ext_files
423-
}
424-
425-
sdk_ext_mappings = []
426-
if (defined(invoker.sdk_ext_mappings)) {
427-
sdk_ext_mappings += invoker.sdk_ext_mappings
428-
}
429-
430-
script = rebase_path("//flutter/build/dart/tools/dart_pkg.py", ".", "//")
431-
432-
entrypoints = []
433-
if (defined(invoker.apps)) {
434-
foreach(app, invoker.apps) {
435-
entrypoints += [ app[1] ]
436-
}
437-
}
438-
if (defined(invoker.libs)) {
439-
entrypoints += invoker.libs
440-
}
441-
442-
sources = entrypoints
443-
extra_flags = []
444-
if (defined(invoker.sources)) {
445-
sources += invoker.sources
446-
} else if (defined(invoker.pkg_dir)) {
447-
list_script = rebase_path("//flutter/build/dart/tools/ls.py", ".", "//")
448-
extra_flags += [ "--read_only" ]
449-
ls_sources = exec_script(list_script,
450-
[
451-
"--target-directory",
452-
rebase_path(invoker.pkg_dir),
453-
],
454-
"list lines")
455-
sources += ls_sources
456-
}
457-
458-
# We have to use foreach to set up outputs instead of rebase_path because
459-
# GN doesn't like assignments to outputs that aren't obviously under
460-
# $root_gen_dir somewhere.
461-
outputs = [
462-
"$root_gen_dir/dart-pkg/${package_name}",
463-
"$root_gen_dir/dart-pkg/${package_name}/pubspec.yaml",
464-
"$root_gen_dir/dart-pkg/packages/${package_name}",
465-
stamp_file,
466-
]
467-
468-
inputs = [ script ] + rebase_path(sources)
469-
470-
args = [
471-
"--package-name",
472-
package_name,
473-
"--dart-sdk",
474-
rebase_path(dart_sdk_root),
475-
"--pkg-directory",
476-
pkg_directory,
477-
"--package-root",
478-
package_root,
479-
"--stamp-file",
480-
rebase_path(stamp_file),
481-
"--entries-file",
482-
rebase_path(entries_file),
483-
"--package-sources",
484-
] + rebase_path(sources) + [ "--package-entrypoints" ] +
485-
rebase_path(entrypoints) + [ "--sdk-ext-directories" ] +
486-
rebase_path(sdk_ext_directory) + [ "--sdk-ext-files" ] +
487-
rebase_path(sdk_ext_files) + [ "--sdk-ext-mappings" ] +
488-
sdk_ext_mappings + extra_flags
489-
}
490-
}
491-
492-
template("dart_pkg") {
493-
if (defined(invoker.pkg_dir)) {
494-
pubspec_yaml_path = rebase_path("pubspec.yaml", "", invoker.pkg_dir)
495-
} else {
496-
pubspec_yaml_path = rebase_path("pubspec.yaml")
497-
}
498-
dart_package_name_script =
499-
rebase_path("//flutter/build/dart/tools/dart_package_name.py", ".", "//")
500-
dart_package_name = exec_script(dart_package_name_script,
501-
[
502-
"--pubspec",
503-
pubspec_yaml_path,
504-
],
505-
"trim string",
506-
[ pubspec_yaml_path ])
507-
508-
dart_pkg_target_name = "${target_name}_pkg_helper"
509-
_dart_pkg_helper(dart_pkg_target_name) {
510-
package_name = dart_package_name
511-
if (defined(invoker.sources)) {
512-
sources = invoker.sources
513-
}
514-
if (defined(invoker.apps)) {
515-
apps = invoker.apps
516-
}
517-
if (defined(invoker.libs)) {
518-
libs = invoker.libs
519-
}
520-
if (defined(invoker.pkg_dir)) {
521-
pkg_dir = invoker.pkg_dir
522-
}
523-
if (defined(invoker.deps)) {
524-
deps = invoker.deps
525-
}
526-
if (defined(invoker.datadeps)) {
527-
datadeps = invoker.datadeps
528-
}
529-
if (defined(invoker.sdk_ext_directory)) {
530-
sdk_ext_directory = invoker.sdk_ext_directory
531-
}
532-
if (defined(invoker.sdk_ext_files)) {
533-
sdk_ext_files = invoker.sdk_ext_files
534-
}
535-
if (defined(invoker.sdk_ext_mappings)) {
536-
sdk_ext_mappings = invoker.sdk_ext_mappings
537-
}
538-
}
539-
540-
if (defined(invoker.apps)) {
541-
pkg_helper_output_dir = "$root_gen_dir/dart-pkg/${dart_package_name}"
542-
foreach(app, invoker.apps) {
543-
app_name = app[0]
544-
app_entrypoint = app[1]
545-
dartx_output_name = app_name
546-
dartx_application("${app_name}_dart_app") {
547-
output_name = dartx_output_name
548-
main_dart = rebase_path(app_entrypoint, "", pkg_helper_output_dir)
549-
sources = [ "$root_gen_dir/dart-pkg/${dart_package_name}.stamp" ]
550-
deps = [ ":$dart_pkg_target_name" ]
551-
deps += invoker.deps
552-
if (defined(invoker.strict)) {
553-
strict = invoker.strict
554-
}
555-
}
556-
}
557-
}
558-
559-
group(target_name) {
560-
public_deps = [ ":$dart_pkg_target_name" ]
561-
if (defined(invoker.apps)) {
562-
foreach(app, invoker.apps) {
563-
app_name = app[0]
564-
dartx_target_name = "${app_name}_dart_app"
565-
deps += [ ":$dartx_target_name" ]
566-
}
567-
}
568-
}
569-
}

build/dart/tools/dart_package_name.py

Lines changed: 0 additions & 44 deletions
This file was deleted.

sky/dist/BUILD.gn

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ if (is_android) {
2121
rebase_path(dest),
2222
]
2323

24-
deps = [
25-
"//flutter/sky/packages/sky_engine",
26-
"//flutter/sky/packages/sky_engine:sky_engine_pkg_helper",
27-
]
24+
deps = [ "//flutter/sky/packages/sky_engine" ]
2825
}
2926

3027
zip_bundle("zip") {

sky/packages/sky_engine/BUILD.gn

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,13 @@ generated_file("_embedder_yaml") {
267267
]
268268
}
269269

270-
dart_pkg("sky_engine") {
270+
action("sky_engine") {
271+
package_name = "sky_engine"
272+
pkg_directory = rebase_path("$root_gen_dir/dart-pkg")
273+
package_root = rebase_path("$root_gen_dir/dart-pkg/packages")
274+
stamp_file = "$root_gen_dir/dart-pkg/${package_name}.stamp"
275+
entries_file = "$root_gen_dir/dart-pkg/${package_name}.entries"
276+
271277
sources = [
272278
"LICENSE",
273279
"README.md",
@@ -287,9 +293,38 @@ dart_pkg("sky_engine") {
287293
}
288294

289295
service_isolate_dir = "$dart_src/sdk/lib/_internal/vm/bin/"
290-
sdk_ext_directory = "$root_gen_dir/sky/bindings"
296+
sdk_ext_directory = [ "$root_gen_dir/sky/bindings" ]
291297
sdk_ext_files = [
292298
"$service_isolate_dir/vmservice_io.dart",
293299
"$service_isolate_dir/vmservice_server.dart",
294300
]
301+
302+
outputs = [
303+
"$root_gen_dir/dart-pkg/${package_name}",
304+
"$root_gen_dir/dart-pkg/${package_name}/pubspec.yaml",
305+
"$root_gen_dir/dart-pkg/packages/${package_name}",
306+
stamp_file,
307+
]
308+
309+
script = rebase_path("//flutter/build/dart/tools/dart_pkg.py", ".", "//")
310+
311+
inputs = [ script ] + rebase_path(sources)
312+
313+
args = [
314+
"--package-name",
315+
package_name,
316+
"--dart-sdk",
317+
rebase_path(dart_sdk_root),
318+
"--pkg-directory",
319+
pkg_directory,
320+
"--package-root",
321+
package_root,
322+
"--stamp-file",
323+
rebase_path(stamp_file),
324+
"--entries-file",
325+
rebase_path(entries_file),
326+
"--package-sources",
327+
] + rebase_path(sources) + [ "--sdk-ext-directories" ] +
328+
rebase_path(sdk_ext_directory) + [ "--sdk-ext-files" ] +
329+
rebase_path(sdk_ext_files) + [ "--sdk-ext-mappings" ]
295330
}

0 commit comments

Comments
 (0)