Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(735)

Unified Diff: chrome/common/extensions/api/BUILD.gn

Issue 2316293002: Inline extensions API gyp into GN build. (Closed)
Patch Set: input private Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/common/extensions/api/schemas.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/api/BUILD.gn
diff --git a/chrome/common/extensions/api/BUILD.gn b/chrome/common/extensions/api/BUILD.gn
index 6cd0af08b15b6942f4d0a6eca516d45cb5d5077e..6557a6a35f61ad174cbc73d52bacb9a290fab5f1 100644
--- a/chrome/common/extensions/api/BUILD.gn
+++ b/chrome/common/extensions/api/BUILD.gn
@@ -2,12 +2,166 @@
# 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("//build/config/ui.gni")
import("//build/json_schema_api.gni")
import("//tools/json_schema_compiler/json_features.gni")
-import("schemas.gni")
assert(enable_extensions)
+schema_sources = [
+ "accessibility_features.json",
+ "accessibility_private.json",
+ "activity_log_private.json",
+ "autofill_private.idl",
+ "automation.idl",
+ "automation_internal.idl",
+ "autotest_private.idl",
+ "bluetooth_low_energy.idl",
+ "bookmark_manager_private.json",
+ "bookmarks.json",
+ "braille_display_private.idl",
+ "browser.idl",
+ "chrome_web_view_internal.json",
+ "cloud_print_private.json",
+ "command_line_private.json",
+ "content_settings.json",
+ "context_menus_internal.json",
+ "context_menus.json",
+ "cookies.json",
+ "cryptotoken_private.idl",
+ "dashboard_private.json",
+ "data_reduction_proxy.json",
+ "debugger.json",
+ "desktop_capture.json",
+ "developer_private.idl",
+ "dial.idl",
+ "downloads.idl",
+ "downloads_internal.idl",
+ "easy_unlock_private.idl",
+ "experience_sampling_private.json",
+ "feedback_private.idl",
+ "file_system.idl",
+ "font_settings.json",
+ "gcm.json",
+ "history.json",
+ "hotword_private.idl",
+ "i18n.json",
+ "identity.idl",
+ "identity_private.idl",
+ "image_writer_private.idl",
+ "inline_install_private.idl",
+ "instance_id.json",
+ "language_settings_private.idl",
+ "manifest_types.json",
+ "media_galleries.idl",
+ "metrics_private.json",
+ "notification_provider.idl",
+ "notifications.idl",
+ "omnibox.json",
+ "page_capture.json",
+ "passwords_private.idl",
+ "permissions.json",
+ "preferences_private.json",
+ "quick_unlock_private.idl",
+ "resources_private.idl",
+ "screenlock_private.idl",
+ "sessions.json",
+ "settings_private.idl",
+ "signed_in_devices.idl",
+ "streams_private.idl",
+ "sync_file_system.idl",
+ "system_indicator.idl",
+ "system_private.json",
+ "tab_capture.idl",
+ "tabs.json",
+ "types.json",
+ "web_navigation.json",
+
+ # Despite the name, this API does not rely on any
+ # WebRTC-specific bits and as such does not belong in
+ # the enable_webrtc==0 section below.
+ "webrtc_audio_private.idl",
+ "webrtc_desktop_capture_private.idl",
+ "webrtc_logging_private.idl",
+ "webstore_private.json",
+ "webstore_widget_private.idl",
+ "windows.json",
+]
+if (enable_task_manager) {
+ schema_sources += [ "processes.idl" ]
+}
+if (is_chromeos) {
+ schema_sources += [
+ "cast_devices_private.idl",
+ "certificate_provider.idl",
+ "certificate_provider_internal.idl",
+ "echo_private.json",
+ "enterprise_device_attributes.idl",
+ "enterprise_platform_keys.idl",
+ "enterprise_platform_keys_internal.idl",
+ "enterprise_platform_keys_private.json",
+ "file_browser_handler_internal.json",
+ "file_manager_private.idl",
+ "file_manager_private_internal.idl",
+ "file_system_provider.idl",
+ "file_system_provider_internal.idl",
+ "first_run_private.json",
+ "input_ime.json",
+ "input_method_private.json",
+ "launcher_search_provider.idl",
+ "log_private.idl",
+ "platform_keys.idl",
+ "platform_keys_internal.idl",
+ "terminal_private.json",
+ "users_private.idl",
+ "wallpaper.json",
+ "wallpaper_private.json",
+ ]
+} else if (is_linux || is_win) {
+ schema_sources += [ "input_ime.json" ]
+}
+if (enable_service_discovery) {
+ schema_sources += [
+ "gcd_private.idl",
+ "mdns.idl",
+ ]
+}
+if (enable_webrtc) {
+ schema_sources += [
+ "cast_streaming_receiver_session.idl",
+ "cast_streaming_rtp_stream.idl",
+ "cast_streaming_session.idl",
+ "cast_streaming_udp_transport.idl",
+ ]
+}
+if (enable_app_list) {
+ schema_sources += [
+ # TODO(tapted): Move this into chromeos_schema_files.
+ "launcher_page.idl",
+ ]
+}
+
+extensions_api_root_namespace = "extensions::api::%(namespace)s"
+
+extensions_api_uncompiled_sources = [
+ "browsing_data.json",
+ "extension.json",
+ "idltest.idl",
+ "music_manager_private.idl",
+ "top_sites.json",
+]
+
+if (is_chromeos) {
+ extensions_api_uncompiled_sources += [
+ "chromeos_info_private.json",
+ "media_player_private.json",
+ ]
+}
+
+extensions_api_schema_include_rules =
+ "extensions/common/api:extensions::api::%(namespace)s"
+
# GYP version: chrome/common/extensions/api/api.gyp:chrome_api
json_schema_api("api") {
sources = schema_sources
@@ -15,8 +169,36 @@ json_schema_api("api") {
bundle = true
configs = [ "//build/config:precompiled_headers" ]
bundle_name = "Chrome"
+ schema_include_rules = extensions_api_schema_include_rules
+
+ uncompiled_bundle_schema_sources = [
+ "app.json",
+ "browser_action.json",
+ "commands.json",
+ "declarative_content.json",
+ "file_browser_handler.json",
+ "page_action.json",
+ "privacy.json",
+ "proxy.json",
+ "tts_engine.json",
+ "tts.json",
+ "types_private.json",
+ "webstore.json",
+ ]
+ if (!is_chromeos) {
+ # On ChromeOS, input_method_private is fully compiled (as part of
+ # schema_files), and so gets added to the bundle already. On other
+ # platforms, we still need it added to the bundle.
+ # TODO(devlin): That's weird. Investigate.
+ uncompiled_bundle_schema_sources += [ "input_method_private.json" ]
+ }
+
+ uncompiled_sources = extensions_api_uncompiled_sources
- deps = schema_dependencies
+ root_namespace = extensions_api_root_namespace
+ deps = [
+ "//extensions/common/api",
+ ]
}
# GYP version: chrome/browser/extensions/api/api.gyp:chrome_api_registration
@@ -26,6 +208,10 @@ json_schema_api("api_registration") {
bundle_registration = true
configs = [ "//build/config:precompiled_headers" ]
bundle_name = "Chrome"
+ root_namespace = extensions_api_root_namespace
+ schema_include_rules = extensions_api_schema_include_rules
+
+ uncompiled_sources = extensions_api_uncompiled_sources
deps = [
# Different APIs include headers from these targets.
@@ -44,7 +230,7 @@ json_schema_api("api_registration") {
if (is_chromeos) {
deps += [ "//components/drive:proto" ]
}
- deps += schema_dependencies
+ deps += [ "//extensions/common/api" ]
}
json_features("api_features") {
« no previous file with comments | « no previous file | chrome/common/extensions/api/schemas.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698