# 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("//flutter/build/dart/rules.gni")

application_snapshot("frontend_server") {
  main_dart = "bin/starter.dart"
  deps = [ "//flutter/lib/snapshot:kernel_platform_files" ]

  package_config = rebase_path(".dart_tool/package_config.json")
  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
}
