1# Copyright (c) 2012 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.
4
5{
6  'variables': {
7    'chromium_code': 1,  # Use higher warning level.
8  },
9  'includes': [
10    '../build/win_precompile.gypi',
11  ],
12  'targets': [
13    {
14      'target_name': 'google_apis',
15      'type': 'static_library',
16      'includes': [
17        'determine_use_official_keys.gypi',
18      ],
19      'dependencies': [
20        '../base/base.gyp:base',
21        '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
22        '../crypto/crypto.gyp:crypto',
23        '../net/net.gyp:net',
24        '../third_party/libxml/libxml.gyp:libxml',
25      ],
26      'conditions': [
27        ['google_api_key!=""', {
28          'defines': ['GOOGLE_API_KEY="<(google_api_key)"'],
29        }],
30        ['google_default_client_id!=""', {
31          'defines': [
32            'GOOGLE_DEFAULT_CLIENT_ID="<(google_default_client_id)"',
33          ]
34        }],
35        ['google_default_client_secret!=""', {
36          'defines': [
37            'GOOGLE_DEFAULT_CLIENT_SECRET="<(google_default_client_secret)"',
38          ]
39        }],
40        ['enable_extensions==1', {
41          'sources': [
42            # Note: sources list duplicated in GN build.
43            'drive/auth_service.cc',
44            'drive/auth_service.h',
45            'drive/auth_service_interface.h',
46            'drive/auth_service_observer.h',
47            'drive/base_requests.cc',
48            'drive/base_requests.h',
49            'drive/drive_api_parser.cc',
50            'drive/drive_api_parser.h',
51            'drive/drive_api_requests.cc',
52            'drive/drive_api_requests.h',
53            'drive/drive_api_url_generator.cc',
54            'drive/drive_api_url_generator.h',
55            'drive/drive_common_callbacks.h',
56            'drive/gdata_errorcode.cc',
57            'drive/gdata_errorcode.h',
58            'drive/gdata_wapi_requests.cc',
59            'drive/gdata_wapi_requests.h',
60            'drive/gdata_wapi_parser.cc',
61            'drive/gdata_wapi_parser.h',
62            'drive/gdata_wapi_url_generator.cc',
63            'drive/gdata_wapi_url_generator.h',
64            'drive/request_sender.cc',
65            'drive/request_sender.h',
66            'drive/request_util.cc',
67            'drive/request_util.h',
68            'drive/task_util.cc',
69            'drive/task_util.h',
70            'drive/time_util.cc',
71            'drive/time_util.h',
72          ],
73        }],
74      ],
75      'sources': [
76        # Note: sources list duplicated in GN build.
77        'gaia/account_tracker.cc',
78        'gaia/account_tracker.h',
79        'gaia/gaia_auth_consumer.cc',
80        'gaia/gaia_auth_consumer.h',
81        'gaia/gaia_auth_fetcher.cc',
82        'gaia/gaia_auth_fetcher.h',
83        'gaia/gaia_auth_util.cc',
84        'gaia/gaia_auth_util.h',
85        'gaia/gaia_constants.cc',
86        'gaia/gaia_constants.h',
87        'gaia/gaia_oauth_client.cc',
88        'gaia/gaia_oauth_client.h',
89        'gaia/gaia_switches.cc',
90        'gaia/gaia_switches.h',
91        'gaia/gaia_urls.cc',
92        'gaia/gaia_urls.h',
93        'gaia/google_service_auth_error.cc',
94        'gaia/google_service_auth_error.h',
95        'gaia/identity_provider.cc',
96        'gaia/identity_provider.h',
97        'gaia/merge_session_helper.cc',
98        'gaia/merge_session_helper.h',
99        'gaia/oauth_request_signer.cc',
100        'gaia/oauth_request_signer.h',
101        'gaia/oauth2_access_token_consumer.h',
102        'gaia/oauth2_access_token_fetcher.h',
103        'gaia/oauth2_access_token_fetcher.cc',
104        'gaia/oauth2_access_token_fetcher_impl.cc',
105        'gaia/oauth2_access_token_fetcher_impl.h',
106        'gaia/oauth2_api_call_flow.cc',
107        'gaia/oauth2_api_call_flow.h',
108        'gaia/oauth2_mint_token_flow.cc',
109        'gaia/oauth2_mint_token_flow.h',
110        'gaia/oauth2_token_service.cc',
111        'gaia/oauth2_token_service.h',
112        'gaia/oauth2_token_service_request.cc',
113        'gaia/oauth2_token_service_request.h',
114        'gaia/ubertoken_fetcher.cc',
115        'gaia/ubertoken_fetcher.h',
116        'google_api_keys.cc',
117        'google_api_keys.h',
118      ],
119      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
120      'msvs_disabled_warnings': [4267, ],
121    },
122    {
123      'target_name': 'google_apis_unittests',
124      'type': 'executable',
125      'dependencies': [
126        '../base/base.gyp:run_all_unittests',
127        '../testing/gmock.gyp:gmock',
128        '../testing/gtest.gyp:gtest',
129        'google_apis',
130        'google_apis_test_support',
131      ],
132      'includes': [
133        'determine_use_official_keys.gypi',
134      ],
135      'include_dirs': [
136        '..',
137      ],
138      'sources': [
139        'google_api_keys_unittest.cc',
140        'gaia/account_tracker_unittest.cc',
141        'gaia/gaia_auth_fetcher_unittest.cc',
142        'gaia/gaia_auth_util_unittest.cc',
143        'gaia/gaia_oauth_client_unittest.cc',
144        'gaia/google_service_auth_error_unittest.cc',
145        'gaia/merge_session_helper_unittest.cc',
146        'gaia/oauth_request_signer_unittest.cc',
147        'gaia/oauth2_access_token_fetcher_impl_unittest.cc',
148        'gaia/oauth2_api_call_flow_unittest.cc',
149        'gaia/oauth2_mint_token_flow_unittest.cc',
150        'gaia/oauth2_token_service_request_unittest.cc',
151        'gaia/oauth2_token_service_unittest.cc',
152        'gaia/ubertoken_fetcher_unittest.cc',
153      ],
154      'conditions': [
155        ['enable_extensions==1', {
156          'sources': [
157            'drive/base_requests_server_unittest.cc',
158            'drive/base_requests_unittest.cc',
159            'drive/drive_api_parser_unittest.cc',
160            'drive/drive_api_requests_unittest.cc',
161            'drive/drive_api_url_generator_unittest.cc',
162            'drive/gdata_wapi_parser_unittest.cc',
163            'drive/gdata_wapi_requests_unittest.cc',
164            'drive/gdata_wapi_url_generator_unittest.cc',
165            'drive/request_sender_unittest.cc',
166            'drive/request_util_unittest.cc',
167            'drive/time_util_unittest.cc',
168          ],
169        }],
170      ],
171    },
172    {
173      'target_name': 'google_apis_test_support',
174      'type': 'static_library',
175      'dependencies': [
176        '../base/base.gyp:base',
177        '../base/base.gyp:test_support_base',
178        '../net/net.gyp:net',
179        '../net/net.gyp:net_test_support',
180      ],
181      'export_dependent_settings': [
182        '../base/base.gyp:base',
183        '../base/base.gyp:test_support_base',
184        '../net/net.gyp:net',
185        '../net/net.gyp:net_test_support',
186      ],
187      'sources': [
188        'gaia/fake_gaia.cc',
189        'gaia/fake_gaia.h',
190        'gaia/fake_identity_provider.cc',
191        'gaia/fake_identity_provider.h',
192        'gaia/fake_oauth2_token_service.cc',
193        'gaia/fake_oauth2_token_service.h',
194        'gaia/mock_url_fetcher_factory.h',
195        'gaia/oauth2_token_service_test_util.cc',
196        'gaia/oauth2_token_service_test_util.h',
197      ],
198      'conditions': [
199        ['enable_extensions==1', {
200          'sources': [
201            'drive/dummy_auth_service.cc',
202            'drive/dummy_auth_service.h',
203            'drive/test_util.cc',
204            'drive/test_util.h',
205          ],
206        }],
207      ],
208    },
209  ],
210}
211