# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This target will be built if no target is specified when invoking ninja.
group("default") {
  testonly = true

  deps = [
    "//apps",
    "//crypto:crypto_unittests",
    "//examples",
    "//mojo",
    "//mojom",
    "//services",
    "//shell",
    "//ui/gfx:gfx_unittests",
    "//ui/events:events_unittests",
  ]

  if (!is_android && !is_win) {
    deps += [ "//tools/xdisplaycheck" ]
  }

  if (!is_asan) {
    deps += [ "//sky" ]
  }

  if (is_ios) {
    deps = []
    deps = [
      "//sky/shell",

      # TODO(csg): This target builds the testonly dependencies that allow
      # running a local instance of Sky server. Needs to to be renamed to not
      # imply Android specific behavior
      "//sky:sky_apk",
    ]
  }
}

# Deprecated name for the default build target.
group("root") {
  testonly = true
  deps = [
    ":default",
  ]
}
