Allow building app_shell with GN.
BUG=424333
[email protected], [email protected]
TEST=manually
Review URL: https://codereview.chromium.org/676043005
Cr-Commit-Position: refs/heads/master@{#301798}
diff --git a/extensions/shell/BUILD.gn b/extensions/shell/BUILD.gn
index 5e501e3c..9d30fe0 100644
--- a/extensions/shell/BUILD.gn
+++ b/extensions/shell/BUILD.gn
@@ -11,3 +11,149 @@
"app_shell_resources.pak",
]
}
+
+source_set("app_shell_lib") {
+ # This library is testonly because it depends on testonly libarries,
+ # namely //base:prefs_test_support and //content/shell:content_shell_lib
+ # TODO(jamescook): investigate and get rid of test dependencies.
+ testonly = true
+ deps = [
+ ":resources",
+ ":version_header",
+ "//base",
+ "//base:prefs_test_support",
+ "//components/omaha_query_params",
+ "//components/pref_registry",
+ "//components/user_prefs",
+ "//components/web_cache/renderer",
+ "//content",
+ "//content/shell:content_shell_lib",
+ "//device/core",
+ "//device/hid",
+ "//extensions/common/api",
+ "//extensions/common/api:api_registration",
+ "//extensions/browser",
+ "//extensions/common",
+ "//extensions/renderer",
+ "//extensions/shell/common/api",
+ "//extensions/shell/common/api:api_registration",
+ "//extensions:extensions_resources",
+ "//extensions:shell_and_test_pak",
+ "//mojo/edk/system",
+ "//mojo/environment:chromium",
+ "//skia",
+ "//third_party/WebKit/public:blink",
+ "//ui/wm",
+ "//v8",
+ ]
+ sources = [
+ "app/shell_main_delegate.cc",
+ "app/shell_main_delegate.h",
+ "browser/api/identity/identity_api.cc",
+ "browser/api/identity/identity_api.h",
+ "browser/default_shell_browser_main_delegate.cc",
+ "browser/default_shell_browser_main_delegate.h",
+ "browser/desktop_controller.cc",
+ "browser/desktop_controller.h",
+ "browser/media_capture_util.cc",
+ "browser/media_capture_util.h",
+ "browser/shell_app_delegate.cc",
+ "browser/shell_app_delegate.h",
+ "browser/shell_app_window_client.cc",
+ "browser/shell_app_window_client.h",
+ "browser/shell_audio_controller_chromeos.cc",
+ "browser/shell_audio_controller_chromeos.h",
+ "browser/shell_browser_context.cc",
+ "browser/shell_browser_context.h",
+ "browser/shell_browser_main_delegate.h",
+ "browser/shell_browser_main_parts.cc",
+ "browser/shell_browser_main_parts.h",
+ "browser/shell_content_browser_client.cc",
+ "browser/shell_content_browser_client.h",
+ "browser/shell_desktop_controller.cc",
+ "browser/shell_desktop_controller.h",
+ "browser/shell_device_client.cc",
+ "browser/shell_device_client.h",
+ "browser/shell_display_info_provider.cc",
+ "browser/shell_display_info_provider.h",
+ "browser/shell_extension_host_delegate.cc",
+ "browser/shell_extension_host_delegate.h",
+ "browser/shell_extension_system.cc",
+ "browser/shell_extension_system.h",
+ "browser/shell_extension_system_factory.cc",
+ "browser/shell_extension_system_factory.h",
+ "browser/shell_extension_web_contents_observer.cc",
+ "browser/shell_extension_web_contents_observer.h",
+ "browser/shell_extensions_browser_client.cc",
+ "browser/shell_extensions_browser_client.h",
+ "browser/shell_native_app_window.cc",
+ "browser/shell_native_app_window.h",
+ "browser/shell_network_controller_chromeos.cc",
+ "browser/shell_network_controller_chromeos.h",
+ "browser/shell_network_delegate.cc",
+ "browser/shell_network_delegate.h",
+ "browser/shell_oauth2_token_service.cc",
+ "browser/shell_oauth2_token_service.h",
+ "browser/shell_omaha_query_params_delegate.cc",
+ "browser/shell_omaha_query_params_delegate.h",
+ "browser/shell_runtime_api_delegate.cc",
+ "browser/shell_runtime_api_delegate.h",
+ "browser/shell_special_storage_policy.cc",
+ "browser/shell_special_storage_policy.h",
+ "browser/shell_url_request_context_getter.cc",
+ "browser/shell_url_request_context_getter.h",
+ "browser/shell_web_contents_modal_dialog_manager.cc",
+ "common/shell_content_client.cc",
+ "common/shell_content_client.h",
+ "common/shell_extensions_client.cc",
+ "common/shell_extensions_client.h",
+ "common/switches.cc",
+ "common/switches.h",
+ "renderer/shell_content_renderer_client.cc",
+ "renderer/shell_content_renderer_client.h",
+ "renderer/shell_extensions_renderer_client.cc",
+ "renderer/shell_extensions_renderer_client.h",
+ ]
+ if (is_chromeos) {
+ deps += [
+ "//chromeos",
+ "//ui/chromeos:ui_chromeos",
+ "//ui/display",
+ ]
+ }
+}
+
+executable("app_shell") {
+ # testonly because :app_shell_lib is testonly. See :app_shell_lib comment.
+ testonly = true
+ deps = [
+ ":app_shell_lib",
+ "//extensions:shell_and_test_pak",
+ ]
+ sources = [ "app/shell_main.cc" ]
+}
+
+action("version_header") {
+ script = "//build/util/version.py"
+ version_path = "//chrome/VERSION"
+ lastchange_path = "//build/util/LASTCHANGE"
+ version_h = "common/version.h.in"
+ version_full = exec_script(
+ script,
+ ["-f", rebase_path(version_path, root_build_dir),
+ "-t", "@MAJOR@.@MINOR@.@BUILD@.@PATCH@"],
+ "trim string",
+ ["VERSION"])
+ inputs = [
+ lastchange_path,
+ version_path,
+ version_h
+ ]
+ outputs = [ "$target_gen_dir/common/version.h" ]
+ args = [
+ "-f", rebase_path(lastchange_path, root_build_dir),
+ "-e", "VERSION_FULL=\"$version_full\"",
+ rebase_path(version_h, root_build_dir),
+ rebase_path("$target_gen_dir/common/version.h")
+ ]
+}