summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-03 22:52:10 +0000
committerrockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-03 22:52:10 +0000
commit7cf7320202334174a1fb70a974dcf3eab26037db (patch)
tree90049170ef4638fe945252230332a5afad9b128e
parentbed22e0d5b3acdc04c58b2fc6b43f3febc563b4f (diff)
downloadchromium_src-7cf7320202334174a1fb70a974dcf3eab26037db.zip
chromium_src-7cf7320202334174a1fb70a974dcf3eab26037db.tar.gz
chromium_src-7cf7320202334174a1fb70a974dcf3eab26037db.tar.bz2
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
-rw-r--r--apps/apps.gypi163
-rw-r--r--apps/shell/app_shell.gyp202
-rw-r--r--build/all.gyp5
-rw-r--r--extensions/extensions.gyp4
4 files changed, 209 insertions, 165 deletions
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',