| # Copyright 2021 The Chromium Authors.All rights reserved. |
| # 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("public") { |
| sources = [ |
| "discount_consent_handler.h", |
| "shopping_prompt.h", |
| ] |
| } |
| |
| source_set("feature_list") { |
| sources = [ |
| "commerce_feature_list.cc", |
| "commerce_feature_list.h", |
| "flag_descriptions.cc", |
| "flag_descriptions.h", |
| ] |
| |
| deps = [ |
| ":commerce_heuristics_data", |
| "//base", |
| "//components/flags_ui", |
| "//components/search", |
| "//third_party/re2:re2", |
| "//url:url", |
| ] |
| } |
| |
| source_set("feature_list_unittests") { |
| testonly = true |
| sources = [ "commerce_feature_list_unittest.cc" ] |
| deps = [ |
| ":commerce_heuristics_data", |
| ":feature_list", |
| "//base", |
| "//base/test:test_support", |
| "//testing/gtest", |
| "//third_party/re2:re2", |
| ] |
| } |
| |
| static_library("metrics") { |
| sources = [ |
| "metrics/metrics_utils.cc", |
| "metrics/metrics_utils.h", |
| ] |
| |
| deps = [ |
| ":proto", |
| "//base", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs", |
| ] |
| } |
| |
| proto_library("proto") { |
| proto_in_dir = "//" |
| sources = [ |
| "proto/merchant_trust.proto", |
| "proto/price_tracking.proto", |
| ] |
| } |
| |
| if (is_android) { |
| proto_java_library("proto_java") { |
| proto_path = "." |
| sources = [ "proto/price_tracking.proto" ] |
| } |
| |
| proto_library("merchant_signal_db_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/merchant_signal_db_content.proto" ] |
| } |
| |
| proto_library("commerce_subscription_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/commerce_subscription_db_content.proto" ] |
| } |
| } else { |
| proto_library("cart_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/cart_db_content.proto" ] |
| } |
| |
| proto_library("coupon_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/coupon_db_content.proto" ] |
| } |
| } |
| |
| proto_library("persisted_state_db_content_proto") { |
| proto_in_dir = "//" |
| sources = [ "proto/persisted_state_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: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: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:re2", |
| "//ui/base", |
| "//url:url", |
| ] |
| } |
| |
| static_library("shopping_service") { |
| sources = [ |
| "pref_names.cc", |
| "pref_names.h", |
| "shopping_bookmark_model_observer.cc", |
| "shopping_bookmark_model_observer.h", |
| "shopping_service.cc", |
| "shopping_service.h", |
| "web_wrapper.h", |
| ] |
| |
| deps = [ |
| ":feature_list", |
| ":metrics", |
| ":proto", |
| "//base", |
| "//components/bookmarks/browser", |
| "//components/commerce/core/subscriptions:subscriptions", |
| "//components/keyed_service/core", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs:prefs", |
| "//components/resources:components_resources_grit", |
| "//services/data_decoder/public/cpp", |
| "//services/network/public/cpp:cpp", |
| "//ui/base", |
| "//url:url", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "android/shopping_service_android.cc", |
| "android/shopping_service_android.h", |
| ] |
| |
| deps += [ |
| ":shopping_service_jni_headers", |
| "//url:gurl_android", |
| ] |
| } |
| } |
| |
| if (is_android) { |
| generate_jni("shopping_service_jni_headers") { |
| sources = [ "android/java/src/org/chromium/components/commerce/core/ShoppingService.java" ] |
| } |
| } |
| |
| source_set("shopping_service_test_support") { |
| testonly = true |
| |
| sources = [ |
| "mock_shopping_service.cc", |
| "mock_shopping_service.h", |
| "shopping_service_test_base.cc", |
| "shopping_service_test_base.h", |
| ] |
| |
| # Expose all deps for test support. |
| public_deps = [ |
| ":feature_list", |
| ":shopping_service", |
| "//base/test:test_support", |
| "//components/bookmarks/browser", |
| "//components/bookmarks/test", |
| "//components/commerce/core:proto", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/proto:optimization_guide_proto", |
| "//components/prefs:test_support", |
| "//components/signin/public/identity_manager:test_support", |
| "//services/data_decoder/public/cpp:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//services/network/public/cpp", |
| "//testing/gtest", |
| "//url:url", |
| ] |
| } |
| |
| source_set("shopping_service_unit_tests") { |
| testonly = true |
| |
| sources = [ |
| "pdp_metrics_unittest.cc", |
| "shopping_service_metrics_unittest.cc", |
| "shopping_service_unittest.cc", |
| ] |
| |
| deps = [ |
| ":metrics", |
| ":shopping_service_test_support", |
| ] |
| } |