# 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.

group("sky") {
  testonly = true

  deps = [
    "//sky/engine/platform:platform_unittests($host_toolchain)",
    "//sky/engine/wtf:unittests($host_toolchain)",
    "//examples",
    "//sky/tools/imagediff($host_toolchain)",
    "//sky/tools/sky_snapshot($host_toolchain)",
    ":sky_dev",
  ]

  if (!is_android) {
    deps += [ "//third_party/mesa:osmesa" ]
  }
}

group("sky_dev") {
  testonly = true

  deps = [
    "//sky/packages",
    "//examples/demo_launcher",
    "//sky/shell",
  ]

  if (is_android) {
    deps += [ "//sky/services/activity" ]
  }
}
