| # 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", |
| ] |
| } |