# 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")

group("examples") {
  testonly = true

  deps = [
    "//examples/apptest",
    "//examples/content_handler_demo",
    "//examples/echo",
    "//examples/embedded_app",
    "//examples/ganesh_app",
    "//examples/http_handler",
    "//examples/indirect_service",
    "//examples/png_viewer",
    "//examples/recipes",
    "//examples/recursive_content_handler",
    "//examples/sample_app",
    "//examples/sky_compositor_app",
    "//examples/surfaces_app",
    "//examples/wget",
  ]

  if (use_aura) {
    deps += [
      "//examples/aura_demo:aura_demo",
      "//examples/browser",
      "//examples/nesting_app",
      "//examples/window_manager",
      "//examples/wm_flow",
    ]
  }

  if (!is_android) {
    deps += [ "//examples/pdf_viewer" ]
  }

  if (is_android) {
    deps += [ "//examples/device_name" ]
  }
}
