summaryrefslogtreecommitdiffstats
path: root/components/drive.gypi
diff options
context:
space:
mode:
authorlukasza <lukasza@chromium.org>2015-07-20 13:57:20 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-20 20:58:23 +0000
commit8acc4eb18b6919f36413a10718a607f2a34fb8f6 (patch)
tree1e53fa500119384a12b38075ebcc97a469750dd7 /components/drive.gypi
parent1f37aaf390288b2864efe98a07427dbf91771489 (diff)
downloadchromium_src-8acc4eb18b6919f36413a10718a607f2a34fb8f6.zip
chromium_src-8acc4eb18b6919f36413a10718a607f2a34fb8f6.tar.gz
chromium_src-8acc4eb18b6919f36413a10718a607f2a34fb8f6.tar.bz2
Move (most of) chrome/browser/drive into components/drive.
Note that drive_notification_manager_factory is left behind in chrome/browser/drive. This is because it needs to stay dependent on the browser. This is okay, because drive_notification_manager_factory is not needed by drive::FileSystem and other parts of drive libraries that we want to componentize. Also note that some things moved to components/drive continue to have slightly undesirable dependencies: - Tests are still built and executed as part of the browser test suites. - drive_uploader.cc depends on content/public/browser/power_save_blocker.h This means that to use components/drive outside of the browser, users of components/drive have to provide a no-op implementation of power_save_blocker.h The most desirable approach in the long-term would be to componentize power_save_blocker.h. An alternative would be to continue with the state introduced by the current changelist (or to introduce drive-specific abstraction similar to power_save_blocker.h, but outside of the browser). - drive_api_util.cc depends on storage/browser/fileapi/file_stream_reader.h To get rid of this dependency, it is probably best to move FileStreamMd5Digester class closer to the only point of usage (c/b/chromeos/extensions/file_manager/private_api_file_system.cc). Landing via CQ with NOPRESUBMIT=true, because "git cl presubmit" incorrectly identifies target directory of a dependency (we are depending on third_party/cacheinvalidation/src/google/cacheinvalidation/types.proto and including the generated header via google/cacheinvalidation/types.pb.h). I believe this is a case of crbug.com/448570. All other presubmit checks are passing AFAIK: $ git cl presubmit Running presubmit commit checks ... ** Presubmit ERRORS ** Missing LGTM from OWNERS of dependencies added to DEPS: '+google/cacheinvalidation/types.pb.h', Presubmit checks took 2.9s to calculate. Test steps: 1. Verify that things still build via GYP (and unit tests pass). $ GYP_DEFINES="use_goma=1 gomadir=... chromeos=1" gclient sync $ ninja -C out/Debug -j 150 chrome unit_tests \ interactive_ui_tests browser_tests drive $ out/Debug/unit_tests 2. Verify that things still builds via GN. $ gn gen out/Default --args='target_os="chromeos" use_goma=true' $ ninja -C out/Default -j 150 chrome unit_tests \ interactive_ui_tests browser_tests components/drive TEST=Please see "Test steps" above. BUG=257943, 498951 NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1190203002 Cr-Commit-Position: refs/heads/master@{#339512}
Diffstat (limited to 'components/drive.gypi')
-rw-r--r--components/drive.gypi83
1 files changed, 83 insertions, 0 deletions
diff --git a/components/drive.gypi b/components/drive.gypi
new file mode 100644
index 0000000..d01f420
--- /dev/null
+++ b/components/drive.gypi
@@ -0,0 +1,83 @@
+# 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.
+
+{
+ 'targets': [
+ {
+ # GN version: //components/drive:drive
+ 'target_name': 'drive',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '..',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../components/components.gyp:invalidation_public',
+
+ # TODO(lukasza): Remove this dependency (see DEPS file for more info).
+ '../content/content.gyp:content_browser',
+
+ '../google_apis/google_apis.gyp:google_apis',
+ '../net/net.gyp:net',
+
+ # TODO(lukasza): Remove this dependency (see DEPS file for more info).
+ '../storage/storage_browser.gyp:storage',
+
+ '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
+ '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_proto_cpp',
+ '../third_party/re2/re2.gyp:re2',
+ ],
+ 'sources': [
+ 'drive/drive_api_util.cc',
+ 'drive/drive_api_util.h',
+ 'drive/drive_app_registry.cc',
+ 'drive/drive_app_registry.h',
+ 'drive/drive_app_registry_observer.h',
+ 'drive/drive_notification_manager.cc',
+ 'drive/drive_notification_manager.h',
+ 'drive/drive_notification_observer.h',
+ 'drive/drive_uploader.cc',
+ 'drive/drive_uploader.h',
+ 'drive/event_logger.cc',
+ 'drive/event_logger.h',
+ 'drive/service/drive_api_service.cc',
+ 'drive/service/drive_api_service.h',
+ 'drive/service/drive_service_interface.cc',
+ 'drive/service/drive_service_interface.h',
+ ],
+ },
+
+ {
+ # GN version: //components/drive:test_support
+ 'target_name': 'drive_test_support',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '..',
+ ],
+ 'dependencies': [
+ 'drive',
+ '../base/base.gyp:base',
+ '../google_apis/google_apis.gyp:google_apis',
+ '../net/net.gyp:net',
+ ],
+ 'sources': [
+ "drive/service/dummy_drive_service.cc",
+ "drive/service/dummy_drive_service.h",
+ "drive/service/fake_drive_service.cc",
+ "drive/service/fake_drive_service.h",
+ "drive/service/test_util.cc",
+ "drive/service/test_util.h",
+ ],
+ },
+
+ # TODO(lukasza): drive_unittests target.
+ # Currently tests are built as part of chrome/chrome_tests_unit.gypi.
+ # Drive files that probably should be moved out of chrome_tests_unit.gypi:
+ # components/drive/service/drive_api_util_unittest.cc
+ # components/drive/service/drive_app_registry_unittest.cc
+ # components/drive/service/drive_uploader_unittest.cc
+ # components/drive/service/event_logger_unittest.cc
+ # components/drive/service/fake_drive_service_unittest.cc
+ ],
+}