blob: bd83144690b17d0c70d1285f5eae6eff6adbe633 [file] [log] [blame]
# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/dart/build/dart/dart_action.gni")
# Generates a Dart kernel snapshot using flutter_frontend_server.
#
# Arguments
# dart_main (required): The Main Dart file.
#
# dart_kernel (required): The path to the output kernel snapshot in the out
# directory.
#
# packages (required): The path to the .packages file.
template("compile_flutter_dart_test") {
assert(defined(invoker.dart_file), "The Dart test file must be specified.")
assert(defined(invoker.dart_kernel),
"The Dart Kernel file location must be specified.")
assert(defined(invoker.packages),
"The path to the .packages file must be specified.")
dart_action(target_name) {
testonly = true
deps = []
if (defined(invoker.deps)) {
deps += invoker.deps
}
deps += [
"//flutter/flutter_frontend_server:frontend_server",
"//flutter/lib/snapshot:strong_platform",
]
script = "$root_gen_dir/frontend_server.dart.snapshot"
packages = rebase_path(invoker.packages) # rebase_path(".packages")
inputs = [ invoker.dart_file ]
outputs = [ invoker.dart_kernel ]
snapshot_depfile =
"$root_gen_dir/flutter/testing/snapshot_$target_name.depfile.d"
depfile = snapshot_depfile
flutter_patched_sdk = rebase_path("$root_out_dir/flutter_patched_sdk")
vm_args = [ "--disable-dart-dev" ]
args = [
"--sound-null-safety",
"--sdk-root",
flutter_patched_sdk,
"--target=flutter",
"--packages",
packages,
"--depfile",
rebase_path(snapshot_depfile),
"--output-dill",
rebase_path(invoker.dart_kernel, root_out_dir),
rebase_path(invoker.dart_file),
]
}
}