blob: 8bd89b1c67c21d2bcbcfb437092b01e8c2cd9f6c [file] [log] [blame]
# 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")
source_set("common") {
visibility = [
"//components/policy/*",
"//components/syncable_prefs/*",
]
defines = [ "POLICY_COMPONENT_IMPLEMENTATION" ]
if (enable_configuration_policy) {
sources = [
"../../policy_export.h",
"async_policy_loader.cc",
"async_policy_loader.h",
"async_policy_provider.cc",
"async_policy_provider.h",
"cloud/cloud_external_data_manager.cc",
"cloud/cloud_external_data_manager.h",
"cloud/cloud_policy_client.cc",
"cloud/cloud_policy_client.h",
"cloud/cloud_policy_client_registration_helper.cc",
"cloud/cloud_policy_client_registration_helper.h",
"cloud/cloud_policy_constants.cc",
"cloud/cloud_policy_constants.h",
"cloud/cloud_policy_core.cc",
"cloud/cloud_policy_core.h",
"cloud/cloud_policy_manager.cc",
"cloud/cloud_policy_manager.h",
"cloud/cloud_policy_refresh_scheduler.cc",
"cloud/cloud_policy_refresh_scheduler.h",
"cloud/cloud_policy_service.cc",
"cloud/cloud_policy_service.h",
"cloud/cloud_policy_store.cc",
"cloud/cloud_policy_store.h",
"cloud/cloud_policy_validator.cc",
"cloud/cloud_policy_validator.h",
"cloud/component_cloud_policy_service.cc",
"cloud/component_cloud_policy_service.h",
"cloud/component_cloud_policy_store.cc",
"cloud/component_cloud_policy_store.h",
"cloud/component_cloud_policy_updater.cc",
"cloud/component_cloud_policy_updater.h",
"cloud/device_management_service.cc",
"cloud/device_management_service.h",
"cloud/enterprise_metrics.cc",
"cloud/enterprise_metrics.h",
"cloud/external_policy_data_fetcher.cc",
"cloud/external_policy_data_fetcher.h",
"cloud/external_policy_data_updater.cc",
"cloud/external_policy_data_updater.h",
"cloud/policy_header_io_helper.cc",
"cloud/policy_header_io_helper.h",
"cloud/policy_header_service.cc",
"cloud/policy_header_service.h",
"cloud/resource_cache.cc",
"cloud/resource_cache.h",
"cloud/system_policy_request_context.cc",
"cloud/system_policy_request_context.h",
"cloud/user_cloud_policy_manager.cc",
"cloud/user_cloud_policy_manager.h",
"cloud/user_cloud_policy_store.cc",
"cloud/user_cloud_policy_store.h",
"cloud/user_cloud_policy_store_base.cc",
"cloud/user_cloud_policy_store_base.h",
"cloud/user_info_fetcher.cc",
"cloud/user_info_fetcher.h",
"config_dir_policy_loader.cc",
"config_dir_policy_loader.h",
"configuration_policy_provider.cc",
"configuration_policy_provider.h",
"external_data_fetcher.cc",
"external_data_fetcher.h",
"external_data_manager.h",
"mac_util.cc",
"mac_util.h",
"policy_bundle.cc",
"policy_bundle.h",
"policy_details.h",
"policy_load_status.cc",
"policy_load_status.h",
"policy_loader_ios.h",
"policy_loader_ios.mm",
"policy_loader_mac.h",
"policy_loader_mac.mm",
"policy_loader_win.cc",
"policy_loader_win.h",
"policy_map.cc",
"policy_map.h",
"policy_namespace.cc",
"policy_namespace.h",
"policy_pref_names.cc",
"policy_pref_names.h",
"policy_service.cc",
"policy_service.h",
"policy_service_impl.cc",
"policy_service_impl.h",
"policy_statistics_collector.cc",
"policy_statistics_collector.h",
"policy_switches.cc",
"policy_switches.h",
"policy_types.h",
"preferences_mac.cc",
"preferences_mac.h",
"preg_parser_win.cc",
"preg_parser_win.h",
"registry_dict_win.cc",
"registry_dict_win.h",
"remote_commands/remote_command_job.cc",
"remote_commands/remote_command_job.h",
"remote_commands/remote_commands_factory.cc",
"remote_commands/remote_commands_factory.h",
"remote_commands/remote_commands_queue.cc",
"remote_commands/remote_commands_queue.h",
"remote_commands/remote_commands_service.cc",
"remote_commands/remote_commands_service.h",
"schema.cc",
"schema.h",
"schema_internal.h",
"schema_map.cc",
"schema_map.h",
"schema_registry.cc",
"schema_registry.h",
"schema_registry_tracking_policy_provider.cc",
"schema_registry_tracking_policy_provider.h",
]
configs += [ "//build/config:precompiled_headers" ]
public_deps = [
"//components/policy/proto",
]
deps = [
"//base:i18n",
"//base:prefs",
"//base/third_party/dynamic_annotations",
"//components/data_use_measurement/core",
"//components/json_schema",
"//components/policy",
"//google_apis",
"//net",
"//third_party/re2",
"//url",
]
if (is_win) {
libs = [ "netapi32.lib" ]
}
if (is_android) {
sources += [ "cloud/component_cloud_policy_service_stub.cc" ]
sources -= [
"cloud/component_cloud_policy_service.cc",
"cloud/component_cloud_policy_store.cc",
"cloud/component_cloud_policy_store.h",
"cloud/component_cloud_policy_updater.cc",
"cloud/component_cloud_policy_updater.h",
"cloud/external_policy_data_fetcher.cc",
"cloud/external_policy_data_fetcher.h",
"cloud/external_policy_data_updater.cc",
"cloud/external_policy_data_updater.h",
"cloud/resource_cache.cc",
"cloud/resource_cache.h",
"config_dir_policy_loader.cc",
"config_dir_policy_loader.h",
"policy_load_status.cc",
"policy_load_status.h",
]
}
if (is_chromeos) {
sources += [
"proxy_policy_provider.cc",
"proxy_policy_provider.h",
]
sources -= [
"cloud/cloud_policy_client_registration_helper.cc",
"cloud/cloud_policy_client_registration_helper.h",
"cloud/user_cloud_policy_manager.cc",
"cloud/user_cloud_policy_manager.h",
"cloud/user_cloud_policy_store.cc",
"cloud/user_cloud_policy_store.h",
]
}
if (!is_ios && !is_mac) {
sources -= [
"mac_util.cc",
"mac_util.h",
]
}
} else {
# Some of the policy code is always enabled, so that other parts of Chrome
# can always interface with the PolicyService without having to #ifdef on
# ENABLE_CONFIGURATION_POLICY.
sources = [
"external_data_fetcher.cc",
"external_data_fetcher.h",
"external_data_manager.h",
"policy_map.cc",
"policy_map.h",
"policy_namespace.cc",
"policy_namespace.h",
"policy_pref_names.cc",
"policy_pref_names.h",
"policy_service.cc",
"policy_service.h",
"policy_service_stub.cc",
"policy_service_stub.h",
]
deps = [
"//base",
]
}
}
if (enable_configuration_policy) {
source_set("unit_tests") {
testonly = true
sources = [
"async_policy_provider_unittest.cc",
"cloud/cloud_policy_client_unittest.cc",
"cloud/cloud_policy_constants_unittest.cc",
"cloud/cloud_policy_core_unittest.cc",
"cloud/cloud_policy_manager_unittest.cc",
"cloud/cloud_policy_refresh_scheduler_unittest.cc",
"cloud/cloud_policy_service_unittest.cc",
"cloud/cloud_policy_validator_unittest.cc",
"cloud/component_cloud_policy_service_unittest.cc",
"cloud/component_cloud_policy_store_unittest.cc",
"cloud/component_cloud_policy_updater_unittest.cc",
"cloud/device_management_service_unittest.cc",
"cloud/external_policy_data_fetcher_unittest.cc",
"cloud/external_policy_data_updater_unittest.cc",
"cloud/policy_header_io_helper_unittest.cc",
"cloud/policy_header_service_unittest.cc",
"cloud/resource_cache_unittest.cc",
"cloud/user_cloud_policy_manager_unittest.cc",
"cloud/user_cloud_policy_store_unittest.cc",
"cloud/user_info_fetcher_unittest.cc",
"config_dir_policy_loader_unittest.cc",
"generate_policy_source_unittest.cc",
"policy_bundle_unittest.cc",
"policy_loader_ios_unittest.mm",
"policy_loader_mac_unittest.cc",
"policy_loader_win_unittest.cc",
"policy_map_unittest.cc",
"policy_service_impl_unittest.cc",
"policy_statistics_collector_unittest.cc",
"preg_parser_win_unittest.cc",
"registry_dict_win_unittest.cc",
"remote_commands/remote_commands_queue_unittest.cc",
"remote_commands/remote_commands_service_unittest.cc",
"schema_map_unittest.cc",
"schema_registry_tracking_policy_provider_unittest.cc",
"schema_registry_unittest.cc",
"schema_unittest.cc",
]
if (is_chromeos) {
sources -= [
"cloud/user_cloud_policy_manager_unittest.cc",
"cloud/user_cloud_policy_store_unittest.cc",
]
}
if (is_android) {
sources -= [ "async_policy_provider_unittest.cc" ]
}
if (is_android || is_ios) {
sources -= [
"cloud/component_cloud_policy_service_unittest.cc",
"cloud/component_cloud_policy_store_unittest.cc",
"cloud/component_cloud_policy_updater_unittest.cc",
"cloud/external_policy_data_fetcher_unittest.cc",
"cloud/external_policy_data_updater_unittest.cc",
"cloud/resource_cache_unittest.cc",
"config_dir_policy_loader_unittest.cc",
]
}
deps = [
"//base",
"//base:prefs_test_support",
"//base/test:test_support",
"//components/policy",
"//components/policy:policy_component_test_support",
"//google_apis",
"//net:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
}