[build] Don't make kernel generating depend on training run inputs.

Shortens the critial path when building the SDK by ~10 seconds.

Change-Id: I87bb31646c6468fe974da9fbc4ca2e09af39802b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/361760
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
This commit is contained in:
Ryan Macnak 2024-04-10 23:34:14 +00:00 committed by Commit Queue
parent 7b2c672c8a
commit 058cb1d701
3 changed files with 23 additions and 8 deletions

View file

@ -27,6 +27,12 @@ declare_args() {
# training_args (required):
# Arguments to pass to the Dart application for the training run.
#
# training_deps (optional):
# Deps needed for the training run.
#
# training_inputs (optional):
# Inputs needed for the training run.
#
# vm_args (optional):
# Additional arguments to the Dart VM.
#
@ -57,6 +63,14 @@ template("application_snapshot") {
}
main_dart = invoker.main_dart
training_args = invoker.training_args
training_deps = []
if (defined(invoker.training_deps)) {
training_deps += invoker.training_deps
}
training_inputs = []
if (defined(invoker.training_inputs)) {
training_inputs += invoker.training_inputs
}
name = target_name
if (defined(invoker.name)) {
name = invoker.name
@ -149,18 +163,20 @@ template("application_snapshot") {
assert(snapshot_vm_args != "", "Ignoring unused argument")
assert(training_args != "", "Ignoring unused argument")
assert(training_inputs != "", "Ignoring unused argument")
assert(training_deps != "", "Ignoring unused argument")
}
} else {
dart_action(target_name) {
if (defined(invoker.pool)) {
pool = invoker.pool
}
deps = extra_deps + [ ":${target_name}_dill" ]
deps = extra_deps + [ ":${target_name}_dill" ] + training_deps
depfile = "$output.d"
script = "$target_gen_dir/$name.dart.dill"
inputs = extra_inputs
inputs = extra_inputs + training_inputs
outputs = [ output ]

View file

@ -53,18 +53,17 @@ prebuilt_dart_action("dart2js_create_snapshot_entry") {
sdk_root = "../../sdk"
application_snapshot("dart2js") {
deps = [
deps = [ ":dart2js_create_snapshot_entry" ]
training_deps = [
":compile_dart2js_platform",
":compile_dart2js_platform_unsound",
":dart2js_create_snapshot_entry",
]
inputs = [
training_inputs = [
"$root_out_dir/dart2js_platform.dill",
"$root_out_dir/dart2js_platform_unsound.dill",
"$root_out_dir/dart2js_outline.dill",
"$root_out_dir/dart2js_outline_unsound.dill",
]
vm_args = []
main_dart = "$target_gen_dir/dart2js.dart"
training_args = [
"--invoker=gn_build",

View file

@ -26,8 +26,8 @@ application_snapshot("dartdevc") {
rebase_path("../../pkg/dev_compiler/bin/dartdevc.dart"),
]
deps = [ ":ddc_platform" ]
inputs = [ sdk_outline_dill ]
training_deps = [ ":ddc_platform" ]
training_inputs = [ sdk_outline_dill ]
}
template("dart2js_compile") {