# 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("//mojo/public/mojo_application.gni") import("//mojo/public/mojo_application_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", "//mojo/shell/public/cpp:shell_test_support", "//mojo/shell/public/cpp:sources", "//mojo/shell/public/interfaces", "//mojo/shell/runner/common", "//mojo/shell/tests:util", ] data_deps = [ ":lifecycle_unittest_app", ":lifecycle_unittest_parent", ":lifecycle_unittest_exe", ":lifecycle_unittest_package", ":manifest", ] } mojom("interfaces") { sources = [ "lifecycle_unittest.mojom", ] } mojo_application_manifest("manifest") { application_name = "lifecycle_unittest" source = "lifecycle_unittest_manifest.json" } mojo_application_manifest("lifecycle_unittest_package_app_a_manifest") { application_name = "lifecycle_unittest_package_app_a" source = "package_app_a_manifest.json" } mojo_application_manifest("lifecycle_unittest_package_app_b_manifest") { application_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", "//mojo/shell/public/cpp:sources", "//mojo/shell/public/interfaces", ] } mojo_native_application("lifecycle_unittest_package") { testonly = true sources = [ "package.cc", ] deps = [ ":app_client", ":interfaces", ":lifecycle_unittest_package_manifest", "//base", "//mojo/shell/public/cpp:sources", "//mojo/shell/public/interfaces", ] } mojo_application_manifest("lifecycle_unittest_package_manifest") { application_name = "lifecycle_unittest_package" source = "package_manifest.json" deps = [ ":lifecycle_unittest_package_app_a_manifest", ":lifecycle_unittest_package_app_b_manifest", ] packaged_applications = [ "lifecycle_unittest_package_app_a", "lifecycle_unittest_package_app_b", ] } mojo_native_application("lifecycle_unittest_app") { testonly = true sources = [ "app.cc", ] deps = [ ":app_client", ":interfaces", "//base", "//mojo/shell/public/cpp:sources", ] data_deps = [ ":lifecycle_unittest_app_manifest", ] } mojo_application_manifest("lifecycle_unittest_app_manifest") { application_name = "lifecycle_unittest_app" source = "app_manifest.json" } mojo_native_application("lifecycle_unittest_parent") { testonly = true sources = [ "parent.cc", ] deps = [ ":interfaces", "//base", "//mojo/shell/public/cpp:sources", ] data_deps = [ ":lifecycle_unittest_parent_manifest", ] } mojo_application_manifest("lifecycle_unittest_parent_manifest") { application_name = "lifecycle_unittest_parent" source = "parent_manifest.json" } executable("lifecycle_unittest_exe") { testonly = true sources = [ "lifecycle_exe.cc", ] deps = [ ":app_client", "//base", "//mojo/shell/public/cpp:sources", "//mojo/shell/runner/child:test_native_main", ] data_deps = [ ":lifecycle_unittest_exe_manifest", ] } mojo_application_manifest("lifecycle_unittest_exe_manifest") { type = "exe" application_name = "lifecycle_unittest_exe" source = "exe_manifest.json" }