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