# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

import("../invoke_dart.gni")

application_snapshot("dartdevc") {
  main_dart = "../../pkg/dev_compiler/bin/dartdevc.dart"
  training_args = [
    "--dart-sdk",
    rebase_path("../../sdk"),
    "--help",
  ]
  inputs = exec_script("../../tools/list_dart_files.py",
                       [ rebase_path("../../pkg/dev_compiler/bin") ],
                       "list lines")
}
