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