Upstream version 8.36.161.0
[platform/framework/web/crosswalk.git] / src / xwalk / xwalk_android.gypi
1 {
2   'targets': [
3     {
4       'target_name': 'libxwalkcore',
5       'type': 'shared_library',
6       'android_unmangled_name': 1,
7       'dependencies': [
8         '../components/components.gyp:auto_login_parser',
9         '../components/components.gyp:navigation_interception',
10         '../components/components.gyp:visitedlink_browser',
11         '../components/components.gyp:visitedlink_renderer',
12         '../components/components.gyp:web_contents_delegate_android',
13         '../skia/skia.gyp:skia',
14         'xwalk_core_extensions_native_jni',
15         'xwalk_core_jar_jni',
16         'xwalk_core_native_jni',
17         'xwalk_pak',
18         'xwalk_runtime',
19       ],
20       'include_dirs': [
21         '..',
22       ],
23       'ldflags': [
24         '-Wl,--no-fatal-warnings',
25       ],
26       'sources': [
27         'runtime/app/android/xwalk_entry_point.cc',
28         'runtime/app/android/xwalk_jni_registrar.cc',
29         'runtime/app/android/xwalk_jni_registrar.h',
30       ],
31     },
32     {
33       'target_name': 'xwalk_core_internal_java',
34       'type': 'none',
35       'dependencies': [
36         '../components/components.gyp:navigation_interception_java',
37         '../components/components.gyp:web_contents_delegate_android_java',
38         '../content/content.gyp:content_java',
39         '../ui/android/ui_android.gyp:ui_java',
40         'xwalk_core_extensions_java',
41       ],
42       'variables': {
43         'java_in_dir': 'runtime/android/core_internal',
44         'has_java_resources': 1,
45         'R_package': 'org.xwalk.core.internal',
46         'R_package_relpath': 'org/xwalk/core/internal',
47         'java_strings_grd': 'android_xwalk_strings.grd',
48       },
49       'includes': ['../build/java.gypi'],
50     },
51     {
52       'target_name': 'xwalk_core_java',
53       'type': 'none',
54       'dependencies': [
55         'xwalk_core_internal_java',
56       ],
57       'variables': {
58         'java_in_dir': 'runtime/android/core',
59       },
60       'includes': ['../build/java.gypi'],
61     },
62     {
63       'target_name': 'xwalk_runtime_java',
64       'type': 'none',
65       'dependencies': [
66         'xwalk_core_java',
67       ],
68       'variables': {
69         'java_in_dir': 'runtime/android/runtime',
70         'has_java_resources': 0,
71       },
72       'includes': ['../build/java.gypi'],
73     },
74     {
75       # Use the NativeLibraries.class generated by runtime lib.
76       # It's generated as a '.jar' file used by xwalk_runtime_embedded.
77       'target_name': 'xwalk_native_libraries_java',
78       'type': 'none',
79       'dependencies': [
80         'xwalk_runtime_lib_apk',
81       ],
82       'variables': {
83         'output_dir': '<(SHARED_INTERMEDIATE_DIR)/xwalk_native_libraries',
84         'jar_excluded_classes': [
85           '*/R.class',
86           '*/R##*.class',
87           '*org/xwalk/*',
88         ],
89       },
90       'actions': [
91         {
92           'action_name': 'jar_native_libraries',
93           'message': 'Creating native_libraries jar',
94           'inputs': [
95             '<(DEPTH)/build/android/gyp/util/build_utils.py',
96             '<(DEPTH)/build/android/gyp/util/md5_check.py',
97             '<(DEPTH)/build/android/gyp/jar.py',
98           ],
99           'outputs': [
100             '<(output_dir)/xwalk_native_libraries.jar',
101           ],
102           'action': [
103             'python', '<(DEPTH)/build/android/gyp/jar.py',
104             '--classes-dir=<(PRODUCT_DIR)/xwalk_runtime_lib_apk/classes',
105             '--jar-path=<(output_dir)/xwalk_native_libraries.jar',
106             '--excluded-classes=<(jar_excluded_classes)',
107           ],
108         },
109       ],
110     },
111     {
112       'target_name': 'xwalk_runtime_embedded',
113       'type': 'none',
114       'dependencies': [
115         'xwalk_core_java',
116         'xwalk_native_libraries_java',
117       ],
118       'actions': [
119         {
120           'action_name': 'xwalk_runtime_embedded',
121           'variables': {
122             'dex_input_paths': [
123               '<(PRODUCT_DIR)/lib.java/base_java.dex.jar',
124               '<(PRODUCT_DIR)/lib.java/content_java.dex.jar',
125               '<(PRODUCT_DIR)/lib.java/eyesfree_java.dex.jar',
126               '<(PRODUCT_DIR)/lib.java/guava_javalib.dex.jar',
127               '<(PRODUCT_DIR)/lib.java/jsr_305_javalib.dex.jar',
128               '<(PRODUCT_DIR)/lib.java/media_java.dex.jar',
129               '<(PRODUCT_DIR)/lib.java/navigation_interception_java.dex.jar',
130               '<(PRODUCT_DIR)/lib.java/net_java.dex.jar',
131               '<(PRODUCT_DIR)/lib.java/ui_java.dex.jar',
132               '<(PRODUCT_DIR)/lib.java/web_contents_delegate_android_java.dex.jar',
133               '<(PRODUCT_DIR)/lib.java/xwalk_core_extensions_java.dex.jar',
134               '<(PRODUCT_DIR)/lib.java/xwalk_core_internal_java.dex.jar',
135               '<(PRODUCT_DIR)/lib.java/xwalk_core_java.dex.jar',
136               '<(PRODUCT_DIR)/lib.java/xwalk_runtime_java.dex.jar',
137               '<(SHARED_INTERMEDIATE_DIR)/xwalk_native_libraries/'
138                   'xwalk_native_libraries.jar' ],
139             'output_path': '<(PRODUCT_DIR)/lib.java/xwalk_runtime_embedded.dex.jar',
140           },
141           'includes': [ '../build/android/dex_action.gypi' ],
142         },
143       ],
144     },
145     {
146       'target_name': 'xwalk_core_jar_jni',
147       'type': 'none',
148       'variables': {
149         'jni_gen_package': 'xwalk',
150         'input_java_class': 'java/io/InputStream.class',
151       },
152       'includes': [ '../build/jar_file_jni_generator.gypi' ],
153     },
154     {
155       'target_name': 'xwalk_core_native_jni',
156       'type': 'none',
157       'variables': {
158         'jni_gen_package': 'xwalk',
159       },
160       'sources': [
161         'runtime/android/core_internal/src/org/xwalk/core/internal/AndroidProtocolHandler.java',
162         'runtime/android/core_internal/src/org/xwalk/core/internal/InterceptedRequestData.java',
163         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkContent.java',
164         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkContentsClientBridge.java',
165         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkContentsIoThreadClient.java',
166         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkCookieManager.java',
167         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkDevToolsServer.java',
168         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkHttpAuthHandler.java',
169         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkPathHelper.java',
170         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkSettings.java',
171         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkViewDelegate.java',
172         'runtime/android/core_internal/src/org/xwalk/core/internal/XWalkWebContentsDelegate.java',
173       ],
174       'includes': ['../build/jni_generator.gypi'],
175     },
176     {
177       'target_name': 'xwalk_core_extensions_java',
178       'type': 'none',
179       'dependencies': [
180         '../content/content.gyp:content_java',
181       ],
182       'variables': {
183         'java_in_dir': 'extensions/android/java',
184         'has_java_resources': 0,
185         'R_package': 'org.xwalk.core.internal.extensions',
186         'R_package_relpath': 'org/xwalk/core/internal/extensions',
187       },
188       'includes': ['../build/java.gypi'],
189     },
190     {
191       'target_name': 'xwalk_core_extensions_native_jni',
192       'type': 'none',
193       'variables': {
194         'jni_gen_package': 'xwalk',
195       },
196       'sources': [
197         'extensions/android/java/src/org/xwalk/core/internal/extensions/XWalkExtensionAndroid.java',
198       ],
199       'includes': ['../build/jni_generator.gypi'],
200     },
201     {
202       'target_name': 'xwalk_runtime_lib_apk',
203       'type': 'none',
204       'dependencies': [
205         'libxwalkcore',
206         'xwalk_core_extensions_java',
207         'xwalk_runtime_java',
208         'xwalk_runtime_lib_apk_extension',
209         'xwalk_runtime_lib_apk_pak',
210       ],
211       'variables': {
212         'apk_name': 'XWalkRuntimeLib',
213         'java_in_dir': 'runtime/android/runtime_lib',
214         'resource_dir': 'runtime/android/runtime_lib/res',
215         'native_lib_target': 'libxwalkcore',
216         'additional_input_paths': [
217           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/contacts_api.js',
218           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/device_capabilities_api.js',
219           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/launch_screen_api.js',
220           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/messaging_api.js',
221           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/presentation_api.js',
222           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/xwalk.pak',
223         ],
224         'conditions': [
225           ['icu_use_data_file_flag==1', {
226             'additional_input_paths': [
227               '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/icudtl.dat',
228             ],
229           }],
230         ],
231         'asset_location': '<(PRODUCT_DIR)/xwalk_runtime_lib/assets',
232         'app_manifest_version_name': '<(xwalk_version)',
233         'app_manifest_version_code': '<(xwalk_version_code)',
234       },
235       'includes': ['../build/java_apk.gypi'],
236     },
237     {
238       'target_name': 'xwalk_runtime_lib_apk_pak',
239       'type': 'none',
240       'dependencies': [
241         'xwalk_pak',
242       ],
243       'copies': [
244         {
245           'destination': '<(PRODUCT_DIR)/xwalk_runtime_lib/assets',
246           'files': [
247             '<(PRODUCT_DIR)/xwalk.pak',
248           ],
249           'conditions': [
250             ['icu_use_data_file_flag==1', {
251               'files': [
252                 '<(PRODUCT_DIR)/icudtl.dat',
253               ],
254             }],
255           ],
256         },
257       ],
258     },
259     {
260       'target_name': 'xwalk_runtime_lib_apk_extension',
261       'type': 'none',
262       'copies': [
263         {
264           'destination': '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi',
265           'files': [
266             'experimental/launch_screen/launch_screen_api.js',
267             'experimental/presentation/presentation_api.js',
268             'runtime/android/core_internal/src/org/xwalk/core/internal/extension/api/contacts/contacts_api.js',
269             'runtime/android/core_internal/src/org/xwalk/core/internal/extension/api/device_capabilities/device_capabilities_api.js',
270             'runtime/android/core_internal/src/org/xwalk/core/internal/extension/api/messaging/messaging_api.js',
271           ],
272         },
273       ],
274     },
275   ],
276 }