# 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/js/maps",
    "//examples/png_viewer",
    "//examples/recipes",
    "//examples/recursive_content_handler",
    "//examples/sample_app",
    "//examples/sky_compositor_app",
    "//examples/surfaces_app",
    "//examples/wget",
  ]

  deps += [
    "//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" ]
  }

  if (is_linux) {
    deps += [ "//examples/python" ]
  }
}
