| # Copyright 2017 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//components/proto_extras/proto_extras.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| |
| proto_library("optimization_guide_proto") { |
| proto_in_dir = "//" |
| sources = [ |
| "autocomplete_scoring_model_metadata.proto", |
| "autofill_field_classification_model_metadata.proto", |
| "category_classifier_metadata.proto", |
| "client_side_phishing_model_metadata.proto", |
| "common_types.proto", |
| "contextual_cueing_metadata.proto", |
| "descriptors.proto", |
| "features/actions_data.proto", |
| "features/actor_login.proto", |
| "features/amount_extraction.proto", |
| "features/annotation_reducer_live_tab_resolver.proto", |
| "features/annotation_reducer_one_p_resolver.proto", |
| "features/annotation_reducer_query_classifier.proto", |
| "features/bling_prototyping.proto", |
| "features/classify_api.proto", |
| "features/common_quality_data.proto", |
| "features/compose.proto", |
| "features/content_annotation.proto", |
| "features/contextual_cueing.proto", |
| "features/contextual_tasks_context.proto", |
| "features/default.proto", |
| "features/enhanced_calendar.proto", |
| "features/example_for_testing.proto", |
| "features/finds.proto", |
| "features/forms_classifications.proto", |
| "features/gemini_antiscam_protection.proto", |
| "features/history_answer.proto", |
| "features/history_query.proto", |
| "features/history_query_intent.proto", |
| "features/history_search_strings.proto", |
| "features/ios_smart_tab_grouping.proto", |
| "features/media.proto", |
| "features/model_prototyping.proto", |
| "features/notification_content_detection.proto", |
| "features/password_change_submission.proto", |
| "features/product_specifications.proto", |
| "features/prompt_api.proto", |
| "features/proofreader_api.proto", |
| "features/scam_detection.proto", |
| "features/skills.proto", |
| "features/summarize.proto", |
| "features/tab_organization.proto", |
| "features/text_safety.proto", |
| "features/walletable_pass_extraction.proto", |
| "features/wallpaper_search.proto", |
| "features/writing_assistance_api.proto", |
| "features/zero_state_suggestions.proto", |
| "fieldwise_parser_config.proto", |
| "finds_metadata.proto", |
| "hint_cache.proto", |
| "hints.proto", |
| "history_query_intent_model_metadata.proto", |
| "icon_view_metadata.proto", |
| "loading_predictor_metadata.proto", |
| "manifest.proto", |
| "model_execution.proto", |
| "model_quality_metadata.proto", |
| "model_quality_service.proto", |
| "model_validation.proto", |
| "models.proto", |
| "on_device_base_model_metadata.proto", |
| "on_device_model_execution_config.proto", |
| "on_device_tail_suggest_model_metadata.proto", |
| "page_entities_metadata.proto", |
| "page_topics_model_metadata.proto", |
| "page_topics_override_list.proto", |
| "parser_kind.proto", |
| "passage_embeddings_model_metadata.proto", |
| "push_notification.proto", |
| "redaction.proto", |
| "salient_image_metadata.proto", |
| "string_value.proto", |
| "substitution.proto", |
| "tab_relevance_model_metadata.proto", |
| "text_safety_model_metadata.proto", |
| "visual_search_model_metadata.proto", |
| ] |
| |
| # Python stubs are needed at runtime for model validation tests. |
| generate_py_runtime = true |
| |
| # TODO(crbug.com/421441072): Once protobuf-javascript supports editions we |
| # should enable this flag, as it will allow us to more thoroughly test our |
| # APIs and production logic. |
| # generate_javascript = true |
| |
| # These are required to import system_profile.proto in |
| # model_quality_metadata.proto. |
| deps = [ "//third_party/metrics_proto" ] |
| import_dirs = [ "//third_party/metrics_proto/" ] |
| } |
| |
| # Proto extras for optimization_guide_proto. This is not meant to be a complete |
| # mirror of optimization_guide_proto target, just a subset of protos that are |
| # needed for proto extras. |
| proto_extras("optimization_guide_proto_extras") { |
| sources = [ |
| "common_types.proto", |
| "features/common_quality_data.proto", |
| "features/content_annotation.proto", |
| "model_execution.proto", |
| "model_quality_metadata.proto", |
| "on_device_base_model_metadata.proto", |
| ] |
| deps = [ ":optimization_guide_proto" ] |
| extras_deps = [ "//third_party/metrics_proto:metrics_proto_with_extension_and_system_extras" ] |
| import_dirs = [ "//third_party/metrics_proto/" ] |
| } |
| |
| if (is_android) { |
| proto_java_library("optimization_guide_proto_java") { |
| proto_path = "//" |
| sources = [ |
| "common_types.proto", |
| "features/common_quality_data.proto", |
| "hints.proto", |
| "loading_predictor_metadata.proto", |
| "model_execution.proto", |
| "models.proto", |
| "push_notification.proto", |
| ] |
| } |
| } |
| |
| proto_library("optimization_guide_proto_descriptors") { |
| proto_in_dir = "//" |
| proto_out_dir = "components/optimization_guide/proto" |
| sources = [ "features/feature_proto_registry.proto" ] |
| deps = [ |
| ":optimization_guide_proto", |
| "//third_party/metrics_proto", |
| ] |
| generate_cc = false |
| generate_python = false |
| generate_descriptor = "optimization_guide_proto.descriptor" |
| import_dirs = [ "//third_party/metrics_proto/" ] |
| } |