| # Copyright 2016 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("//services/catalog/public/tools/catalog.gni") |
| import("//services/service_manager/public/cpp/service.gni") |
| import("//services/service_manager/public/service_manifest.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| import("//testing/test.gni") |
| |
| source_set("lifecycle") { |
| testonly = true |
| sources = [ |
| "lifecycle_unittest.cc", |
| ] |
| deps = [ |
| ":interfaces", |
| "//base", |
| "//base/test:test_support", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/cpp:service_test_support", |
| "//services/service_manager/public/mojom", |
| "//services/service_manager/runner/common", |
| "//services/service_manager/tests:util", |
| ] |
| |
| data_deps = [ |
| ":lifecycle_unittest_app", |
| ":lifecycle_unittest_parent", |
| ":lifecycle_unittest_exe", |
| ":lifecycle_unittest_package", |
| ] |
| } |
| |
| mojom("interfaces") { |
| sources = [ |
| "lifecycle_unittest.mojom", |
| ] |
| } |
| |
| service_manifest("manifest") { |
| name = "lifecycle_unittest" |
| source = "lifecycle_unittest_manifest.json" |
| } |
| |
| service_manifest("lifecycle_unittest_package_app_a_manifest") { |
| name = "lifecycle_unittest_package_app_a" |
| source = "package_app_a_manifest.json" |
| } |
| |
| service_manifest("lifecycle_unittest_package_app_b_manifest") { |
| name = "lifecycle_unittest_package_app_b" |
| source = "package_app_b_manifest.json" |
| } |
| |
| source_set("app_client") { |
| sources = [ |
| "app_client.cc", |
| "app_client.h", |
| ] |
| deps = [ |
| ":interfaces", |
| "//base", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/mojom", |
| ] |
| } |
| |
| service("lifecycle_unittest_package") { |
| testonly = true |
| sources = [ |
| "package.cc", |
| ] |
| deps = [ |
| ":app_client", |
| ":interfaces", |
| "//base", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/mojom", |
| ] |
| } |
| |
| service_manifest("lifecycle_unittest_package_manifest") { |
| name = "lifecycle_unittest_package" |
| source = "package_manifest.json" |
| packaged_services = [ |
| ":lifecycle_unittest_package_app_a_manifest", |
| ":lifecycle_unittest_package_app_b_manifest", |
| ] |
| } |
| |
| service("lifecycle_unittest_app") { |
| testonly = true |
| sources = [ |
| "app.cc", |
| ] |
| deps = [ |
| ":app_client", |
| ":interfaces", |
| "//base", |
| "//services/service_manager/public/cpp", |
| ] |
| } |
| |
| service_manifest("lifecycle_unittest_app_manifest") { |
| name = "lifecycle_unittest_app" |
| source = "app_manifest.json" |
| } |
| |
| service("lifecycle_unittest_parent") { |
| testonly = true |
| sources = [ |
| "parent.cc", |
| ] |
| deps = [ |
| ":interfaces", |
| "//base", |
| "//services/service_manager/public/cpp", |
| ] |
| } |
| |
| service_manifest("lifecycle_unittest_parent_manifest") { |
| name = "lifecycle_unittest_parent" |
| source = "parent_manifest.json" |
| } |
| |
| executable("lifecycle_unittest_exe") { |
| testonly = true |
| sources = [ |
| "lifecycle_exe.cc", |
| ] |
| deps = [ |
| ":app_client", |
| "//base", |
| "//build/win:default_exe_manifest", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/cpp/standalone_service:main", |
| ] |
| } |
| |
| service_manifest("lifecycle_unittest_exe_manifest") { |
| name = "lifecycle_unittest_exe" |
| source = "exe_manifest.json" |
| } |
| |
| catalog("catalog") { |
| embedded_services = [ ":manifest" ] |
| |
| standalone_services = [ |
| ":lifecycle_unittest_app_manifest", |
| ":lifecycle_unittest_exe_manifest", |
| ":lifecycle_unittest_package_manifest", |
| ":lifecycle_unittest_parent_manifest", |
| ] |
| } |