Upstream version 7.36.153.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/XWalkPathHelper.java',
158         'runtime/android/core/src/org/xwalk/core/XWalkSettings.java',
159         'runtime/android/core/src/org/xwalk/core/XWalkViewDelegate.java',
160         'runtime/android/core/src/org/xwalk/core/XWalkWebContentsDelegate.java',
161       ],
162       'includes': ['../build/jni_generator.gypi'],
163     },
164     {
165       'target_name': 'xwalk_core_extensions_java',
166       'type': 'none',
167       'dependencies': [
168         '../content/content.gyp:content_java',
169       ],
170       'variables': {
171         'java_in_dir': 'extensions/android/java',
172         'has_java_resources': 0,
173         'R_package': 'org.xwalk.core.extensions',
174         'R_package_relpath': 'org/xwalk/core/extensions',
175       },
176       'includes': ['../build/java.gypi'],
177     },
178     {
179       'target_name': 'xwalk_core_extensions_native_jni',
180       'type': 'none',
181       'variables': {
182         'jni_gen_package': 'xwalk',
183       },
184       'sources': [
185         'extensions/android/java/src/org/xwalk/core/extensions/XWalkExtensionAndroid.java',
186       ],
187       'includes': ['../build/jni_generator.gypi'],
188     },
189     {
190       'target_name': 'xwalk_runtime_lib_apk',
191       'type': 'none',
192       'dependencies': [
193         'libxwalkcore',
194         'xwalk_core_extensions_java',
195         'xwalk_runtime_java',
196         'xwalk_runtime_lib_apk_extension',
197         'xwalk_runtime_lib_apk_pak',
198       ],
199       'variables': {
200         'apk_name': 'XWalkRuntimeLib',
201         'java_in_dir': 'runtime/android/runtime_lib',
202         'resource_dir': 'runtime/android/runtime_lib/res',
203         'native_lib_target': 'libxwalkcore',
204         'additional_input_paths': [
205           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/contacts_api.js',
206           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/device_capabilities_api.js',
207           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/launch_screen_api.js',
208           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/messaging_api.js',
209           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/presentation_api.js',
210           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi/screen_orientation_api.js',
211           '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/xwalk.pak',
212         ],
213         'conditions': [
214           ['icu_use_data_file_flag==1', {
215             'additional_input_paths': [
216               '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/icudtl.dat',
217             ],
218           }],
219         ],
220         'asset_location': '<(PRODUCT_DIR)/xwalk_runtime_lib/assets',
221         'app_manifest_version_name': '<(xwalk_version)',
222         'app_manifest_version_code': '<(xwalk_version_code)',
223       },
224       'includes': ['../build/java_apk.gypi'],
225     },
226     {
227       'target_name': 'xwalk_runtime_lib_apk_pak',
228       'type': 'none',
229       'dependencies': [
230         'xwalk_pak',
231       ],
232       'copies': [
233         {
234           'destination': '<(PRODUCT_DIR)/xwalk_runtime_lib/assets',
235           'files': [
236             '<(PRODUCT_DIR)/xwalk.pak',
237           ],
238           'conditions': [
239             ['icu_use_data_file_flag==1', {
240               'files': [
241                 '<(PRODUCT_DIR)/icudtl.dat',
242               ],
243             }],
244           ],
245         },
246       ],
247     },
248     {
249       'target_name': 'xwalk_runtime_lib_apk_extension',
250       'type': 'none',
251       'copies': [
252         {
253           'destination': '<(PRODUCT_DIR)/xwalk_runtime_lib/assets/jsapi',
254           'files': [
255             'experimental/launch_screen/launch_screen_api.js',
256             'experimental/presentation/presentation_api.js',
257             'runtime/android/core/src/org/xwalk/core/extension/api/contacts/contacts_api.js',
258             'runtime/android/core/src/org/xwalk/core/extension/api/device_capabilities/device_capabilities_api.js',
259             'runtime/android/core/src/org/xwalk/core/extension/api/messaging/messaging_api.js',
260             'runtime/extension/screen_orientation_api.js',
261           ],
262         },
263       ],
264     },
265   ],
266 }