# Copyright 2017 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.

if (is_android) {
  import("//build/config/android/rules.gni")
}

source_set("lib") {
  sources = [
    "identity_accessor_impl.cc",
    "identity_accessor_impl.h",
    "identity_service.cc",
    "identity_service.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  deps = [
    "//base",
    "//components/signin/core/browser:internals",
    "//components/signin/core/browser:shared",
    "//services/identity/public/cpp:cpp",
    "//services/identity/public/mojom",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
  ]
}

source_set("tests") {
  testonly = true
  deps = [
    ":lib",
    "//base",
    "//base/test:test_support",
    "//components/image_fetcher/core:test_support",
    "//components/prefs:test_support",
    "//components/signin/core/browser:internals",
    "//components/signin/core/browser:internals_test_support",
    "//components/signin/core/browser:shared",
    "//components/sync_preferences:test_support",
    "//mojo/public/cpp/bindings",
    "//services/identity/public/cpp",
    "//services/identity/public/cpp:test_support",
    "//services/identity/public/cpp:tests",
    "//services/identity/public/mojom",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/cpp/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
  sources = [
    "identity_accessor_impl_unittest.cc",
    "public/cpp/access_token_fetcher_unittest.cc",
    "public/cpp/identity_manager_unittest.cc",
    "public/cpp/identity_test_environment_unittest.cc",
    "public/cpp/primary_account_access_token_fetcher_unittest.cc",
  ]
}

if (is_android) {
  java_group("java") {
    deps = [
      "//components/signin/core/browser/android:java",
    ]
  }
}
