| # 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("//testing/test.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| |
| static_library("variations") { |
| sources = [ |
| "active_field_trials.cc", |
| "active_field_trials.h", |
| "android/variations_associated_data_android.cc", |
| "android/variations_seed_bridge.cc", |
| "android/variations_seed_bridge.h", |
| "child_process_field_trial_syncer.cc", |
| "child_process_field_trial_syncer.h", |
| "client_filterable_state.cc", |
| "client_filterable_state.h", |
| "entropy_provider.cc", |
| "entropy_provider.h", |
| "hashing.cc", |
| "hashing.h", |
| "metrics.cc", |
| "metrics.h", |
| "platform_field_trials.h", |
| "pref_names.cc", |
| "pref_names.h", |
| "processed_study.cc", |
| "processed_study.h", |
| "seed_response.cc", |
| "seed_response.h", |
| "study_filtering.cc", |
| "study_filtering.h", |
| "synthetic_trial_registry.cc", |
| "synthetic_trial_registry.h", |
| "synthetic_trials.cc", |
| "synthetic_trials.h", |
| "synthetic_trials_active_group_id_provider.cc", |
| "synthetic_trials_active_group_id_provider.h", |
| "variations_associated_data.cc", |
| "variations_associated_data.h", |
| "variations_crash_keys.cc", |
| "variations_crash_keys.h", |
| "variations_http_header_provider.cc", |
| "variations_http_header_provider.h", |
| "variations_id_collection.cc", |
| "variations_id_collection.h", |
| "variations_murmur_hash.cc", |
| "variations_murmur_hash.h", |
| "variations_request_scheduler.cc", |
| "variations_request_scheduler.h", |
| "variations_seed_processor.cc", |
| "variations_seed_processor.h", |
| "variations_seed_simulator.cc", |
| "variations_seed_simulator.h", |
| "variations_seed_store.cc", |
| "variations_seed_store.h", |
| "variations_switches.cc", |
| "variations_switches.h", |
| "variations_url_constants.cc", |
| "variations_url_constants.h", |
| ] |
| |
| if (is_android || is_ios) { |
| sources += [ |
| "variations_request_scheduler_mobile.cc", |
| "variations_request_scheduler_mobile.h", |
| ] |
| } |
| |
| deps = [ |
| "proto", |
| "//base", |
| "//components/crash/core/common:crash_key", |
| "//components/prefs", |
| "//crypto", |
| "//third_party/protobuf:protobuf_lite", |
| "//third_party/zlib/google:compression_utils", |
| ] |
| |
| if (is_android) { |
| deps += [ ":jni" ] |
| } |
| } |
| |
| if (is_android) { |
| generate_jni("jni") { |
| sources = [ |
| "android/java/src/org/chromium/components/variations/VariationsAssociatedData.java", |
| "android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java", |
| ] |
| } |
| |
| android_library("load_seed_result_enum_java") { |
| deps = [ "//base:base_java" ] |
| srcjar_deps = [ ":load_seed_result_enum_srcjar" ] |
| } |
| |
| java_cpp_enum("load_seed_result_enum_srcjar") { |
| sources = [ "metrics.h" ] |
| } |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "variations_params_manager.cc", |
| "variations_params_manager.h", |
| ] |
| |
| public_deps = [ ":variations" ] |
| |
| deps = [ |
| "field_trial_config:field_trial_config", |
| "//base/test:test_support", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "active_field_trials_unittest.cc", |
| "child_process_field_trial_syncer_unittest.cc", |
| "client_filterable_state_unittest.cc", |
| "entropy_provider_unittest.cc", |
| "hashing_unittest.cc", |
| "net/variations_command_line_unittest.cc", |
| "net/variations_http_headers_unittest.cc", |
| "simulate_for_crosstalk_unittest.cc", |
| "study_filtering_unittest.cc", |
| "synthetic_trial_registry_unittest.cc", |
| "variations_associated_data_unittest.cc", |
| "variations_crash_keys_unittest.cc", |
| "variations_http_header_provider_unittest.cc", |
| "variations_id_collection_unittest.cc", |
| "variations_murmur_hash_unittest.cc", |
| "variations_request_scheduler_unittest.cc", |
| "variations_seed_processor_unittest.cc", |
| "variations_seed_simulator_unittest.cc", |
| "variations_seed_store_unittest.cc", |
| ] |
| |
| if (is_android || is_ios) { |
| sources += [ "variations_request_scheduler_mobile_unittest.cc" ] |
| } |
| |
| deps = [ |
| ":variations", |
| "net", |
| "proto", |
| "//base/test:test_support", |
| "//components/crash/core/common:crash_key", |
| "//components/prefs:test_support", |
| "//components/variations/field_trial_config:field_trial_config", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/smhasher:murmurhash3", |
| "//third_party/zlib/google:compression_utils", |
| ] |
| } |
| |
| # Convenience testing target |
| test("variations_unittests") { |
| sources = [ "//components/test/run_all_unittests.cc" ] |
| deps = [ |
| ":unit_tests", |
| "//components/test:test_support", |
| "//components/variations/field_trial_config:unit_tests", |
| "//components/variations/service:unit_tests", |
| ] |
| } |