| # Copyright 2016 The Fuchsia 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("//peridot/build/executable_package.gni") |
| import("//peridot/build/tests_package.gni") |
| |
| executable_package("suggestion_engine") { |
| meta = [ |
| { |
| path = "meta/suggestion_engine.cmx" |
| dest = "suggestion_engine.cmx" |
| }, |
| ] |
| |
| resources = [ |
| { |
| path = "resources/mod_pairs.json" |
| dest = "ranking_data/mod_pairs.json" |
| }, |
| ] |
| |
| sources = [ |
| "suggestion_engine_main.cc", |
| ] |
| |
| deps = [ |
| ":debug", |
| ":suggestion_engine_impl", |
| "//garnet/public/lib/component/cpp", |
| "//peridot/public/fidl/fuchsia.modular", |
| "//peridot/public/lib/app_driver/cpp", |
| "//zircon/public/lib/async-loop-cpp", |
| ] |
| } |
| |
| source_set("suggestion_engine_impl") { |
| sources = [ |
| "media_player.cc", |
| "media_player.h", |
| "navigation_processor.cc", |
| "navigation_processor.h", |
| "next_processor.cc", |
| "next_processor.h", |
| "proposal_publisher_impl.cc", |
| "proposal_publisher_impl.h", |
| "query_processor.cc", |
| "query_processor.h", |
| "query_runner.cc", |
| "query_runner.h", |
| "suggestion_engine_helper.cc", |
| "suggestion_engine_helper.h", |
| "suggestion_engine_impl.cc", |
| "suggestion_engine_impl.h", |
| ] |
| |
| deps = [ |
| ":debug", |
| ":interruption_processor", |
| ":models", |
| "//garnet/public/fidl/fuchsia.media", |
| "//garnet/public/lib/fsl", |
| "//garnet/public/lib/media/timeline", |
| "//peridot/bin/suggestion_engine/decision_policies:all", |
| "//peridot/bin/suggestion_engine/filters:all", |
| "//peridot/bin/suggestion_engine/rankers:all", |
| "//peridot/bin/suggestion_engine/ranking_features:all", |
| "//peridot/lib/bound_set", |
| "//peridot/lib/fidl:json_xdr", |
| "//peridot/lib/util:rate_limited_retry", |
| "//peridot/public/fidl/fuchsia.modular", |
| "//peridot/public/lib/context/cpp:context_helper", |
| ] |
| |
| public_deps = [ |
| ":state", |
| ] |
| } |
| |
| tests_package("suggestion_engine_unittests") { |
| deps = [ |
| ":suggestion_engine_impl_unittest", |
| "//peridot/bin/suggestion_engine/decision_policies:rank_over_threshold_decision_policy_unittest", |
| "//peridot/bin/suggestion_engine/filters:conjugate_ranked_passive_filter_unittest", |
| "//peridot/bin/suggestion_engine/filters:ranked_active_filter_unittest", |
| "//peridot/bin/suggestion_engine/filters:ranked_passive_filter_unittest", |
| "//peridot/bin/suggestion_engine/rankers:linear_ranker_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:affinity_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:annoyance_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:dead_story_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:interrupting_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:kronk_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:mod_pair_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:proposal_hint_ranking_feature_unittest", |
| "//peridot/bin/suggestion_engine/ranking_features:query_match_ranking_feature_unittest", |
| ] |
| } |
| |
| source_set("interruption_processor") { |
| sources = [ |
| "interruptions_processor.cc", |
| "interruptions_processor.h", |
| ] |
| |
| deps = [ |
| ":models", |
| "//peridot/bin/suggestion_engine/decision_policies:all", |
| "//peridot/bin/suggestion_engine/ranking_features:ranking_feature", |
| "//peridot/public/fidl/fuchsia.modular", |
| ] |
| } |
| |
| source_set("state") { |
| sources = [ |
| "ranked_suggestions_list.cc", |
| "ranked_suggestions_list.h", |
| ] |
| |
| deps = [ |
| ":models", |
| "//garnet/public/lib/fxl", |
| "//peridot/bin/suggestion_engine/filters:base", |
| "//peridot/bin/suggestion_engine/rankers:ranker", |
| "//peridot/public/fidl/fuchsia.modular", |
| "//peridot/public/lib/context/cpp:context_helper", |
| ] |
| public_deps = [ |
| "//peridot/bin/suggestion_engine/ranking_features:ranking_feature", |
| ] |
| } |
| |
| source_set("models") { |
| sources = [ |
| "ranked_suggestion.cc", |
| "ranked_suggestion.h", |
| "suggestion_prototype.cc", |
| "suggestion_prototype.h", |
| ] |
| |
| deps = [ |
| "//garnet/public/lib/fxl", |
| ] |
| |
| public_deps = [ |
| "//peridot/public/fidl/fuchsia.modular", |
| ] |
| } |
| |
| source_set("debug") { |
| sources = [ |
| "debug.cc", |
| "debug.h", |
| ] |
| |
| deps = [ |
| ":models", |
| ":state", |
| "//garnet/public/lib/fxl", |
| "//peridot/public/fidl/fuchsia.modular", |
| ] |
| |
| public_deps = [ |
| "//peridot/lib/util:idle_waiter", |
| ] |
| } |
| |
| executable("suggestion_engine_impl_unittest") { |
| testonly = true |
| |
| sources = [ |
| "suggestion_engine_impl_unittest.cc", |
| ] |
| |
| deps = [ |
| ":suggestion_engine_impl", |
| "//garnet/public/lib/fsl", |
| "//peridot/bin/sessionmgr/puppet_master:puppet_master_impl", |
| "//peridot/lib/testing:test_story_command_executor", |
| "//peridot/lib/testing:test_with_session_storage", |
| "//peridot/public/fidl/fuchsia.modular", |
| "//peridot/public/fidl/fuchsia.modular.internal", |
| "//third_party/googletest:gtest_main", |
| ] |
| } |