1# Copyright 2018 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/features.gni")
6import("//chrome/common/apps/platform_apps/api/api_sources.gni")
7import("//extensions/buildflags/buildflags.gni")
8import("//tools/json_schema_compiler/json_features.gni")
9import("//tools/json_schema_compiler/json_schema_api.gni")
10
11assert(enable_extensions)
12
13################################################################################
14# Public Targets
15
16group("api") {
17  public_deps = [
18    ":generated_api_json_strings",
19    ":generated_api_types",
20    "//extensions/buildflags",
21  ]
22}
23
24group("apps_features") {
25  public_deps = [
26    ":api_features",
27    ":permission_features",
28  ]
29}
30
31################################################################################
32# Private Targets
33
34generated_json_strings("generated_api_json_strings") {
35  sources = chrome_apps_api_schema_files + chrome_apps_uncompiled_schema_files
36  bundle_name = "ChromeApps"
37  root_namespace = apps_api_root_namespace
38  deps = [
39    "//base",
40    "//extensions/buildflags",
41  ]
42  visibility = [ ":api" ]
43}
44
45generated_types("generated_api_types") {
46  sources = chrome_apps_api_schema_files
47  root_namespace = apps_api_root_namespace
48  deps = [
49    "//base",
50    "//extensions/buildflags",
51  ]
52  visibility = [ ":api" ]
53}
54
55json_features("api_features") {
56  feature_type = "APIFeature"
57  method_name = "AddChromeAppsAPIFeatures"
58  sources = [ "_api_features.json" ]
59  visibility = [ ":apps_features" ]
60}
61
62json_features("permission_features") {
63  feature_type = "PermissionFeature"
64  method_name = "AddChromeAppsPermissionFeatures"
65  sources = [ "_permission_features.json" ]
66  visibility = [ ":apps_features" ]
67}
68