[Extensions Toolbar] Move tab-specific logic and increase test robustness
[chromium-blink-merge.git] / components / metrics.gypi
blobe9467c4f4fec644dd888836e6192a1eef192da87
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'targets': [
7     {
8       # GN version: //components/metrics
9       'target_name': 'metrics',
10       'type': 'static_library',
11       'include_dirs': [
12         '..',
13       ],
14       'dependencies': [
15         '../base/base.gyp:base',
16         '../base/base.gyp:base_i18n',
17         '../base/base.gyp:base_prefs',
18         '../third_party/zlib/zlib.gyp:zlib',
19         'component_metrics_proto',
20         'variations',
21       ],
22       'export_dependent_settings': [
23         'component_metrics_proto',
24       ],
25       'sources': [
26         'metrics/clean_exit_beacon.cc',
27         'metrics/clean_exit_beacon.h',
28         'metrics/client_info.cc',
29         'metrics/client_info.h',
30         'metrics/cloned_install_detector.cc',
31         'metrics/cloned_install_detector.h',
32         'metrics/compression_utils.cc',
33         'metrics/compression_utils.h',
34         'metrics/daily_event.cc',
35         'metrics/daily_event.h',
36         'metrics/machine_id_provider.h',
37         'metrics/machine_id_provider_stub.cc',
38         'metrics/machine_id_provider_win.cc',
39         'metrics/metrics_hashes.cc',
40         'metrics/metrics_hashes.h',
41         'metrics/metrics_log.cc',
42         'metrics/metrics_log.h',
43         'metrics/metrics_log_manager.cc',
44         'metrics/metrics_log_manager.h',
45         'metrics/metrics_log_uploader.cc',
46         'metrics/metrics_log_uploader.h',
47         'metrics/metrics_pref_names.cc',
48         'metrics/metrics_pref_names.h',
49         'metrics/metrics_provider.cc',
50         'metrics/metrics_provider.h',
51         'metrics/metrics_reporting_scheduler.cc',
52         'metrics/metrics_reporting_scheduler.h',
53         'metrics/metrics_service.cc',
54         'metrics/metrics_service.h',
55         'metrics/metrics_service_accessor.cc',
56         'metrics/metrics_service_accessor.h',
57         'metrics/metrics_service_client.cc',
58         'metrics/metrics_service_client.h',
59         'metrics/metrics_state_manager.cc',
60         'metrics/metrics_state_manager.h',
61         'metrics/metrics_switches.cc',
62         'metrics/metrics_switches.h',
63         'metrics/persisted_logs.cc',
64         'metrics/persisted_logs.h',
65       ],
66       'conditions': [
67         ['chromeos==1', {
68           'dependencies': [
69             'metrics_serialization',
70           ],
71         }],
72         ['OS=="win"', {
73           'sources!': [
74             'metrics/machine_id_provider_stub.cc',
75           ],
76         }],
77       ],
78     },
79     {
80       # GN version: //components/metrics:gpu
81       'target_name': 'metrics_gpu',
82       'type': 'static_library',
83       'include_dirs': [
84         '..',
85       ],
86       'dependencies': [
87         '../base/base.gyp:base',
88         '../content/content.gyp:content_browser',
89         '../ui/gfx/gfx.gyp:gfx',
90         'component_metrics_proto',
91         'metrics',
92       ],
93       'sources': [
94         'metrics/gpu/gpu_metrics_provider.cc',
95         'metrics/gpu/gpu_metrics_provider.h',
96       ],
97     },
98     {
99       # GN version: //components/metrics:net
100       'target_name': 'metrics_net',
101       'type': 'static_library',
102       'include_dirs': [
103         '..',
104       ],
105       'dependencies': [
106         '../base/base.gyp:base',
107         '../net/net.gyp:net',
108         '../url/url.gyp:url_lib',
109         'component_metrics_proto',
110         'metrics',
111       ],
112       'sources': [
113         'metrics/net/network_metrics_provider.cc',
114         'metrics/net/network_metrics_provider.h',
115         'metrics/net/net_metrics_log_uploader.cc',
116         'metrics/net/net_metrics_log_uploader.h',
117         'metrics/net/wifi_access_point_info_provider.cc',
118         'metrics/net/wifi_access_point_info_provider.h',
119         'metrics/net/wifi_access_point_info_provider_chromeos.cc',
120         'metrics/net/wifi_access_point_info_provider_chromeos.h',
121       ],
122     },
123     {
124       # GN version: //components/metrics:profiler
125       'target_name': 'metrics_profiler',
126       'type': 'static_library',
127       'include_dirs': [
128         '..',
129       ],
130       'dependencies': [
131         '../content/content.gyp:content_browser',
132         '../content/content.gyp:content_common',
133         'component_metrics_proto',
134         'metrics',
135         'variations',
136       ],
137       'export_dependent_settings': [
138         'component_metrics_proto',
139       ],
140       'sources': [
141         'metrics/profiler/profiler_metrics_provider.cc',
142         'metrics/profiler/profiler_metrics_provider.h',
143         'metrics/profiler/tracking_synchronizer.cc',
144         'metrics/profiler/tracking_synchronizer.h',
145         'metrics/profiler/tracking_synchronizer_observer.h',
146       ],
147     },
148     {
149       # Protobuf compiler / generator for UMA (User Metrics Analysis).
150       #
151       # GN version: //components/metrics/proto:proto
152       'target_name': 'component_metrics_proto',
153       'type': 'static_library',
154       'sources': [
155         'metrics/proto/chrome_user_metrics_extension.proto',
156         'metrics/proto/histogram_event.proto',
157         'metrics/proto/omnibox_event.proto',
158         'metrics/proto/omnibox_input_type.proto',
159         'metrics/proto/perf_data.proto',
160         'metrics/proto/profiler_event.proto',
161         'metrics/proto/sampled_profile.proto',
162         'metrics/proto/system_profile.proto',
163         'metrics/proto/user_action_event.proto',
164       ],
165       'variables': {
166         'proto_in_dir': 'metrics/proto',
167         'proto_out_dir': 'components/metrics/proto',
168       },
169       'includes': [ '../build/protoc.gypi' ],
170     },
171     {
172       # TODO(isherman): Remove all //chrome dependencies on this target, and
173       # merge the files in this target with components_unittests.
174       # GN version: //components/metrics:test_support
175       'target_name': 'metrics_test_support',
176       'type': 'static_library',
177       'include_dirs': [
178         '..',
179       ],
180       'dependencies': [
181         'component_metrics_proto',
182         'metrics',
183       ],
184       'export_dependent_settings': [
185         'component_metrics_proto',
186       ],
187       'sources': [
188         'metrics/test_metrics_service_client.cc',
189         'metrics/test_metrics_service_client.h',
190       ],
191     },
192   ],
193   'conditions': [
194     ['OS=="linux"', {
195       'targets': [
196         {
197           'target_name': 'metrics_serialization',
198           'type': 'static_library',
199           'sources': [
200             'metrics/serialization/serialization_utils.cc',
201             'metrics/serialization/serialization_utils.h',
202             'metrics/serialization/metric_sample.cc',
203             'metrics/serialization/metric_sample.h',
204           ],
205           'dependencies': [
206             '../base/base.gyp:base',
207           ],
208         },
209       ],
210     }],
211   ],