| # Copyright 2015 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/nacl/config.gni") |
| import("//services/catalog/public/tools/catalog.gni") |
| import("//services/service_manager/public/service_manifest.gni") |
| import("//testing/test.gni") |
| |
| # Target that builders build. |
| group("all") { |
| testonly = true |
| |
| deps = [ |
| ":mash_catalog", |
| "//components/leveldb", |
| "//mash/catalog_viewer", |
| "//mash/example", |
| "//mash/quick_launch", |
| "//mash/runner", |
| "//mash/session", |
| "//mash/simple_wm", |
| "//mash/task_viewer", |
| ] |
| |
| # Build on platforms that support ash. |
| if (is_chromeos) { |
| deps += [ |
| "//ash/autoclick/mus:accessibility_autoclick", |
| "//ash/touch_hud/mus:touch_hud", |
| "//mash:mash_unittests", |
| ] |
| } |
| } |
| |
| # This is the catalog of services available to a standalone mash environment. |
| # Build //mash/runner to generate the runner executable. |
| catalog("catalog") { |
| testonly = true |
| |
| standalone_services = [ |
| "//components/leveldb:manifest", |
| "//mash/catalog_viewer:manifest", |
| "//mash/quick_launch:manifest", |
| "//mash/session:manifest", |
| "//mash/task_viewer:manifest", |
| "//services/tracing:manifest", |
| "//services/ui:manifest", |
| "//services/ui/demo:manifest", |
| "//services/ui/ime/test_ime_driver:manifest", |
| |
| # TODO(rockot): It seems like a layering violation to have these service |
| # names referenced here, but it's the most convenient thing to do for now, |
| # and this is only for developers. |
| # |
| # Note that there are no build-time dependencies on the actual Chrome |
| # binary implied by mash:all or other targets here. This only ensures that |
| # if you have such a binary built, the runner will be able to locate it. |
| "//chrome/app:chrome_content_browser_manifest", |
| "//chrome/app:chrome_content_gpu_manifest", |
| "//chrome/app:chrome_content_packaged_services_manifest_for_mash", |
| "//chrome/app:chrome_content_plugin_manifest", |
| "//chrome/app:chrome_content_renderer_manifest", |
| "//chrome/app:chrome_content_utility_manifest", |
| ] |
| |
| executable_overrides = [ "content_packaged_services:@EXE_DIR/chrome" ] |
| |
| catalog_deps = [ "//mash/example:catalog" ] |
| |
| if (is_chromeos) { |
| standalone_services += [ "//ash/mus:manifest" ] |
| } |
| |
| if (is_linux && !is_android) { |
| standalone_services += [ "//components/font_service:manifest" ] |
| } |
| |
| if (enable_nacl) { |
| standalone_services += [ "//components/nacl/loader:nacl_loader_manifest" ] |
| if (is_win && target_cpu == "x86") { |
| standalone_services += [ "//components/nacl/broker:nacl_broker_manifest" ] |
| } |
| } |
| } |
| |
| copy("mash_catalog") { |
| testonly = true |
| sources = get_target_outputs(":catalog") |
| outputs = [ |
| "$root_out_dir/mash_catalog.json", |
| ] |
| deps = [ |
| ":catalog", |
| ] |
| } |
| |
| group("browser") { |
| testonly = true |
| |
| deps = [ |
| ":all", |
| "//mash/browser", |
| "//mash/webtest", |
| ] |
| } |
| |
| if (is_chromeos) { |
| # TODO(jamescook): Move these tests into //ash/mus. |
| test("mash_unittests") { |
| sources = [ |
| "test/mash_test_suite.cc", |
| "test/mash_test_suite.h", |
| "test/mash_unittests.cc", |
| ] |
| deps = [ |
| "//ash:common_unittests", |
| "//ash/mus:resources", |
| "//ash/mus:unittests", |
| "//ash/public/cpp:ash_public_cpp", |
| "//base", |
| "//base/test:test_support", |
| "//cc", |
| "//cc:test_support", |
| "//cc/surfaces", |
| "//mojo/edk/system", |
| "//services/catalog:lib", |
| "//ui/aura", |
| "//ui/base", |
| "//ui/compositor:test_support", |
| "//ui/gl:test_support", |
| ] |
| data_deps = [ |
| ":mash_unittests_catalog_copy", |
| "//ash/mus:resources", |
| ] |
| } |
| |
| service_manifest("unittests_manifest") { |
| name = "mash_unittests" |
| source = "unittests_manifest.json" |
| } |
| |
| catalog("mash_unittests_catalog") { |
| testonly = true |
| |
| embedded_services = [ ":unittests_manifest" ] |
| |
| catalog_deps = [ ":catalog" ] |
| } |
| |
| copy("mash_unittests_catalog_copy") { |
| testonly = true |
| sources = get_target_outputs(":mash_unittests_catalog") |
| outputs = [ |
| "${root_out_dir}/mash_unittests_catalog.json", |
| ] |
| deps = [ |
| ":mash_unittests_catalog", |
| ] |
| } |
| } |