Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / xwalk / xwalk_core_library_android.gypi
1 # Copyright (c) 2013 Intel Corporation. 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 {
6   'variables': {
7     'core_internal_empty_embedder_apk_name': 'XWalkCoreInternalEmptyEmbedder',
8   },
9   'targets': [
10     {
11       'target_name': 'xwalk_core_library_documentation',
12       'type': 'none',
13       'dependencies': [
14         'xwalk_core_reflection_layer_java_gen'
15       ],
16       'variables': {
17         'api_files': [
18           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/JavascriptInterface.java',
19           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkExtension.java',
20           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkJavascriptResult.java',
21           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkNavigationHistory.java',
22           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkNavigationItem.java',
23           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkPreferences.java',
24           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkResourceClient.java',
25           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkUIClient.java',
26           '>(reflection_gen_dir)/wrapper/org/xwalk/core/XWalkView.java',
27         ],
28         'docs': '<(PRODUCT_DIR)/xwalk_core_library_docs',
29       },
30       'actions': [
31         {
32           'action_name': 'javadoc_xwalk_core_library',
33           'message': 'Creating documentation for XWalk Core Library',
34           'inputs': [
35             '>(reflection_layer_gen_timestamp)',
36           ],
37           'outputs': [
38             '<(docs)/index.html',
39           ],
40           'action': [
41             'javadoc',
42             '-quiet',
43             '-XDignore.symbol.file',
44             '-d', '<(docs)',
45             '-classpath', '<(android_sdk)/android.jar',
46             '<@(api_files)',
47           ],
48         },
49       ],
50     },
51     {
52       'target_name': 'pack_xwalk_core_library',
53       'type': 'none',
54       'dependencies': [
55         'xwalk_core_library',
56         'xwalk_core_library_src',
57       ],
58       'actions': [
59         {
60           'action_name': 'pack_xwalk_core_library',
61           'message': 'Packaging XwalkCore Library Project.',
62           'inputs': [
63             '<(DEPTH)/xwalk/tools/tar.py',
64           ],
65           'outputs': [
66             '<(PRODUCT_DIR)/xwalk_core_library.tar.gz',
67             '<(PRODUCT_DIR)/pack_xwalk_core_library_intermediate/always_run',
68           ],
69           'action': [
70             'python', 'tools/tar.py',
71             '<(PRODUCT_DIR)/xwalk_core_library'
72           ],
73         },
74         {
75           'action_name': 'pack_xwalk_core_library_src',
76           'message': 'Packaging XwalkCore Library Project Source.',
77           'inputs': [
78             '<(DEPTH)/xwalk/tools/tar.py',
79           ],
80           'outputs': [
81             '<(PRODUCT_DIR)/xwalk_core_library_src.tar.gz',
82             '<(PRODUCT_DIR)/pack_xwalk_core_library_src_intermediate/always_run',
83           ],
84           'action': [
85             'python', 'tools/tar.py',
86             '<(PRODUCT_DIR)/xwalk_core_library_src'
87           ],
88         },
89       ],
90     },
91     {
92       'target_name': 'generate_resource_maps',
93       'type': 'none',
94       'dependencies': [
95         'xwalk_core_internal_java',
96       ],
97       'actions': [
98         {
99           'action_name': 'generate_resource_maps',
100           'message': 'Generating Resource Maps.',
101           'inputs': [
102             'build/android/generate_resource_map.py',
103           ],
104           'outputs': [
105             '<(PRODUCT_DIR)/generate_resource_maps_intermediate/always_run',
106           ],
107           'action': [
108             'python', 'build/android/generate_resource_map.py',
109             '--gen-dir', '<(PRODUCT_DIR)/gen',
110             '--resource-map-dir', '<(PRODUCT_DIR)/resource_map',
111           ],
112         },
113       ]
114     },
115     {
116       'target_name': 'xwalk_core_internal_empty_embedder_apk',
117       'type': 'none',
118       'dependencies': [
119         'libxwalkcore',
120         'generate_resource_maps',
121       ],
122       'variables': {
123         'apk_name': '<(core_internal_empty_embedder_apk_name)',
124         'java_in_dir': 'runtime/android/core_internal_empty',
125         'native_lib_target': 'libxwalkcore',
126         'is_test_apk': 1,
127         'generated_src_dirs': [
128            '<(PRODUCT_DIR)/resource_map',
129         ],
130       },
131       'includes': [ '../build/java_apk.gypi' ],
132       'all_dependent_settings': {
133         'variables': {
134           'input_jars_paths': ['<(javac_jar_path)'],
135         },
136       },
137     },
138     {
139       'target_name': 'xwalk_core_library_java_app_part',
140       'type': 'none',
141       'dependencies': [
142         'xwalk_core_java',
143       ],
144       'variables': {
145         'classes_dir': '<(PRODUCT_DIR)/<(_target_name)/classes',
146         'jar_name': '<(_target_name).jar',
147         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
148       },
149       'actions': [
150         {
151           'action_name': 'jars_<(_target_name)',
152           'message': 'Creating <(_target_name) jar',
153           'inputs': [
154             'build/android/merge_jars.py',
155             '>@(input_jars_paths)',
156           ],
157           'outputs': [
158             '<(jar_final_path)',
159           ],
160           'action': [
161             'python', 'build/android/merge_jars.py',
162             '--classes-dir=<(classes_dir)',
163             '--jars=>(input_jars_paths)',
164             '--jar-path=<(jar_final_path)',
165           ],
166         },
167       ],
168     },
169     {
170       'target_name': 'xwalk_core_library_java_library_part',
171       'type': 'none',
172       'dependencies': [
173         'xwalk_core_internal_empty_embedder_apk',
174       ],
175       'variables': {
176         'classes_dir': '<(PRODUCT_DIR)/<(_target_name)/classes',
177         'jar_name': '<(_target_name).jar',
178         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
179       },
180       'actions': [
181         {
182           'action_name': 'jars_<(_target_name)',
183           'message': 'Creating <(_target_name) jar',
184           'inputs': [
185             'build/android/merge_jars.py',
186             '>@(input_jars_paths)',
187           ],
188           'outputs': [
189             '<(jar_final_path)',
190           ],
191           'action': [
192             'python', 'build/android/merge_jars.py',
193             '--classes-dir=<(classes_dir)',
194             '--jars=>(input_jars_paths)',
195             '--jar-path=<(jar_final_path)',
196           ],
197         },
198       ],
199     },
200     {
201       'target_name': 'xwalk_core_library_java',
202       'type': 'none',
203       'dependencies': [
204         'xwalk_core_library_java_app_part',
205         'xwalk_core_library_java_library_part',
206       ],
207       'variables': {
208         'classes_dir': '<(PRODUCT_DIR)/<(_target_name)/classes',
209         'jar_name': '<(_target_name).jar',
210         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
211       },
212       'actions': [
213         {
214           'action_name': 'jars_<(_target_name)',
215           'message': 'Creating <(_target_name) jar',
216           'inputs': [
217             'build/android/merge_jars.py',
218             '>@(input_jars_paths)',
219           ],
220           'outputs': [
221             '<(jar_final_path)',
222           ],
223           'action': [
224             'python', 'build/android/merge_jars.py',
225             '--classes-dir=<(classes_dir)',
226             '--jars=>(input_jars_paths)',
227             '--jar-path=<(jar_final_path)',
228           ],
229         },
230       ],
231     },
232     {
233       'target_name': 'xwalk_core_library',
234       'type': 'none',
235       'dependencies': [
236         'xwalk_core_shell_apk',
237         'xwalk_core_library_java_app_part',
238         'xwalk_core_library_java_library_part',
239       ],
240       'actions': [
241         {
242           'action_name': 'generate_xwalk_core_library',
243           'message': 'Generating XwalkCore Library Project.',
244           'inputs': [
245             '<(DEPTH)/xwalk/build/android/common_function.py',
246             '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
247           ],
248           'outputs': [
249             '<(PRODUCT_DIR)/xwalk_core_library_intermediate/always_run',
250           ],
251           'action': [
252             'python', '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
253             '-s',  '<(DEPTH)',
254             '-t', '<(PRODUCT_DIR)'
255           ],
256         },
257       ],
258     },
259     {
260       'target_name': 'xwalk_core_library_src',
261       'type': 'none',
262       'dependencies': [
263         'xwalk_core_library',
264       ],
265       'variables': {
266          # TODO(wang16): This list is hard coded for now. It might be broken by rebase to
267          #               chromium new base. Need to check manually after each rebase.
268         'java_source_dirs': [
269           '<(DEPTH)/base/android/java/src',
270           '<(DEPTH)/components/web_contents_delegate_android/android/java/src',
271           '<(DEPTH)/components/navigation_interception/android/java/src',
272           '<(DEPTH)/content/public/android/java/src',
273           '<(DEPTH)/media/base/android/java/src',
274           '<(DEPTH)/net/android/java/src',
275           '<(DEPTH)/ui/android/java/src',
276           '<(DEPTH)/xwalk/extensions/android/java/src',
277           '<(DEPTH)/xwalk/runtime/android/core/src',
278           '<(DEPTH)/xwalk/runtime/android/core_internal/src',
279           '<(PRODUCT_DIR)/gen/enums/bitmap_format_java',
280           '<(PRODUCT_DIR)/gen/enums/window_open_disposition_java',
281           '<(PRODUCT_DIR)/gen/templates',
282           '<(PRODUCT_DIR)/resource_map',
283           # NativeLibraries.java must be copied later than gen/templates to override the empty
284           # NativeLibraries.java in gen/templates.
285           '<(PRODUCT_DIR)/xwalk_core_internal_empty_embedder_apk/native_libraries_java/NativeLibraries.java',
286           '>(reflection_gen_dir)/bridge',
287           '>(reflection_gen_dir)/wrapper',
288         ],
289       },
290       'actions': [
291         {
292           'action_name': 'generate_xwalk_core_library_src_package',
293           'message': 'Generating Source Package of XwalkCore Library Project.',
294           'inputs': [
295             '<(DEPTH)/xwalk/build/android/common_function.py',
296             '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
297           ],
298           'outputs': [
299             '<(PRODUCT_DIR)/xwalk_core_library_src/always_run',
300             '<(PRODUCT_DIR)/xwalk_core_library_src/src/README.md',
301           ],
302           'action': [
303             'python', '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
304             '-s',  '<(DEPTH)',
305             '-t', '<(PRODUCT_DIR)',
306             '--src-package',
307           ],
308         },
309         {
310           'action_name': 'copy_xwalk_core_library_src',
311           'message': 'Copy java sources of xwalk core library',
312           'inputs': [
313             'build/android/merge_java_srcs.py',
314             '<(PRODUCT_DIR)/xwalk_core_library_src/src/README.md',
315           ],
316           'outputs': [
317             '<(PRODUCT_DIR)/xwalk_core_library_src/copy_src_always_run',
318           ],
319           'action': [
320             'python', 'build/android/merge_java_srcs.py',
321             '--dirs=>(java_source_dirs)',
322             '--target-path=<(PRODUCT_DIR)/xwalk_core_library_src/src',
323           ],
324         },
325       ],
326     },
327     {
328       'target_name': 'xwalk_core_library_aar',
329       'type': 'none',
330       'dependencies': [
331         'xwalk_core_library',
332         'xwalk_core_library_java',
333       ],
334       'actions': [
335         {
336           'action_name': 'generate_xwalk_core_library_aar',
337           'message': 'Generating XwalkCore AAR Library.',
338           'inputs': [
339             '<(DEPTH)/xwalk/build/android/common_function.py',
340             '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library_aar.py',
341           ],
342           'outputs': [
343             '<(PRODUCT_DIR)/xwalk_core_library_aar_intermediate/always_run',
344           ],
345           'action': [
346             'python', '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library_aar.py',
347             '-t', '<(PRODUCT_DIR)',
348           ],
349         },
350       ],
351     },
352   ],
353 }