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

import("//build/config/ui.gni")
import("//tools/grit/grit_rule.gni")

group("sky") {
  testonly = true

  deps = [
    "//services/debugger",
    "//sky/engine/platform:platform_unittests",
    "//sky/engine/web:sky_unittests",
    "//sky/engine/wtf:unittests",
    "//sky/tools/imagediff",
    "//sky/tools/tester",
    "//sky/viewer",
    ":sky_apk",
  ]

  # Mac's host toolchain doesn't support C++11 and can't build the packager.
  if (host_os != "mac") {
    deps += [ "//sky/tools/packager($host_toolchain)" ]
  }

  if (is_android) {
    deps += [ "//sky/apk/stocks" ]
  }

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

group("sky_apk") {
  testonly = true

  deps = [
    "//mojo/dart/mojo_services",
    "//mojo/dart/mojom",
    "//mojo/public/dart:mojo",
    "//sky/sdk",
    "//third_party/dart-pkg",
  ]

  if (is_android) {
    deps += [
      "//sky/apk/demo",
      "//sky/services/intents",
    ]
  }
}
