blob: dbaa0e40254cc190d8c40e2d7ad5a77d56e508a3 [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/utils/application_snapshot.gni")
# TODO(kaushikiska@): Leaving this here to make it a soft-transition
# Remove this once we no longer need engine sources in fuchsia/topaz.
if (is_fuchsia_host || is_fuchsia) {
import("//build/dart/dart_library.gni")
import("//build/dart/dart_tool.gni")
dart_library("flutter_frontend_server") {
disable_analysis = true
package_name = "flutter_frontend_server"
sources = [
"server.dart",
]
deps = [
"//third_party/dart-pkg/pub/args",
"//third_party/dart-pkg/pub/cli_util",
"//third_party/dart-pkg/pub/path",
"//third_party/dart-pkg/pub/source_maps",
"//third_party/dart-pkg/pub/usage",
"//third_party/dart/pkg/analyzer",
"//third_party/dart/pkg/build_integration",
"//third_party/dart/pkg/dev_compiler",
"//third_party/dart/pkg/front_end",
"//third_party/dart/pkg/frontend_server",
"//third_party/dart/pkg/kernel",
"//third_party/dart/pkg/vm",
]
}
dart_tool("frontend_server_tool") {
main_dart = "bin/starter.dart"
source_dir = "."
disable_analysis = true
output_name = "frontend_server"
sources = []
deps = [
":flutter_frontend_server",
]
}
}
frontend_server_files =
exec_script("//third_party/dart/tools/list_dart_files.py",
[
"absolute",
rebase_path("."),
],
"list lines")
frontend_server_files +=
exec_script("//third_party/dart/tools/list_dart_files.py",
[
"absolute",
rebase_path("../../third_party/dart/pkg"),
],
"list lines")
application_snapshot("frontend_server") {
main_dart = "bin/starter.dart"
deps = [
":package_incremental_compiler",
"//flutter/lib/snapshot:kernel_platform_files",
]
dot_packages = rebase_path(".packages")
flutter_patched_sdk = rebase_path("$root_out_dir/flutter_patched_sdk")
training_args = [
"--train",
"--sdk-root=$flutter_patched_sdk",
rebase_path(main_dart),
]
inputs = frontend_server_files
}
# For flutter/flutter#36738 we make the source files available so that
# we can generate a local frontend_server snapshot in the tools cache.
action("package_incremental_compiler") {
script = "//flutter/flutter_frontend_server/package_incremental.py"
inputs = frontend_server_files
outputs = [
"$root_gen_dir/dart-pkg/flutter_frontend_server/pubspec.yaml",
"$root_gen_dir/dart-pkg/vm/pubspec.yaml",
"$root_gen_dir/dart-pkg/build_integration/pubspec.yaml",
"$root_gen_dir/dart-pkg/front_end/pubspec.yaml",
"$root_gen_dir/dart-pkg/kernel/pubspec.yaml",
"$root_gen_dir/dart-pkg/dev_compiler/pubspec.yaml",
"$root_gen_dir/dart-pkg/frontend_server/pubspec.yaml",
]
args = [
"--input-root=" + rebase_path("//third_party/dart/pkg"),
"--output-root=" + rebase_path("$root_gen_dir/dart-pkg"),
"--frontend-server=" + rebase_path("//flutter"),
]
}