blob: 403ac50ce5b25f535d4c5f6f1548d0c99659eacd [file] [log] [blame]
# 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:service_test_support",
"//services/service_manager/public/cpp:sources",
"//services/service_manager/public/interfaces",
"//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:sources",
"//services/service_manager/public/interfaces",
]
}
service("lifecycle_unittest_package") {
testonly = true
sources = [
"package.cc",
]
deps = [
":app_client",
":interfaces",
"//base",
"//services/service_manager/public/cpp:sources",
"//services/service_manager/public/interfaces",
]
}
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:sources",
]
}
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:sources",
]
}
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/config/sanitizers:deps",
"//build/win:default_exe_manifest",
"//services/service_manager/public/cpp:sources",
"//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",
]
}