chromium/components/segmentation_platform/embedder/BUILD.gn

# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//components/optimization_guide/features.gni")

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

source_set("embedder") {
  sources = [
    "input_delegate/shopping_service_input_delegate.cc",
    "input_delegate/shopping_service_input_delegate.h",
    "input_delegate/tab_rank_dispatcher.cc",
    "input_delegate/tab_rank_dispatcher.h",
    "input_delegate/tab_session_source.cc",
    "input_delegate/tab_session_source.h",
    "model_provider_factory_impl.cc",
    "model_provider_factory_impl.h",
    "tab_fetcher.cc",
    "tab_fetcher.h",
  ]

  deps = [
    "//base",
    "//components/commerce/core:shopping_service",
    "//components/optimization_guide/core",
    "//components/optimization_guide/core:features",
    "//components/segmentation_platform/internal",
    "//components/segmentation_platform/internal/proto",
    "//components/segmentation_platform/public",
    "//components/sessions:session_id",
    "//components/sync_sessions:sync_sessions",
    "//url",
  ]
  public_deps = [ "//components/segmentation_platform/embedder/home_modules" ]

  if (build_with_tflite_lib) {
    deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ]
  }
}

source_set("unit_tests") {
  testonly = true

  # IMPORTANT NOTE: When adding new tests, also remember to update the list of
  # tests in //components/segmentation_platform/components_unittests.filter
  sources = [
    "input_delegate/tab_rank_dispatcher_unittest.cc",
    "input_delegate/tab_session_source_unittest.cc",
    "model_provider_factory_impl_unittest.cc",
  ]

  deps = [
    ":embedder",
    "//base",
    "//base/test:test_support",
    "//components/commerce/core:feature_list",
    "//components/optimization_guide/core",
    "//components/optimization_guide/core:test_support",
    "//components/segmentation_platform/embedder/home_modules:unit_tests",
    "//components/segmentation_platform/internal",
    "//components/segmentation_platform/internal/proto",
    "//components/segmentation_platform/public",
    "//components/segmentation_platform/public:test_support",
    "//components/sync_sessions:sync_sessions",
    "//services/network/public/cpp",
    "//testing/gmock",
    "//testing/gtest",
    "//url",
  ]
}