| # Copyright 2014 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("//build/config/features.gni") |
| import("//build/config/ui.gni") |
| import("//testing/test.gni") |
| import("//tools/grit/repack.gni") |
| |
| # Collection of all components. You wouldn't link to this, but this is rather |
| # to reference the files so they can be compiled by the build system. |
| group("all_components") { |
| testonly = true # You shouldn't actually link to this. |
| visibility = [ "//:*" ] # Only for the root targets to bring in. |
| |
| deps = [ |
| "//components/auto_login_parser", |
| "//components/autofill/content/browser", |
| "//components/autofill/content/common", |
| "//components/autofill/content/renderer", |
| "//components/bookmarks/browser", |
| "//components/bookmarks/common", |
| "//components/bookmarks/managed", |
| "//components/bookmarks/test", |
| "//components/captive_portal", |
| "//components/cdm/browser", |
| "//components/cdm/common", |
| "//components/cdm/renderer", |
| "//components/cloud_devices/common", |
| "//components/chrome_apps", |
| "//components/component_updater", |
| "//components/content_settings/core/browser", |
| "//components/content_settings/core/common", |
| "//components/crash/app", |
| "//components/crash/browser", |
| "//components/crx_file", |
| "//components/data_reduction_proxy/core/browser", |
| "//components/data_reduction_proxy/core/common", |
| "//components/device_event_log", |
| "//components/devtools_discovery", |
| "//components/devtools_http_handler", |
| "//components/dom_distiller/core", |
| "//components/domain_reliability", |
| "//components/enhanced_bookmarks", |
| "//components/favicon/core", |
| "//components/favicon_base", |
| "//components/feedback", |
| "//components/gcm_driver", |
| "//components/gcm_driver/instance_id", |
| "//components/google/core/browser", |
| "//components/history/content/browser", |
| "//components/history/core/browser", |
| "//components/history/core/common", |
| "//components/history/core/test", |
| "//components/infobars/core", |
| "//components/invalidation/impl", |
| "//components/json_schema", |
| "//components/keyed_service/content", |
| "//components/language_usage_metrics", |
| "//components/leveldb_proto", |
| "//components/login", |
| "//components/metrics", |
| "//components/mime_util", |
| "//components/navigation_interception", |
| "//components/navigation_metrics", |
| "//components/network_time", |
| "//components/offline_pages", |
| "//components/omnibox", |
| "//components/onc", |
| "//components/os_crypt", |
| "//components/packed_ct_ev_whitelist", |
| "//components/pairing", |
| "//components/password_manager/content/browser", |
| "//components/password_manager/core/browser", |
| "//components/password_manager/core/common", |
| "//components/pdf/browser", |
| "//components/pdf/common", |
| "//components/pdf/renderer", |
| "//components/plugins/common", |
| "//components/plugins/renderer", |
| "//components/policy", |
| "//components/power", |
| "//components/precache/core", |
| "//components/precache/content", |
| "//components/proxy_config", |
| "//components/pref_registry", |
| "//components/query_parser", |
| "//components/rappor", |
| "//components/renderer_context_menu", |
| "//components/resources:components_resources", |
| "//components/search", |
| "//components/search_engines", |
| "//components/search_provider_logos", |
| "//components/sessions", |
| "//components/signin/core/browser", |
| "//components/startup_metric_utils", |
| "//components/strings", |
| "//components/sync_driver", |
| "//components/tracing", |
| "//components/tracing:startup_tracing", |
| "//components/translate/content/browser", |
| "//components/translate/content/common", |
| "//components/translate/content/renderer", |
| "//components/translate/core/browser", |
| "//components/translate/core/common", |
| "//components/ui/zoom:ui_zoom", |
| "//components/undo", |
| "//components/update_client", |
| "//components/url_fixer", |
| "//components/url_matcher", |
| "//components/user_manager", |
| "//components/user_prefs", |
| "//components/variations", |
| "//components/visitedlink/browser", |
| "//components/visitedlink/common", |
| "//components/visitedlink/renderer", |
| "//components/wallpaper", |
| "//components/web_cache/browser", |
| "//components/web_cache/common", |
| "//components/web_cache/renderer", |
| "//components/web_modal", |
| "//components/web_resource", |
| "//components/webcrypto", |
| "//components/webdata/common", |
| "//components/wifi", |
| "//components/wifi_sync", |
| ] |
| |
| if (!is_android) { |
| # TODO(agrieve): Add to main deps list once compile errors are resolved. |
| deps += [ "//components/devtools_service" ] |
| } |
| |
| if (!is_android && !is_ios) { |
| deps += [ |
| "//components/proximity_auth", |
| "//components/proximity_auth/cryptauth", |
| ] |
| } |
| |
| if (!enable_configuration_policy) { |
| deps -= [ "//components/policy" ] |
| } |
| |
| if (!is_win && !is_mac) { |
| deps -= [ "//components/wifi" ] |
| } |
| if (!is_chromeos) { |
| deps -= [ |
| "//components/pairing", |
| "//components/wifi_sync", |
| ] |
| } |
| |
| if (!is_chromeos || !enable_extensions) { |
| deps -= [ "//components/chrome_apps" ] |
| } |
| |
| if (is_ios) { |
| deps -= [ |
| "//components/history/content/browser", |
| "//components/keyed_service/content", |
| ] |
| } |
| |
| if (!enable_plugins) { |
| deps -= [ |
| "//components/pdf/browser", |
| "//components/pdf/common", |
| "//components/pdf/renderer", |
| ] |
| } |
| |
| if (is_android) { |
| deps -= [ |
| "//components/autofill/content/browser", # Blocked on content/blink. |
| "//components/autofill/content/common", # Blocked on content. |
| "//components/autofill/content/renderer", # Blocked on content/blink. |
| "//components/crash/app", # Should work, needs checking. |
| "//components/crash/browser", # Should work, needs checking. |
| "//components/captive_portal", # Should work, needs checking. |
| "//components/cloud_devices/common", # Should work, needs checking. |
| "//components/cdm/browser", # Blocked on content. |
| "//components/cdm/common", # Blocked on content. |
| "//components/cdm/renderer", # Blocked on content. |
| "//components/data_reduction_proxy/core/browser", # Should work, needs checking. |
| "//components/data_reduction_proxy/core/common", # Should work, needs checking. |
| "//components/dom_distiller/core", # Blocked on content. |
| "//components/domain_reliability", # Blocked on content. |
| "//components/favicon/core", # Blocked on keyed service. |
| "//components/favicon_base", # Should work, needs checking. |
| "//components/feedback", # Blocked on content. |
| "//components/gcm_driver", # Should work, needs checking. |
| "//components/gcm_driver/instance_id", # Should work, needs checking. |
| "//components/google/core/browser", # Should work, needs checking. |
| "//components/history/core/browser", # Should work, needs checking. |
| "//components/history/core/common", # Should work, needs checking. |
| "//components/history/core/test", # Should work, needs checking. |
| "//components/infobars/core", # Should work, needs checking. |
| "//components/invalidation/impl", # Should work, needs checking. |
| "//components/json_schema", # Should work, needs checking. |
| "//components/keyed_service/content", # Blocked on content. |
| "//components/navigation_interception", # Blocked on content. |
| "//components/omnibox", # Should work, needs checking. |
| "//components/password_manager/content/browser", # Blocked on content. |
| "//components/password_manager/core/browser", # Should work, needs checking. |
| "//components/password_manager/core/common", # Should work, needs checking. |
| "//components/plugins/renderer", # Blocked on blink. |
| "//components/power", # Blocked on content. |
| "//components/policy", # Blocked on content (indirectly via autofill). |
| "//components/precache/content", # Blocked on content. |
| "//components/precache/core", # Should work, needs checking. |
| "//components/rappor", # Should work, needs checking. |
| "//components/renderer_context_menu", # Blocked on content. |
| "//components/search_engines", # Should work, needs checking. |
| "//components/search_provider_logos", # Should work, needs checking. |
| "//components/sessions", # Blocked on content. |
| "//components/signin/core/browser", # Should work, needs checking. |
| "//components/translate/content/browser", # Blocked on content. |
| "//components/translate/content/common", # Blocked on content. |
| "//components/translate/content/renderer", # Blocked on content. |
| "//components/user_prefs", # Blocked on content. |
| "//components/visitedlink/browser", # Blocked on content. |
| "//components/visitedlink/common", # Blocked on content. |
| "//components/visitedlink/renderer", # Blocked on blink |
| "//components/web_cache/browser", # Blocked on content and blink. |
| "//components/web_cache/renderer", # Blocked on content and blink. |
| "//components/web_modal", # Blocked on content. |
| ] |
| } |
| |
| if (!is_ios && !is_android) { |
| deps += [ |
| "//components/copresence", |
| "//components/storage_monitor", |
| ] |
| } |
| |
| if (!is_ios) { |
| deps += [ |
| "//components/app_modal", |
| "//components/browsing_data", |
| "//components/guest_view/browser", |
| "//components/guest_view/common", |
| "//components/guest_view/renderer", |
| "//components/safe_json", |
| "//components/scheduler", |
| "//components/test_runner", |
| ] |
| } |
| |
| if (toolkit_views) { |
| deps += [ "//components/constrained_window" ] |
| } |
| } |
| |
| # To add a unit test to this target, make a "unit_test" source_set in your |
| # component (it's important to use a source_set instead of a static library or |
| # no tests will run) and add a reference here. You can add more than one unit |
| # test target if convenient. |
| test("components_unittests") { |
| sources = [ |
| "test/run_all_unittests.cc", |
| ] |
| |
| # Add only ":unit_tests" dependencies here. If your tests have dependencies |
| # (this would at least include the component itself), they should be on the |
| # test source set and not here. |
| deps = [ |
| "//components/auto_login_parser:unit_tests", |
| "//components/autofill/content/browser:unit_tests", |
| "//components/autofill/core/browser:unit_tests", |
| "//components/autofill/core/common:unit_tests", |
| "//components/bookmarks/browser:unit_tests", |
| "//components/bookmarks/managed:unit_tests", |
| "//components/captive_portal:unit_tests", |
| "//components/cloud_devices/common:unit_tests", |
| "//components/component_updater:unit_tests", |
| "//components/content_settings/core/browser:unit_tests", |
| "//components/content_settings/core/common:unit_tests", |
| "//components/crx_file:unit_tests", |
| "//components/data_reduction_proxy/content/browser:unit_tests", |
| "//components/data_reduction_proxy/core/browser:unit_tests", |
| "//components/data_reduction_proxy/core/common:unit_tests", |
| "//components/device_event_log:unit_tests", |
| "//components/devtools_http_handler:unit_tests", |
| "//components/dom_distiller/core:unit_tests", |
| "//components/domain_reliability:unit_tests", |
| "//components/favicon_base:unit_tests", |
| "//components/google/core/browser:unit_tests", |
| "//components/invalidation/impl:unittests", |
| "//components/login:unit_tests", |
| "//components/metrics:unit_tests", |
| "//components/mime_util:unit_tests", |
| "//components/offline_pages:unit_tests", |
| "//components/omnibox:unit_tests", |
| "//components/packed_ct_ev_whitelist:unit_tests", |
| "//components/undo:unit_tests", |
| "//components/update_client:unit_tests", |
| "//components/variations:unit_tests", |
| "//components/web_resource:unit_tests", |
| "//components/webcrypto:unit_tests", |
| "//components/webdata/common:unit_tests", |
| |
| # These are the deps required by the code in this target. |
| "//base", |
| "//base/test:test_support", |
| "//content/test:test_support", |
| "//net", |
| "//ui/base", |
| "//ui/resources:ui_test_pak", |
| ] |
| |
| if (is_android) { |
| isolate_file = "components_unittests.isolate" |
| } |
| |
| data_deps = [ ":components_tests_pak" ] |
| |
| if (is_android) { |
| deps += [ "//content/public/android:content_java" ] |
| } |
| |
| if (!is_android && !is_ios) { |
| deps += [ "//components/proximity_auth:unit_tests" ] |
| } |
| |
| if (is_chromeos) { |
| deps += [ "//components/ownership:unit_tests" ] |
| } |
| |
| # TODO(GYP) need this target. |
| #'breakpad/app/crash_keys_win_unittest.cc', |
| |
| # Precache tests need these defines. |
| #configs += [ "//components/precache/core:precache_config" ] |
| |
| if (toolkit_views) { |
| # TODO(GYP) enable this as above. |
| #deps += [ "//components/constrained_window:unit_tests" ] |
| } |
| if (is_win) { |
| deps += [ "//components/browser_watcher:unit_tests" ] |
| } |
| if (is_ios) { |
| deps -= [ "//components/devtools_http_handler:unit_tests" ] |
| } |
| |
| if (!is_ios) { |
| deps += [ "//components/scheduler:unit_tests" ] |
| } |
| } |
| |
| repack("components_tests_pak") { |
| sources = [ |
| "$root_gen_dir/components/components_resources.pak", |
| "$root_gen_dir/components/strings/components_strings_en-US.pak", |
| ] |
| |
| output = "$root_out_dir/components_tests_resources.pak" |
| |
| deps = [ |
| "//components/resources", |
| "//components/strings", |
| ] |
| } |
| |
| test("components_browsertests") { |
| sources = [ |
| "autofill/content/browser/risk/fingerprint_browsertest.cc", |
| "autofill/content/renderer/password_form_conversion_utils_browsertest.cc", |
| "dom_distiller/content/distillable_page_utils_browsertest.cc", |
| "dom_distiller/content/distiller_page_web_contents_browsertest.cc", |
| "password_manager/content/renderer/credential_manager_client_browsertest.cc", |
| ] |
| |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| |
| deps = [ |
| "autofill/content/browser", |
| "autofill/content/renderer", |
| "content_settings/core/common", |
| "dom_distiller/content", |
| "dom_distiller/core", |
| "dom_distiller/core:test_support", |
| "password_manager/content/browser", |
| "password_manager/content/common", |
| "password_manager/content/renderer", |
| "strings", |
| "//base", |
| "//base/test:test_support", |
| "//content/test:browsertest_support", |
| "//content/test:test_support", |
| "//device/bluetooth", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//ui/base", |
| ] |
| |
| data_deps = [ ":components_tests_pak" ] |
| |
| if (is_android) { |
| sources += [ "test/android/browsertests_apk/components_browser_tests_jni_onload.cc" ] |
| sources -= [ "autofill/content/browser/risk/fingerprint_browsertest.cc" ] |
| deps += [ "//testing/android/native_test:native_test_support" ] |
| use_launcher = false |
| isolate_file = "components_browsertests.isolate" |
| } |
| |
| if (is_linux) { |
| # content_extractor_browsertest is a standalone content extraction tool built as |
| # a MANUAL component_browsertest. |
| sources += [ "dom_distiller/standalone/content_extractor_browsertest.cc" ] |
| deps += [ |
| "pref_registry:test_support", |
| "//base:prefs_test_support", |
| ] |
| } |
| } |
| |
| test("components_perftests") { |
| sources = [ |
| "scheduler/child/task_queue_manager_perftest.cc", |
| "visitedlink/test/visitedlink_perftest.cc", |
| ] |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| deps = [ |
| "//base", |
| "//base/test:test_support_perf", |
| "//testing/gtest", |
| "//testing/perf", |
| "//content/test:test_support", |
| "//components/visitedlink/browser", |
| ] |
| } |