blob: 02e518c4fc7f03e83143516f072fe8d06d65be5d [file] [log] [blame]
# Copyright 2015 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.
action("field_trial_testing_config_action") {
visibility = [ ":field_trial_config" ]
script = "//tools/variations/fieldtrial_to_struct.py"
source = "//testing/variations/fieldtrial_testing_config.json"
inputs = [
"//tools/json_to_struct/element_generator.py",
"//tools/json_to_struct/json_to_struct.py",
"//tools/json_to_struct/struct_generator.py",
source,
]
out_name = "fieldtrial_testing_config"
outputs = [
"$target_gen_dir/$out_name.cc",
"$target_gen_dir/$out_name.h",
]
if (current_os == "win") {
platform = "windows"
} else {
platform = current_os
}
args = [
rebase_path(source, root_build_dir),
"--destbase=" + rebase_path(target_gen_dir, root_build_dir),
"--namespace=variations",
"--schema=" +
rebase_path("field_trial_testing_config_schema.json", root_build_dir),
"--platform=" + platform,
"--output=$out_name",
]
# At build-time, Android Chrome and WebView both use platform "android", but
# at run-time, variations has separate platforms "android" and
# "android_webview". So if building "android", also include WebView.
if (platform == "android") {
args += [ "--platform=android_webview" ]
}
}
static_library("field_trial_config") {
sources = [
"field_trial_util.cc",
"field_trial_util.h",
]
sources += get_target_outputs(":field_trial_testing_config_action")
deps = [
":field_trial_testing_config_action",
"//base",
"//components/variations",
"//components/variations/proto:proto",
"//net",
"//ui/base",
]
public_deps = [
"//third_party/protobuf:protobuf_lite",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"field_trial_util_unittest.cc",
]
deps = [
":field_trial_config",
"//base",
"//base/test:test_support",
"//components/variations",
"//testing/gtest",
"//ui/base",
]
}