123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- # Copyright 2015 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("//electron/buildflags/buildflags.gni")
- import("//extensions/buildflags/buildflags.gni")
- import("//tools/json_schema_compiler/json_features.gni")
- import("//tools/json_schema_compiler/json_schema_api.gni")
- assert(enable_extensions)
- ################################################################################
- # Public Targets
- group("api") {
- public_deps = [
- ":generated_api_json_strings",
- ":generated_api_types",
- ]
- }
- group("extensions_features") {
- public_deps = [
- ":api_features",
- ":manifest_features",
- ":permission_features",
- # TODO(devlin): It would be nicer to have this dependency hoisted up to
- # //extensions/common (since that's where it's consumed), but there's some
- # cycles to be resolved first.
- "//extensions/common/api:extensions_features",
- ]
- }
- ################################################################################
- # Private Targets
- generated_json_strings("generated_api_json_strings") {
- sources = [
- "action.json",
- "browser_action.json",
- "extension.json",
- "resources_private.idl",
- "scripting.idl",
- "tabs.json",
- ]
- if (enable_pdf_viewer) {
- sources += [ "pdf_viewer_private.idl" ]
- }
- configs = [ "//build/config:precompiled_headers" ]
- bundle_name = "Electron"
- schema_include_rules = "extensions/common/api:extensions::api::%(namespace)s"
- root_namespace = "extensions::api::%(namespace)s"
- deps = [ "//extensions/common/api" ]
- visibility = [ ":api" ]
- }
- generated_types("generated_api_types") {
- sources = [
- "resources_private.idl",
- "scripting.idl",
- "tabs.json",
- ]
- if (enable_pdf_viewer) {
- sources += [ "pdf_viewer_private.idl" ]
- }
- configs = [ "//build/config:precompiled_headers" ]
- schema_include_rules = "extensions/common/api:extensions::api::%(namespace)s"
- root_namespace = "extensions::api::%(namespace)s"
- deps = [ "//extensions/common/api" ]
- visibility = [ ":api" ]
- }
- json_features("manifest_features") {
- feature_type = "ManifestFeature"
- method_name = "AddElectronManifestFeatures"
- sources = [ "_manifest_features.json" ]
- visibility = [ ":extensions_features" ]
- }
- json_features("api_features") {
- feature_type = "APIFeature"
- method_name = "AddElectronAPIFeatures"
- sources = [ "_api_features.json" ]
- visibility = [ ":extensions_features" ]
- }
- json_features("permission_features") {
- feature_type = "PermissionFeature"
- method_name = "AddElectronPermissionFeatures"
- sources = [ "_permission_features.json" ]
- visibility = [ ":extensions_features" ]
- }
|