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