diff options
author | lukasza <lukasza@chromium.org> | 2015-07-20 13:57:20 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-20 20:58:23 +0000 |
commit | 8acc4eb18b6919f36413a10718a607f2a34fb8f6 (patch) | |
tree | 1e53fa500119384a12b38075ebcc97a469750dd7 /components/drive.gypi | |
parent | 1f37aaf390288b2864efe98a07427dbf91771489 (diff) | |
download | chromium_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.gypi | 83 |
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 + ], +} |