| # Copyright 2014 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("//build/config/features.gni") |
| import("//extensions/common/api/schema.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| import("//mojo/public/tools/bindings/mojom.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", |
| ":mojom", |
| "//extensions/buildflags", |
| ] |
| } |
| |
| group("extensions_features") { |
| public_deps = [ |
| ":api_features", |
| ":behavior_features", |
| ":manifest_features", |
| ":permission_features", |
| ] |
| } |
| |
| mojom("mojom") { |
| sources = [ |
| "mime_handler.mojom", |
| ] |
| } |
| |
| ################################################################################ |
| # Private Targets |
| |
| generated_json_strings("generated_api_json_strings") { |
| sources = extensions_api_schema_files + extensions_api_uncompiled_sources + |
| extensions_api_uncompiled_bundle_schema_sources |
| bundle_name = "" |
| root_namespace = extensions_api_root_namespace |
| deps = [ |
| "//base", |
| "//extensions/buildflags", |
| ] |
| visibility = [ ":api" ] |
| } |
| |
| generated_types("generated_api_types") { |
| sources = extensions_api_schema_files |
| root_namespace = extensions_api_root_namespace |
| deps = [ |
| "//base", |
| "//extensions/buildflags", |
| ] |
| visibility = [ ":api" ] |
| } |
| |
| json_features("api_features") { |
| feature_type = "APIFeature" |
| method_name = "AddCoreAPIFeatures" |
| sources = [ |
| "_api_features.json", |
| ] |
| visibility = [ ":extensions_features" ] |
| } |
| |
| json_features("permission_features") { |
| feature_type = "PermissionFeature" |
| method_name = "AddCorePermissionFeatures" |
| sources = [ |
| "_permission_features.json", |
| ] |
| visibility = [ ":extensions_features" ] |
| } |
| |
| json_features("manifest_features") { |
| feature_type = "ManifestFeature" |
| method_name = "AddCoreManifestFeatures" |
| sources = [ |
| "_manifest_features.json", |
| ] |
| visibility = [ ":extensions_features" ] |
| } |
| |
| json_features("behavior_features") { |
| feature_type = "BehaviorFeature" |
| method_name = "AddCoreBehaviorFeatures" |
| sources = [ |
| "_behavior_features.json", |
| ] |
| visibility = [ ":extensions_features" ] |
| } |