| # 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. |
| |
| import("//third_party/protobuf/proto_library.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| |
| source_set("commerce_info_cache") { |
| sources = [ |
| "commerce_info_cache.cc", |
| "commerce_info_cache.h", |
| ] |
| |
| deps = [ |
| ":commerce_types", |
| "//base", |
| "//url", |
| ] |
| } |
| |
| source_set("feature_list") { |
| sources = [ |
| "commerce_feature_list.cc", |
| "commerce_feature_list.h", |
| "flag_descriptions.cc", |
| "flag_descriptions.h", |
| ] |
| deps = [ |
| ":commerce_heuristics_data", |
| ":pref_names", |
| "//base", |
| "//components/prefs", |
| "//components/search", |
| "//components/webui/flags", |
| "//third_party/re2", |
| "//url", |
| ] |
| } |
| |
| source_set("feature_utils") { |
| sources = [ |
| "feature_utils.cc", |
| "feature_utils.h", |
| ] |
| deps = [ |
| ":account_checker", |
| ":feature_list", |
| ":pref_names", |
| "product_specifications", |
| "//components/optimization_guide/core:features", |
| "//components/prefs", |
| "//components/sync/base", |
| ] |
| } |
| |
| source_set("feature_list_unittests") { |
| testonly = true |
| sources = [ "commerce_feature_list_unittest.cc" ] |
| deps = [ |
| ":commerce_heuristics_data", |
| ":feature_list", |
| ":pref_names", |
| ":shopping_service_test_support", |
| "//base", |
| "//base/test:test_support", |
| "//components/prefs:test_support", |
| "//testing/gtest", |
| "//third_party/re2", |
| ] |
| |
| # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and |
| # enable the diagnostic by removing this line. |
| configs += [ "//build/config/compiler:no_exit_time_destructors" ] |
| } |
| |
| static_library("metrics") { |
| sources = [ |
| "metrics/discounts_metric_collector.cc", |
| "metrics/discounts_metric_collector.h", |
| "metrics/metrics_utils.cc", |
| "metrics/metrics_utils.h", |
| ] |
| |
| deps = [ |
| ":account_checker", |
| ":commerce_types", |
| ":feature_list", |
| ":proto", |
| "//base", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs", |
| "//services/metrics/public/cpp:metrics_cpp", |
| "//services/metrics/public/cpp:ukm_builders", |
| ] |
| } |
| |
| proto_library("proto") { |
| proto_in_dir = "//" |
| sources = [ |
| "proto/discounts.proto", |
| "proto/merchant_trust.proto", |
| "proto/parcel.proto", |
| "proto/price_insights.proto", |
| "proto/price_tracking.proto", |
| "proto/product_category.proto", |
| "proto/shopping_page_types.proto", |
| ] |
| } |
| |
| if (is_android) { |
| proto_java_library("proto_java") { |
| proto_path = "//" |
| sources = [ |
| "proto/price_tracking.proto", |
| "proto/product_category.proto", |
| ] |
| } |
| |
| proto_library("merchant_signal_db_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/merchant_signal_db_content.proto" ] |
| } |
| } else { |
| proto_library("coupon_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/coupon_db_content.proto" ] |
| } |
| } |
| |
| proto_library("parcel_tracking_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/parcel_tracking_db_content.proto" ] |
| deps = [ ":proto" ] |
| } |
| |
| proto_library("persisted_state_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/persisted_state_db_content.proto" ] |
| } |
| |
| proto_library("commerce_subscription_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/commerce_subscription_db_content.proto" ] |
| } |
| |
| proto_library("discounts_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/discounts_db_content.proto" ] |
| } |
| |
| proto_library("cart_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/cart_db_content.proto" ] |
| } |
| |
| proto_library("discount_infos_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/discount_infos_db_content.proto" ] |
| } |
| |
| source_set("commerce_heuristics_data") { |
| sources = [ |
| "commerce_heuristics_data.cc", |
| "commerce_heuristics_data.h", |
| "commerce_heuristics_data_metrics_helper.cc", |
| "commerce_heuristics_data_metrics_helper.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//third_party/re2", |
| ] |
| } |
| |
| source_set("commerce_heuristics_data_unittests") { |
| testonly = true |
| sources = [ "commerce_heuristics_data_unittest.cc" ] |
| deps = [ |
| ":commerce_heuristics_data", |
| "//base", |
| "//base/test:test_support", |
| "//testing/gtest", |
| "//third_party/re2", |
| ] |
| } |
| |
| source_set("heuristics_provider") { |
| sources = [ |
| "heuristics/commerce_heuristics_provider.cc", |
| "heuristics/commerce_heuristics_provider.h", |
| ] |
| |
| deps = [ |
| ":commerce_heuristics_data", |
| ":feature_list", |
| "//base", |
| "//components/resources:components_resources_grit", |
| "//net", |
| "//third_party/re2", |
| "//ui/base", |
| "//url", |
| ] |
| } |
| |
| static_library("shopping_service") { |
| sources = [ |
| "bookmark_update_manager.cc", |
| "bookmark_update_manager.h", |
| "discount_infos_storage.cc", |
| "discount_infos_storage.h", |
| "metrics/scheduled_metrics_manager.cc", |
| "metrics/scheduled_metrics_manager.h", |
| "price_tracking_utils.cc", |
| "price_tracking_utils.h", |
| "shopping_bookmark_model_observer.cc", |
| "shopping_bookmark_model_observer.h", |
| "shopping_power_bookmark_data_provider.cc", |
| "shopping_power_bookmark_data_provider.h", |
| "shopping_service.cc", |
| "shopping_service.h", |
| "web_extractor.cc", |
| "web_extractor.h", |
| "web_wrapper.cc", |
| "web_wrapper.h", |
| ] |
| |
| deps = [ |
| ":cart_db_content_proto", |
| ":commerce_constants", |
| ":commerce_info_cache", |
| ":commerce_subscription_db_content_proto", |
| ":discount_infos_db_content_proto", |
| ":discounts_db_content_proto", |
| ":feature_list", |
| ":metrics", |
| ":parcel_tracking_db_content_proto", |
| ":pref_names", |
| ":proto", |
| ":utils", |
| "//base", |
| "//components/bookmarks/browser", |
| "//components/commerce/core/compare", |
| "//components/commerce/core/product_specifications", |
| "//components/history/core/browser", |
| "//components/keyed_service/core", |
| "//components/leveldb_proto", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/power_bookmarks/core", |
| "//components/power_bookmarks/core:proto", |
| "//components/prefs", |
| "//components/resources:components_resources_grit", |
| "//components/search", |
| "//components/session_proto_db:core", |
| "//components/sessions", |
| "//components/signin/public/identity_manager", |
| "//components/strings:components_strings_grit", |
| "//components/sync/service", |
| "//components/unified_consent", |
| "//services/metrics/public/cpp:metrics_cpp", |
| "//services/network/public/cpp", |
| "//ui/base", |
| "//url", |
| ] |
| |
| public_deps = [ |
| ":account_checker", |
| ":commerce_types", |
| ":feature_utils", |
| "//components/commerce/core/subscriptions", |
| "//services/data_decoder/public/cpp", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "android/feature_utils_android.cc", |
| "android/shopping_service_android.cc", |
| "android/shopping_service_android.h", |
| ] |
| |
| deps += [ "//components/commerce/core/android:core_jni" ] |
| } |
| } |
| |
| source_set("shopping_service_test_support") { |
| testonly = true |
| |
| sources = [ |
| "mock_cluster_manager.cc", |
| "mock_cluster_manager.h", |
| "mock_discount_infos_storage.cc", |
| "mock_discount_infos_storage.h", |
| "mock_shopping_service.cc", |
| "mock_shopping_service.h", |
| "shopping_service_test_base.cc", |
| "shopping_service_test_base.h", |
| "test_utils.cc", |
| "test_utils.h", |
| ] |
| |
| # Expose all deps for test support. |
| public_deps = [ |
| ":account_checker_test_support", |
| ":commerce_info_cache", |
| ":feature_list", |
| ":pref_names", |
| ":shopping_service", |
| ":utils", |
| "//base", |
| "//base/test:test_support", |
| "//components/bookmarks/browser", |
| "//components/bookmarks/test", |
| "//components/commerce/core:proto", |
| "//components/commerce/core/compare", |
| "//components/commerce/core/product_specifications:test_support", |
| "//components/commerce/core/subscriptions", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:features", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/power_bookmarks/core", |
| "//components/prefs:test_support", |
| "//components/sessions", |
| "//components/sessions:test_support", |
| "//components/signin/public/identity_manager:test_support", |
| "//components/sync:test_support", |
| "//components/unified_consent", |
| "//services/data_decoder/public/cpp:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//services/network/public/cpp", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//url", |
| ] |
| } |
| |
| source_set("shopping_service_unit_tests") { |
| testonly = true |
| |
| sources = [ |
| "bookmark_update_manager_unittest.cc", |
| "commerce_info_cache_unittest.cc", |
| "discount_infos_storage_unittest.cc", |
| "feature_utils_unittest.cc", |
| "metrics/scheduled_metrics_manager_unittest.cc", |
| "pdp_metrics_unittest.cc", |
| "price_tracking_utils_unittest.cc", |
| "shopping_bookmark_model_observer_unittest.cc", |
| "shopping_power_bookmark_data_provider_unittest.cc", |
| "shopping_service_metrics_unittest.cc", |
| "shopping_service_unittest.cc", |
| ] |
| |
| deps = [ |
| ":account_checker_test_support", |
| ":commerce_constants", |
| ":commerce_info_cache", |
| ":discount_infos_db_content_proto", |
| ":discounts_db_content_proto", |
| ":feature_utils", |
| ":metrics", |
| ":pref_names", |
| ":shopping_service_test_support", |
| "compare:unit_tests", |
| "product_specifications", |
| "product_specifications:test_support", |
| "subscriptions:test_support", |
| "webui:unit_tests", |
| "//components/history/core/browser", |
| "//components/optimization_guide/core:features", |
| "//components/search", |
| "//components/ukm:test_support", |
| "//services/metrics/public/cpp:ukm_builders", |
| ] |
| |
| # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and |
| # enable the diagnostic by removing this line. |
| configs += [ "//build/config/compiler:no_exit_time_destructors" ] |
| } |
| |
| source_set("pref_names") { |
| sources = [ |
| "pref_names.cc", |
| "pref_names.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//components/pref_registry", |
| "//components/prefs", |
| ] |
| } |
| |
| source_set("account_checker") { |
| sources = [ |
| "account_checker.cc", |
| "account_checker.h", |
| ] |
| |
| deps = [ |
| ":commerce_constants", |
| ":feature_list", |
| ":pref_names", |
| ":utils", |
| "//base", |
| "//components/endpoint_fetcher", |
| "//components/prefs", |
| "//components/signin/public/identity_manager", |
| "//components/sync/base", |
| "//components/sync/service", |
| "//components/unified_consent", |
| "//net/traffic_annotation", |
| "//services/network/public/cpp", |
| "//ui/base", |
| "//url", |
| ] |
| |
| public_deps = [ "//services/data_decoder/public/cpp" ] |
| } |
| |
| source_set("account_checker_test_support") { |
| testonly = true |
| |
| sources = [ |
| "mock_account_checker.cc", |
| "mock_account_checker.h", |
| ] |
| |
| deps = [ |
| ":account_checker", |
| ":pref_names", |
| "//base", |
| "//components/optimization_guide/core:features", |
| "//components/prefs", |
| "//components/prefs:test_support", |
| "//components/sync/base", |
| "//services/network/public/cpp", |
| "//testing/gmock", |
| ] |
| } |
| |
| source_set("account_checker_unittests") { |
| testonly = true |
| sources = [ "account_checker_unittest.cc" ] |
| deps = [ |
| ":account_checker", |
| ":commerce_constants", |
| ":feature_list", |
| ":pref_names", |
| "//base", |
| "//base/test:test_support", |
| "//components/endpoint_fetcher:test_support", |
| "//components/prefs:test_support", |
| "//components/signin/public/identity_manager:test_support", |
| "//components/sync:test_support", |
| "//net/traffic_annotation:test_support", |
| "//services/data_decoder/public/cpp:test_support", |
| "//services/network:test_support", |
| "//services/network/public/cpp", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//url", |
| ] |
| } |
| |
| source_set("commerce_constants") { |
| sources = [ "commerce_constants.h" ] |
| } |
| |
| source_set("commerce_types") { |
| sources = [ |
| "commerce_types.cc", |
| "commerce_types.h", |
| ] |
| |
| deps = [ |
| ":proto", |
| "//base", |
| "//url", |
| ] |
| } |
| |
| source_set("utils") { |
| sources = [ |
| "commerce_utils.cc", |
| "commerce_utils.h", |
| ] |
| deps = [ |
| ":commerce_constants", |
| ":commerce_types", |
| ":feature_list", |
| "//components/commerce/core:proto", |
| "//components/endpoint_fetcher", |
| "//components/optimization_guide/core", |
| "//net", |
| ] |
| } |
| |
| source_set("utils_unit_tests") { |
| testonly = true |
| |
| sources = [ "commerce_utils_unittest.cc" ] |
| |
| deps = [ |
| ":commerce_constants", |
| ":feature_list", |
| ":shopping_service_test_support", |
| ":utils", |
| "//base", |
| "//base/test:test_support", |
| "//components/endpoint_fetcher", |
| "//net/traffic_annotation:test_support", |
| "//url", |
| ] |
| } |