# 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("shutdown") {
  testonly = true
  sources = [
    "shutdown_unittest.cc",
  ]

  deps = [
    ":interfaces",
    ":shutdown_client",
    ":shutdown_service",
    "//base",
    "//base/test:test_config",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/cpp:service_test_support",
    "//services/service_manager/public/mojom",
  ]

  data_deps = [
    ":shutdown_client",
    ":shutdown_service",
  ]
}

mojom("interfaces") {
  sources = [
    "shutdown_unittest.mojom",
  ]
}

service_manifest("shutdown_unittest_manifest") {
  name = "shutdown_unittest"
  source = "shutdown_unittest_manifest.json"
}

service_manifest("shutdown_service_manifest") {
  name = "shutdown_service"
  source = "shutdown_service_manifest.json"
}

service("shutdown_service") {
  testonly = true
  sources = [
    "shutdown_service_app.cc",
  ]
  deps = [
    ":interfaces",
    "//base",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
  ]
}

service_manifest("shutdown_client_manifest") {
  name = "shutdown_client"
  source = "shutdown_client_manifest.json"
}

service("shutdown_client") {
  testonly = true
  sources = [
    "shutdown_client_app.cc",
  ]
  deps = [
    ":interfaces",
    "//base",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
  ]
}

catalog("catalog") {
  embedded_services = [ ":shutdown_unittest_manifest" ]

  standalone_services = [
    ":shutdown_client_manifest",
    ":shutdown_service_manifest",
  ]
}
