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  'targets': [
6    {
7      'target_name': 'android_webview_apk',
8      'type': 'none',
9      'dependencies': [
10        'libstandalonelibwebviewchromium',
11        'android_webview_java',
12        'android_webview_pak',
13        'libdrawgl',
14      ],
15      'variables': {
16        'apk_name': 'AndroidWebView',
17        'java_in_dir': 'test/shell',
18        'native_lib_target': 'libstandalonelibwebviewchromium',
19        'resource_dir': 'test/shell/res',
20        'extensions_to_not_compress': 'pak',
21        'extra_native_libs': ['<(SHARED_LIB_DIR)/libdrawgl.>(android_product_extension)'],
22        'additional_input_paths': [
23          '<(PRODUCT_DIR)/android_webview_assets/webviewchromium.pak',
24          '<(PRODUCT_DIR)/android_webview_assets/en-US.pak',
25          '<(PRODUCT_DIR)/android_webview_apk/assets/asset_file.html',
26          '<(PRODUCT_DIR)/android_webview_apk/assets/cookie_test.html',
27          '<(PRODUCT_DIR)/android_webview_apk/assets/asset_icon.png',
28          '<(PRODUCT_DIR)/android_webview_apk/assets/full_screen_video_test.html',
29        ],
30        'conditions': [
31          ['icu_use_data_file_flag==1', {
32            'additional_input_paths': [
33              '<(PRODUCT_DIR)/icudtl.dat',
34            ],
35          }],
36        ],
37      },
38      'copies': [
39        {
40          'destination': '<(PRODUCT_DIR)/android_webview_apk/assets',
41          'files': [
42            '<(PRODUCT_DIR)/android_webview_assets/webviewchromium.pak',
43            '<(PRODUCT_DIR)/android_webview_assets/en-US.pak',
44            '<(java_in_dir)/assets/asset_file.html',
45            '<(java_in_dir)/assets/asset_icon.png',
46            '<(java_in_dir)/assets/cookie_test.html',
47            '<(java_in_dir)/assets/full_screen_video_test.html',
48          ],
49	  'conditions': [
50            ['icu_use_data_file_flag==1', {
51              'files': [
52                '<(PRODUCT_DIR)/icudtl.dat',
53              ],
54	    }],
55          ],
56        },
57      ],
58      'includes': [ '../build/java_apk.gypi' ],
59    },
60    {
61      # android_webview_apk creates a .jar as a side effect. Any java
62      # targets that need that .jar in their classpath should depend on this
63      # target. For more details see the chrome_shell_apk_java target.
64      'target_name': 'android_webview_apk_java',
65      'type': 'none',
66      'dependencies': [
67        'android_webview_apk',
68      ],
69      'includes': [ '../build/apk_fake_jar.gypi' ],
70    },
71    {
72      'target_name': 'android_webview_test_apk',
73      'type': 'none',
74      'dependencies': [
75        '../base/base.gyp:base_java_test_support',
76        '../content/content_shell_and_tests.gyp:content_java_test_support',
77        '../net/net.gyp:net_java_test_support',
78        'android_webview_apk_java',
79      ],
80      'variables': {
81        'apk_name': 'AndroidWebViewTest',
82        'java_in_dir': '../android_webview/javatests',
83        'is_test_apk': 1,
84      },
85      'includes': [ '../build/java_apk.gypi' ],
86    },
87    {
88      'target_name': 'android_webview_unittests',
89      'type': '<(gtest_target_type)',
90      'dependencies': [
91        '../base/base.gyp:test_support_base',
92        '../content/content_shell_and_tests.gyp:test_support_content',
93        '../net/net.gyp:net_test_support',
94        '../testing/android/native_test.gyp:native_test_native_code',
95        '../testing/gmock.gyp:gmock',
96        '../testing/gtest.gyp:gtest',
97        '../ui/base/ui_base.gyp:ui_base_jni_headers',
98        'android_webview_common',
99        'android_webview_unittests_jni',
100      ],
101      'include_dirs': [
102        '..',
103        '../skia/config',
104        '<(SHARED_INTERMEDIATE_DIR)/android_webview_unittests',
105      ],
106      'sources': [
107        'browser/aw_static_cookie_policy_unittest.cc',
108        'browser/aw_form_database_service_unittest.cc',
109        'browser/global_tile_manager_unittest.cc',
110        'browser/net/android_stream_reader_url_request_job_unittest.cc',
111        'browser/net/input_stream_reader_unittest.cc',
112        'lib/main/webview_tests.cc',
113        'native/aw_contents_client_bridge_unittest.cc',
114        'native/aw_media_url_interceptor_unittest.cc',
115        'native/input_stream_unittest.cc',
116        'native/permission/media_access_permission_request_unittest.cc',
117        'native/permission/permission_request_handler_unittest.cc',
118        'native/state_serializer_unittest.cc',
119      ],
120    },
121    {
122      'target_name': 'android_webview_unittest_java',
123      'type': 'none',
124      'dependencies': [
125        '../base/base.gyp:base_java_test_support',
126        '../content/content_shell_and_tests.gyp:content_java_test_support',
127        'android_webview_java',
128      ],
129      'variables': {
130        'java_in_dir': '../android_webview/unittestjava',
131      },
132      'includes': [ '../build/java.gypi' ],
133    },
134    {
135      'target_name': 'android_webview_unittests_jni',
136      'type': 'none',
137      'sources': [
138          '../android_webview/unittestjava/src/org/chromium/android_webview/unittest/InputStreamUnittest.java',
139          '../android_webview/unittestjava/src/org/chromium/android_webview/unittest/MockAwContentsClientBridge.java',
140      ],
141      'variables': {
142        'jni_gen_package': 'android_webview_unittests',
143      },
144      'includes': [ '../build/jni_generator.gypi' ],
145    },
146    {
147      'target_name': 'android_webview_unittests_apk',
148      'type': 'none',
149      'dependencies': [
150        'android_webview_unittest_java',
151        'android_webview_unittests',
152      ],
153      'variables': {
154        'test_suite_name': 'android_webview_unittests',
155        'additional_input_paths': [
156          '<(PRODUCT_DIR)/android_webview_unittests_apk/assets/asset_file.ogg',
157        ],
158      },
159      'copies': [
160        {
161          'destination': '<(PRODUCT_DIR)/android_webview_unittests_apk/assets',
162          'files': [
163            'test/unittest/assets/asset_file.ogg',
164          ],
165        },
166      ],
167      'includes': [ '../build/apk_test.gypi' ],
168    },
169    {
170      'target_name': 'libdrawgl',
171      'type': 'shared_library',
172      # Do not depend on any other component here, since this target
173      # builds a separate shared library!
174      'include_dirs': [
175        '..',
176      ],
177      'sources': [
178          '../android_webview/test/shell/src/draw_gl/draw_gl.cc',
179      ],
180    },
181    {
182      'target_name': 'libstandalonelibwebviewchromium',
183      'includes': [
184        'libwebviewchromium.gypi',
185      ],
186    },
187  ],
188}
189