# 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") } source_set("public") { sources = [ "config.cc", "config.h", "constants.cc", "constants.h", "database_client.cc", "database_client.h", "features.cc", "features.h", "field_trial_register.h", "input_context.cc", "input_context.h", "input_delegate.cc", "input_delegate.h", "local_state_helper.h", "model_provider.cc", "model_provider.h", "prediction_options.cc", "prediction_options.h", "result.cc", "result.h", "segment_selection_result.cc", "segment_selection_result.h", "segmentation_platform_service.cc", "segmentation_platform_service.h", "service_proxy.cc", "service_proxy.h", "trigger.h", "types/processed_value.cc", "types/processed_value.h", ] public_deps = [ "//components/segmentation_platform/public/proto" ] deps = [ "//base", "//base:i18n", "//components/keyed_service/core", "//components/segmentation_platform/embedder/home_modules:constants", "//services/metrics/public/cpp:metrics_cpp", "//url", ] if (is_android) { sources += [ "android/input_context_android.cc", "android/input_context_android.h", "android/prediction_options_android.cc", "android/prediction_options_android.h", "android/segmentation_platform_conversion_bridge.cc", "android/segmentation_platform_conversion_bridge.h", "android/training_labels_android.cc", "android/training_labels_android.h", ] deps += [ ":jni_headers" ] } } 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 = [] deps = [ ":public", "//testing/gtest", ] if (is_android) { sources += [ "android/input_context_android_unittest.cc" ] deps += [ "//base", "//url", ] } } source_set("test_support") { testonly = true sources = [ "testing/mock_database_client.h", "testing/mock_device_switcher_result_dispatcher.h", "testing/mock_field_trial_register.h", "testing/mock_segmentation_platform_service.h", ] deps = [ ":public", "//base", "//components/segmentation_platform/embedder/default_model", "//testing/gmock", "//testing/gtest", ] } if (is_android) { android_library("public_java") { sources = [ "android/java/src/org/chromium/components/segmentation_platform/ClassificationResult.java", "android/java/src/org/chromium/components/segmentation_platform/Constants.java", "android/java/src/org/chromium/components/segmentation_platform/InputContext.java", "android/java/src/org/chromium/components/segmentation_platform/PredictionOptions.java", "android/java/src/org/chromium/components/segmentation_platform/ProcessedValue.java", "android/java/src/org/chromium/components/segmentation_platform/SegmentSelectionResult.java", "android/java/src/org/chromium/components/segmentation_platform/SegmentationPlatformConversionBridge.java", "android/java/src/org/chromium/components/segmentation_platform/SegmentationPlatformService.java", "android/java/src/org/chromium/components/segmentation_platform/TrainingLabels.java", ] deps = [ "//base:base_java", "//build/android:build_java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/androidx:androidx_annotation_annotation_jvm_java", "//third_party/jni_zero:jni_zero_java", "//url:gurl_java", ] srcjar_deps = [ ":execution_status_enums_java", ":jni_headers", ":processed_value_enums_java", ":segmentation_platform_strings_java", ] public_deps = [ "//components/segmentation_platform/public/proto:segmentation_platform_proto_java" ] } java_cpp_strings("segmentation_platform_strings_java") { sources = [ "constants.h" ] class_name = "org.chromium.components.segmentation_platform.SegmentationPlatformConstants" } robolectric_library("junit") { sources = [ "android/java/src/org/chromium/components/segmentation_platform/InputContextTest.java", "android/java/src/org/chromium/components/segmentation_platform/PredictionOptionsTest.java", "android/java/src/org/chromium/components/segmentation_platform/ProcessedValueTest.java", ] deps = [ ":public_java", "//base:base_java", "//base:base_java_test_support", "//base:base_java_test_support_uncommon", "//base:base_junit_test_support", "//content/public/android:content_full_java", "//third_party/jni_zero:jni_zero_java", "//third_party/junit", "//third_party/mockito:mockito_java", "//ui/android:ui_no_recycler_view_java", "//url:gurl_java", "//url:gurl_junit_test_support", ] } generate_jni("jni_headers") { visibility = [ ":*" ] sources = [ "android/java/src/org/chromium/components/segmentation_platform/InputContext.java", "android/java/src/org/chromium/components/segmentation_platform/PredictionOptions.java", "android/java/src/org/chromium/components/segmentation_platform/SegmentationPlatformConversionBridge.java", "android/java/src/org/chromium/components/segmentation_platform/TrainingLabels.java", ] } java_cpp_enum("execution_status_enums_java") { sources = [ "result.h" ] } java_cpp_enum("processed_value_enums_java") { sources = [ "types/processed_value.h" ] } }