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

dart_package("analysis_server") {
  package_name = "analysis_server"

  source_dir = "lib"

  deps = [
    "//dart/pkg/analyzer",
    "//third_party/dart-pkg/pub/args",
    "//third_party/dart-pkg/pub/dart_style",
    "//third_party/dart-pkg/pub/isolate",
    "//third_party/dart-pkg/pub/linter",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/package_config",
    "//third_party/dart-pkg/pub/path",
    "//third_party/dart-pkg/pub/plugin",
    "//third_party/dart-pkg/pub/watcher",
    "//third_party/dart-pkg/pub/yaml",
  ]
}
