blob: 77879f9784cc80a54cd671398642c4410c73e42f [file]
# Copyright 2021 The Chromium Authors
# 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/config.gni")
import("//build/config/android/rules.gni")
import("//third_party/jni_zero/jni_zero.gni")
}
if (is_android) {
android_library("factory_java") {
srcjar_deps = [ ":jni_headers" ]
sources = [ "android/java/src/org/chromium/chrome/browser/segmentation_platform/SegmentationPlatformServiceFactory.java" ]
deps = [
"//base:base_java",
"//build/android:build_java",
"//chrome/browser/profiles/android:java",
"//components/segmentation_platform/public:public_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("javatests") {
testonly = true
sources = [ "android/javatests/src/org/chromium/chrome/browser/segmentation_platform/SegmentationPlatformServiceFactoryTest.java" ]
deps = [
"//base:base_java",
"//base:base_java_test_support",
"//chrome/browser/flags:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/segmentation_platform:factory_java",
"//chrome/test/android:chrome_java_integration_test_support",
"//chrome/test/android:chrome_java_transit",
"//components/segmentation_platform/public:public_java",
"//third_party/androidx:androidx_test_runner_java",
"//third_party/hamcrest:hamcrest_core_java",
"//third_party/hamcrest:hamcrest_library_java",
"//third_party/junit",
"//url:gurl_java",
]
}
generate_jni("jni_headers") {
sources = [ "android/java/src/org/chromium/chrome/browser/segmentation_platform/SegmentationPlatformServiceFactory.java" ]
}
android_library("client_util_java") {
srcjar_deps = [ ":client_util_jni_headers" ]
sources = [ "android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java" ]
deps = [
":factory_java",
"//base:base_java",
"//build/android:build_java",
"//chrome/browser/flags:java",
"//chrome/browser/profiles/android:java",
"//components/segmentation_platform/public:public_java",
"//third_party/jni_zero:jni_zero_java",
]
}
generate_jni("client_util_jni_headers") {
sources = [ "android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java" ]
}
}
source_set("segmentation_platform") {
sources = [
"segmentation_platform_service_factory.h",
"ukm_database_client.h",
]
public_deps = [
"//chrome/browser/profiles:profile",
"//components/segmentation_platform/internal",
]
}
source_set("impl") {
sources = [
"chrome_browser_main_extra_parts_segmentation_platform.cc",
"client_util/local_tab_handler.cc",
"client_util/local_tab_handler.h",
"segmentation_platform_config.cc",
"segmentation_platform_config.h",
"segmentation_platform_profile_observer.cc",
"segmentation_platform_profile_observer.h",
"segmentation_platform_service_factory.cc",
"ukm_database_client.cc",
]
if (is_android) {
sources += [
"android/contextual_page_action_controller_android.cc",
"android/home_modules_ranking_helper.cc",
"android/segmentation_platform_service_factory_android.cc",
]
}
public_deps = [ ":segmentation_platform" ]
deps = [
"//chrome/browser:browser_process",
"//chrome/browser/bookmarks",
"//chrome/browser/commerce",
"//chrome/browser/history",
"//chrome/browser/metrics",
"//chrome/browser/optimization_guide",
"//chrome/browser/profiles:profile_manager",
"//chrome/browser/sync",
"//chrome/browser/ui/browser_window",
"//components/commerce/core:feature_list",
"//components/compose:buildflags",
"//components/metrics_services_manager",
"//components/search",
"//components/segmentation_platform/embedder",
"//components/segmentation_platform/embedder/default_model",
"//components/segmentation_platform/internal",
"//components/segmentation_platform/internal/proto",
"//components/sync_sessions",
"//components/ukm",
]
if (is_android) {
deps += [
":client_util_jni_headers",
":jni_headers",
"//chrome/android:jni_headers",
"//chrome/browser/android:tabs_public",
"//chrome/browser/flags:flags_android",
"//chrome/browser/ui",
"//chrome/browser/ui/android/tab_model",
"//chrome/browser/ui/android/toolbar",
"//components/commerce/core:shopping_service",
"//components/segmentation_platform/embedder/home_modules:constants",
]
} else {
deps += [
"//chrome/browser/ui",
"//chrome/browser/ui/sync",
"//chrome/browser/ui/tabs:tab_strip",
"//components/tabs:public",
]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"segmentation_platform_config_unittest.cc",
"segmentation_platform_profile_observer_unittest.cc",
"segmentation_platform_service_factory_unittest.cc",
]
deps = [
":impl",
":test_utils",
"//base/test:test_support",
"//chrome/browser/commerce",
"//chrome/browser/optimization_guide",
"//chrome/test:test_support",
"//chrome/test/base:testing_browser_process",
"//components/commerce/core:shopping_service_test_support",
"//components/optimization_guide/core",
"//components/segmentation_platform/embedder",
"//components/segmentation_platform/embedder/default_model",
"//components/segmentation_platform/internal",
"//components/segmentation_platform/public",
"//components/segmentation_platform/public:test_support",
"//components/ukm:test_support",
"//components/visited_url_ranking/public",
"//components/visited_url_ranking/public:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
source_set("browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = [ "service_browsertest.cc" ]
if (!is_android) {
sources += [ "client_util/local_tab_handler_browsertest.cc" ]
}
deps = [
":impl",
":test_utils",
"//base/test:test_support",
"//chrome/browser:browser_process",
"//chrome/browser/history",
"//chrome/browser/optimization_guide",
"//chrome/test:test_support",
"//chrome/test/base:chrome_test_utils",
"//components/optimization_guide/core:test_support",
"//components/segmentation_platform/embedder",
"//components/segmentation_platform/embedder/default_model",
"//components/segmentation_platform/internal",
"//components/segmentation_platform/internal:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
static_library("test_utils") {
testonly = true
sources = [
"ukm_data_manager_test_utils.cc",
"ukm_data_manager_test_utils.h",
]
deps = [
":impl",
":segmentation_platform",
"//base/test:test_support",
"//chrome/browser/history",
"//components/segmentation_platform/embedder",
"//components/segmentation_platform/embedder/default_model:default_model_test_base",
"//components/segmentation_platform/internal",
"//components/segmentation_platform/internal:test_support",
"//components/segmentation_platform/internal/proto",
"//components/segmentation_platform/public",
"//components/ukm:test_support",
"//services/metrics/public/cpp:ukm_builders",
"//testing/gmock",
]
}