From 7cf7320202334174a1fb70a974dcf3eab26037db Mon Sep 17 00:00:00 2001 From: "rockot@chromium.org" Date: Thu, 3 Apr 2014 22:52:10 +0000 Subject: Create new app_shell.gyp for app_shell targets. This moves app_shell GYP entries from a chrome.gyp include into a new apps/shell/app_shell.gyp. It also breaks down dependencies with more granularity and separates temporary, undesirable app_shell_lib dependencies from acceptable ones. BUG=359678 TBR=yoz@chromium.org for extensions.gyp Review URL: https://codereview.chromium.org/223613005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261559 0039d316-1c4b-4281-b951-d872f2087c98 --- apps/apps.gypi | 163 ------------------------------------- apps/shell/app_shell.gyp | 202 ++++++++++++++++++++++++++++++++++++++++++++++ build/all.gyp | 5 ++ extensions/extensions.gyp | 4 +- 4 files changed, 209 insertions(+), 165 deletions(-) create mode 100644 apps/shell/app_shell.gyp diff --git a/apps/apps.gypi b/apps/apps.gypi index b82d133..998f7e4 100644 --- a/apps/apps.gypi +++ b/apps/apps.gypi @@ -103,167 +103,4 @@ 'msvs_disabled_warnings': [ 4267, ], }, ], # targets - 'conditions': [ - ['chromeos==1 or (OS=="linux" and use_aura==1) or (OS=="win" and use_aura==1)', { - 'targets': [ - { - 'target_name': 'app_shell_pak', - 'type': 'none', - 'dependencies': [ - # Need extension related resources in common_resources.pak and - # renderer_resources_100_percent.pak - 'chrome_resources.gyp:chrome_resources', - # Need app related resources in theme_resources_100_percent.pak - 'chrome_resources.gyp:theme_resources', - # Need dev-tools related resources in shell_resources.pak and - # devtools_resources.pak. - '../content/content_shell_and_tests.gyp:generate_content_shell_resources', - '../content/browser/devtools/devtools_resources.gyp:devtools_resources', - '../ui/base/strings/ui_strings.gyp:ui_strings', - '../ui/resources/ui_resources.gyp:ui_resources', - ], - 'actions': [ - { - 'action_name': 'repack_app_shell_pack', - 'variables': { - 'pak_inputs': [ - '<(grit_out_dir)/common_resources.pak', - '<(grit_out_dir)/extensions_api_resources.pak', - # TODO(jamescook): extra the extension/app related resources - # from generated_resources_en-US.pak and - # theme_resources_100_percent.pak. - '<(SHARED_INTERMEDIATE_DIR)/chrome/generated_resources_en-US.pak', - '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak', - '<(SHARED_INTERMEDIATE_DIR)/chrome/theme_resources_100_percent.pak', - '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak', - '<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings/app_locale_settings_en-US.pak', - '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak', - '<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings/ui_strings_en-US.pak', - '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak', - ], - 'pak_output': '<(PRODUCT_DIR)/app_shell.pak', - }, - 'includes': [ '../build/repack_action.gypi' ], - }, - ], - }, - { - 'target_name': 'app_shell_lib', - 'type': 'static_library', - 'defines!': ['CONTENT_IMPLEMENTATION'], - 'variables': { - 'chromium_code': 1, - }, - 'dependencies': [ - 'app_shell_pak', - 'apps', - 'common/extensions/api/api.gyp:chrome_api', - 'test_support_common', - '../base/base.gyp:base', - '../base/base.gyp:base_prefs_test_support', - '../content/content.gyp:content', - '../content/content_shell_and_tests.gyp:content_shell_lib', - '../extensions/common/api/api.gyp:extensions_api', - '../skia/skia.gyp:skia', - '../ui/views/views.gyp:views', - '../ui/wm/wm.gyp:wm_test_support', - ], - 'include_dirs': [ - '..', - ], - 'sources': [ - 'shell/app/shell_main_delegate.cc', - 'shell/app/shell_main_delegate.h', - 'shell/browser/shell_app_sorting.cc', - 'shell/browser/shell_app_sorting.h', - 'shell/browser/shell_app_window_delegate.cc', - 'shell/browser/shell_app_window_delegate.h', - 'shell/browser/shell_apps_client.cc', - 'shell/browser/shell_apps_client.h', - 'shell/browser/shell_browser_context.cc', - 'shell/browser/shell_browser_context.h', - 'shell/browser/shell_browser_main_parts.cc', - 'shell/browser/shell_browser_main_parts.h', - 'shell/browser/shell_content_browser_client.cc', - 'shell/browser/shell_content_browser_client.h', - 'shell/browser/shell_desktop_controller.cc', - 'shell/browser/shell_desktop_controller.h', - 'shell/browser/shell_extension_system.cc', - 'shell/browser/shell_extension_system.h', - 'shell/browser/shell_extension_system_factory.cc', - 'shell/browser/shell_extension_system_factory.h', - 'shell/browser/shell_extension_web_contents_observer.cc', - 'shell/browser/shell_extension_web_contents_observer.h', - 'shell/browser/shell_extensions_browser_client.cc', - 'shell/browser/shell_extensions_browser_client.h', - 'shell/common/shell_content_client.cc', - 'shell/common/shell_content_client.h', - 'shell/common/shell_extensions_client.cc', - 'shell/common/shell_extensions_client.h', - 'shell/renderer/shell_content_renderer_client.cc', - 'shell/renderer/shell_content_renderer_client.h', - ], - }, - { - 'target_name': 'app_shell', - 'type': 'executable', - 'defines!': ['CONTENT_IMPLEMENTATION'], - 'variables': { - 'chromium_code': 1, - }, - 'dependencies': [ - 'app_shell_lib', - 'app_shell_pak', - ], - 'include_dirs': [ - '..', - ], - 'sources': [ - 'shell/app/shell_main.cc', - ], - 'conditions': [ - ['OS=="win"', { - 'msvs_settings': { - 'VCLinkerTool': { - 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS - }, - }, - 'msvs_large_pdb': 1, - 'dependencies': [ - '../sandbox/sandbox.gyp:sandbox', - ], - }], - ], - }, - { - 'target_name': 'apps_browsertests', - 'type': '<(gtest_target_type)', - 'variables': { - 'chromium_code': 1, - }, - 'dependencies': [ - 'app_shell_lib', - # TODO(yoz): find the right deps - '../base/base.gyp:test_support_base', - '../content/content.gyp:content_app_both', - '../content/content_shell_and_tests.gyp:content_browser_test_support', - '../content/content_shell_and_tests.gyp:test_support_content', - '../testing/gtest.gyp:gtest', - ], - 'defines': [ - 'HAS_OUT_OF_PROC_TEST_RUNNER', - ], - 'msvs_large_pdb': 1, - 'sources': [ - # TODO(yoz): Refactor once we have a second test target. - 'test/app_shell_test.h', - 'test/app_shell_test.cc', - 'test/apps_test_launcher_delegate.cc', - 'test/apps_test_launcher_delegate.h', - 'test/apps_tests_main.cc', - ], - }, - ], # targets - }], # chromeos==1 or linux aura or win aura - ], # conditions } diff --git a/apps/shell/app_shell.gyp b/apps/shell/app_shell.gyp new file mode 100644 index 0000000..cbd4740 --- /dev/null +++ b/apps/shell/app_shell.gyp @@ -0,0 +1,202 @@ +# 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. + +{ + 'variables': { + 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome', + }, + 'targets': [ + { + 'target_name': 'app_shell_pak', + 'type': 'none', + 'dependencies': [ + # Need extension related resources in common_resources.pak and + # renderer_resources_100_percent.pak + '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources', + # Need app related resources in theme_resources_100_percent.pak + '<(DEPTH)/chrome/chrome_resources.gyp:theme_resources', + # Need dev-tools related resources in shell_resources.pak and + # devtools_resources.pak. + '<(DEPTH)/content/content_shell_and_tests.gyp:generate_content_shell_resources', + '<(DEPTH)/content/browser/devtools/devtools_resources.gyp:devtools_resources', + '<(DEPTH)/ui/base/strings/ui_strings.gyp:ui_strings', + '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources', + ], + 'actions': [ + { + 'action_name': 'repack_app_shell_pack', + 'variables': { + 'pak_inputs': [ + '<(grit_out_dir)/common_resources.pak', + '<(grit_out_dir)/extensions_api_resources.pak', + # TODO(jamescook): Extract the extension/app related resources + # from generated_resources_en-US.pak and + # theme_resources_100_percent.pak. + '<(SHARED_INTERMEDIATE_DIR)/chrome/generated_resources_en-US.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/chrome/theme_resources_100_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings/app_locale_settings_en-US.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak', + '<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings/ui_strings_en-US.pak', + '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak', + ], + 'pak_output': '<(PRODUCT_DIR)/app_shell.pak', + }, + 'includes': [ '../../build/repack_action.gypi' ], + }, + ], + }, + { + # In this case, "temporary" means until //extensions houses all code + # necessary to support the app_shell_lib target. This target must be + # destroyed. See http://crbug.com/359656. + 'target_name': 'app_shell_temporary_deps', + 'type': 'static_library', + 'defines!': ['CONTENT_IMPLEMENTATION'], + 'variables': { + 'chromium_code': 1, + }, + 'dependencies': [ + # browser and browser_extensions are required because we still + # rely on the chrome.app.window API. + '<(DEPTH)/chrome/chrome.gyp:browser', + '<(DEPTH)/chrome/chrome.gyp:browser_extensions', + # The remaining chrome.gyp dependencies are needed for the renderer. + # They can go away when app_shell has no more //chrome/renderer deps. + '<(DEPTH)/chrome/chrome.gyp:debugger', + '<(DEPTH)/chrome/chrome.gyp:plugin', + '<(DEPTH)/chrome/chrome.gyp:renderer', + '<(DEPTH)/chrome/chrome.gyp:utility', + '<(DEPTH)/third_party/WebKit/public/blink_devtools.gyp:blink_devtools_frontend_resources', + ] + }, + { + 'target_name': 'app_shell_lib', + 'type': 'static_library', + 'defines!': ['CONTENT_IMPLEMENTATION'], + 'variables': { + 'chromium_code': 1, + }, + 'dependencies': [ + 'app_shell_temporary_deps', + '<(DEPTH)/apps/common/api/api.gyp:apps_api', + '<(DEPTH)/chrome/common/extensions/api/api.gyp:chrome_api', + # TODO(rockot): Dependencies above this line are temporary. + # See http://crbug.com/359656. + 'app_shell_pak', + '<(DEPTH)/base/base.gyp:base', + '<(DEPTH)/base/base.gyp:base_prefs_test_support', + '<(DEPTH)/content/content.gyp:content', + '<(DEPTH)/content/content.gyp:content_gpu', + '<(DEPTH)/content/content.gyp:content_ppapi_plugin', + '<(DEPTH)/content/content.gyp:content_worker', + '<(DEPTH)/content/content_shell_and_tests.gyp:content_shell_lib', + '<(DEPTH)/extensions/common/api/api.gyp:extensions_api', + '<(DEPTH)/extensions/extensions.gyp:extensions_browser', + '<(DEPTH)/extensions/extensions.gyp:extensions_common', + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/third_party/WebKit/public/blink.gyp:blink', + '<(DEPTH)/ui/views/views.gyp:views', + '<(DEPTH)/ui/wm/wm.gyp:wm_test_support', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'include_dirs': [ + '../..', + '<(SHARED_INTERMEDIATE_DIR)', + ], + 'sources': [ + 'app/shell_main_delegate.cc', + 'app/shell_main_delegate.h', + 'browser/shell_app_sorting.cc', + 'browser/shell_app_sorting.h', + 'browser/shell_app_window_delegate.cc', + 'browser/shell_app_window_delegate.h', + 'browser/shell_apps_client.cc', + 'browser/shell_apps_client.h', + 'browser/shell_browser_context.cc', + 'browser/shell_browser_context.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_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', + 'common/shell_content_client.cc', + 'common/shell_content_client.h', + 'common/shell_extensions_client.cc', + 'common/shell_extensions_client.h', + 'renderer/shell_content_renderer_client.cc', + 'renderer/shell_content_renderer_client.h', + ], + }, + { + 'target_name': 'app_shell', + 'type': 'executable', + 'defines!': ['CONTENT_IMPLEMENTATION'], + 'variables': { + 'chromium_code': 1, + }, + 'dependencies': [ + 'app_shell_lib', + 'app_shell_pak', + ], + 'include_dirs': [ + '../..', + ], + 'sources': [ + 'app/shell_main.cc', + ], + 'conditions': [ + ['OS=="win"', { + 'msvs_settings': { + 'VCLinkerTool': { + 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS + }, + }, + 'msvs_large_pdb': 1, + 'dependencies': [ + '<(DEPTH)/sandbox/sandbox.gyp:sandbox', + ], + }], + ], + }, + { + 'target_name': 'app_shell_browsertests', + 'type': '<(gtest_target_type)', + 'variables': { + 'chromium_code': 1, + }, + 'dependencies': [ + 'app_shell_lib', + # TODO(yoz): find the right deps + '<(DEPTH)/base/base.gyp:test_support_base', + '<(DEPTH)/content/content.gyp:content_app_both', + '<(DEPTH)/content/content_shell_and_tests.gyp:content_browser_test_support', + '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content', + '<(DEPTH)/testing/gtest.gyp:gtest', + ], + 'defines': [ + 'HAS_OUT_OF_PROC_TEST_RUNNER', + ], + 'msvs_large_pdb': 1, + 'sources': [ + # TODO(yoz): Refactor once we have a second test target. + '../test/app_shell_test.h', + '../test/app_shell_test.cc', + '../test/apps_test_launcher_delegate.cc', + '../test/apps_test_launcher_delegate.h', + '../test/apps_tests_main.cc', + ], + }, + ], # targets +} diff --git a/build/all.gyp b/build/all.gyp index 1b9d5fe7..0c875cc 100644 --- a/build/all.gyp +++ b/build/all.gyp @@ -223,6 +223,11 @@ '../google_apis/gcm/gcm.gyp:*', ], }], + ['chromeos==1 or (OS=="linux" and use_aura==1) or (OS=="win" and use_aura==1)', { + 'dependencies': [ + '../apps/shell/app_shell.gyp:*', + ], + }], ], }, # target_name: All { diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp index 4ceb42db..9d86329 100644 --- a/extensions/extensions.gyp +++ b/extensions/extensions.gyp @@ -11,6 +11,7 @@ 'target_name': 'extensions_common', 'type': 'static_library', 'dependencies': [ + 'common/api/api.gyp:extensions_api', '../third_party/re2/re2.gyp:re2', # TODO(benwells): figure out what to do with the api target and # api resources compiled into the chrome resource bundle. @@ -18,7 +19,6 @@ '../chrome/chrome_resources.gyp:chrome_resources', # TODO(jamescook|derat): Pull strings into extensions module. '../chrome/chrome_resources.gyp:chrome_strings', - '../chrome/common/extensions/api/api.gyp:chrome_api', '../components/components.gyp:url_matcher', '../content/content.gyp:content_common', ], @@ -183,7 +183,7 @@ 'common/api/api.gyp:extensions_api', # TODO(jamescook|derat): Pull strings into extensions module. '../chrome/chrome_resources.gyp:chrome_strings', - '../chrome/common/extensions/api/api.gyp:chrome_api', + '../components/components.gyp:keyed_service_content', '../content/content.gyp:content_browser', '../skia/skia.gyp:skia', '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', -- cgit v1.1