# Copyright (c) 2015 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.

import("//third_party/protobuf/proto_library.gni")

static_library("drive") {
  sources = [
    "drive_api_util.cc",
    "drive_api_util.h",
    "drive_app_registry.cc",
    "drive_app_registry.h",
    "drive_app_registry_observer.h",
    "drive_notification_manager.cc",
    "drive_notification_manager.h",
    "drive_notification_observer.h",
    "drive_pref_names.cc",
    "drive_pref_names.h",
    "drive_uploader.cc",
    "drive_uploader.h",
    "event_logger.cc",
    "event_logger.h",
    "file_change.cc",
    "file_change.h",
    "file_errors.cc",
    "file_errors.h",
    "file_system_core_util.cc",
    "file_system_core_util.h",
    "file_system_metadata.cc",
    "file_system_metadata.h",
    "file_write_watcher.cc",
    "file_write_watcher.h",
    "job_list.cc",
    "job_list.h",
    "job_queue.cc",
    "job_queue.h",
    "job_scheduler.cc",
    "job_scheduler.h",
    "local_file_reader.cc",
    "local_file_reader.h",
    "resource_entry_conversion.cc",
    "resource_entry_conversion.h",
    "resource_metadata_storage.cc",
    "resource_metadata_storage.h",
    "service/drive_api_service.cc",
    "service/drive_api_service.h",
    "service/drive_service_interface.cc",
    "service/drive_service_interface.h",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//components/invalidation/public",
    "//components/keyed_service/core",
    "//components/prefs",

    # TODO(lukasza): Remove this dependency (see DEPS file for more info).
    "//content/public/browser",
    "//google_apis:google_apis",
    "//net:net",
    "//services/device/public/mojom",
    "//third_party/cacheinvalidation",
    "//third_party/leveldatabase",
    "//third_party/re2",
  ]
  public_deps = [
    ":proto",
  ]
}

proto_library("proto") {
  sources = [
    "drive.proto",
  ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "service/dummy_drive_service.cc",
    "service/dummy_drive_service.h",
    "service/fake_drive_service.cc",
    "service/fake_drive_service.h",
    "service/test_util.cc",
    "service/test_util.h",
  ]
  deps = [
    ":drive",
    ":proto",
    "//base",
    "//components/prefs:test_support",
    "//content/test:test_support",
    "//google_apis:test_support",
    "//net:net",
  ]
}

if (is_chromeos) {
  source_set("drive_chromeos") {
    sources = [
      "chromeos/about_resource_loader.cc",
      "chromeos/about_resource_loader.h",
      "chromeos/about_resource_root_folder_id_loader.cc",
      "chromeos/about_resource_root_folder_id_loader.h",
      "chromeos/change_list_loader.cc",
      "chromeos/change_list_loader.h",
      "chromeos/change_list_loader_observer.h",
      "chromeos/change_list_processor.cc",
      "chromeos/change_list_processor.h",
      "chromeos/default_corpus_change_list_loader.cc",
      "chromeos/default_corpus_change_list_loader.h",
      "chromeos/directory_loader.cc",
      "chromeos/directory_loader.h",
      "chromeos/drive_change_list_loader.h",
      "chromeos/drive_file_util.cc",
      "chromeos/drive_file_util.h",
      "chromeos/file_cache.cc",
      "chromeos/file_cache.h",
      "chromeos/file_system.cc",
      "chromeos/file_system.h",
      "chromeos/file_system/copy_operation.cc",
      "chromeos/file_system/copy_operation.h",
      "chromeos/file_system/create_directory_operation.cc",
      "chromeos/file_system/create_directory_operation.h",
      "chromeos/file_system/create_file_operation.cc",
      "chromeos/file_system/create_file_operation.h",
      "chromeos/file_system/download_operation.cc",
      "chromeos/file_system/download_operation.h",
      "chromeos/file_system/get_file_for_saving_operation.cc",
      "chromeos/file_system/get_file_for_saving_operation.h",
      "chromeos/file_system/move_operation.cc",
      "chromeos/file_system/move_operation.h",
      "chromeos/file_system/open_file_operation.cc",
      "chromeos/file_system/open_file_operation.h",
      "chromeos/file_system/operation_delegate.cc",
      "chromeos/file_system/operation_delegate.h",
      "chromeos/file_system/remove_operation.cc",
      "chromeos/file_system/remove_operation.h",
      "chromeos/file_system/search_operation.cc",
      "chromeos/file_system/search_operation.h",
      "chromeos/file_system/set_property_operation.cc",
      "chromeos/file_system/set_property_operation.h",
      "chromeos/file_system/touch_operation.cc",
      "chromeos/file_system/touch_operation.h",
      "chromeos/file_system/truncate_operation.cc",
      "chromeos/file_system/truncate_operation.h",
      "chromeos/file_system_interface.cc",
      "chromeos/file_system_interface.h",
      "chromeos/file_system_observer.h",
      "chromeos/loader_controller.cc",
      "chromeos/loader_controller.h",
      "chromeos/remove_stale_cache_files.cc",
      "chromeos/remove_stale_cache_files.h",
      "chromeos/resource_metadata.cc",
      "chromeos/resource_metadata.h",
      "chromeos/root_folder_id_loader.h",
      "chromeos/search_metadata.cc",
      "chromeos/search_metadata.h",
      "chromeos/start_page_token_loader.cc",
      "chromeos/start_page_token_loader.h",
      "chromeos/sync/entry_revert_performer.cc",
      "chromeos/sync/entry_revert_performer.h",
      "chromeos/sync/entry_update_performer.cc",
      "chromeos/sync/entry_update_performer.h",
      "chromeos/sync/remove_performer.cc",
      "chromeos/sync/remove_performer.h",
      "chromeos/sync_client.cc",
      "chromeos/sync_client.h",
      "chromeos/team_drive.cc",
      "chromeos/team_drive.h",
      "chromeos/team_drive_change_list_loader.cc",
      "chromeos/team_drive_change_list_loader.h",
      "chromeos/team_drive_list_loader.cc",
      "chromeos/team_drive_list_loader.h",
      "chromeos/team_drive_list_observer.h",
    ]
    deps = [
      ":drive",
      "//base",
      "//base:i18n",
      "//components/prefs",
      "//google_apis:google_apis",
      "//net:net",
    ]
    public_deps = [
      ":proto",
    ]
  }
  static_library("test_support_chromeos") {
    testonly = true
    sources = [
      "chromeos/drive_test_util.cc",
      "chromeos/drive_test_util.h",
      "chromeos/dummy_file_system.cc",
      "chromeos/dummy_file_system.h",
      "chromeos/fake_file_system.cc",
      "chromeos/fake_file_system.h",
      "chromeos/fake_free_disk_space_getter.cc",
      "chromeos/fake_free_disk_space_getter.h",
    ]
    deps = [
      ":drive",
      ":drive_chromeos",
      ":proto",
      "//base",
      "//components/prefs:test_support",
      "//content/test:test_support",
      "//google_apis:test_support",
    ]
  }
}
