7519627a9f3d01b0c1ad6f71f8d79423b7e11cd3
[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_library_empty_embedder_apk_name': 'XWalkCoreLibraryEmptyEmbedder',
8   },
9   'targets': [
10     {
11       'target_name': 'xwalk_core_library_documentation',
12       'type': 'none',
13       'variables': {
14         'api_files': [
15           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkExtension.java',
16           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkJavascriptResult.java',
17           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkNavigationHistory.java',
18           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkNavigationItem.java',
19           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkPreferences.java',
20           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkResourceClient.java',
21           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkUIClient.java',
22           '<(DEPTH)/xwalk/runtime/android/core/src/org/xwalk/core/XWalkView.java',
23         ],
24         'docs': '<(PRODUCT_DIR)/xwalk_core_library_docs',
25       },
26       'actions': [
27         {
28           'action_name': 'javadoc_xwalk_core_library',
29           'message': 'Creating documentation for XWalk Core Library',
30           'inputs': [
31             '<@(api_files)',
32           ],
33           'outputs': [
34             '<(docs)/index.html',
35           ],
36           'action': [
37             'javadoc',
38             '-XDignore.symbol.file',
39             '-d', '<(docs)',
40             '<@(api_files)',
41           ],
42         },
43       ],
44     },
45     {
46       'target_name': 'pack_xwalk_core_library',
47       'type': 'none',
48       'dependencies': [
49         'xwalk_core_library'
50       ],
51       'actions': [
52         {
53           'action_name': 'pack_xwalk_core_library',
54           'message': 'Packaging XwalkCore Library Project.',
55           'inputs': [
56             '<(DEPTH)/xwalk/tools/tar.py',
57           ],
58           'outputs': [
59             '<(PRODUCT_DIR)/xwalk_core_library.tar.gz',
60             '<(PRODUCT_DIR)/pack_xwalk_core_library_intermediate/always_run',
61           ],
62           'action': [
63             'python', 'tools/tar.py',
64             '<(PRODUCT_DIR)/xwalk_core_library'
65           ],
66         },
67       ],
68     },
69     {
70       'target_name': 'xwalk_core_library_empty_embedder_apk',
71       'type': 'none',
72       'dependencies': [
73         'libxwalkcore',
74         'xwalk_core_java',
75       ],
76       'variables': {
77         'apk_name': '<(core_library_empty_embedder_apk_name)',
78         'java_in_dir': 'runtime/android/core_library_empty',
79         'native_lib_target': 'libxwalkcore',
80         'is_test_apk': 1,
81         'additional_src_dirs': [
82            '<(DEPTH)/ui/android/java/resource_map',
83            '<(DEPTH)/content/public/android/java/resource_map',
84            '<(DEPTH)/xwalk/runtime/android/core_internal/resource_map',
85         ],
86       },
87       'includes': [ '../build/java_apk.gypi' ],
88     },
89     {
90       # pack classes compiled from the java files chromium generated into a
91       # jar file.
92       'target_name': 'chromium_generated_java',
93       'type': 'none',
94       'dependencies': [
95         'xwalk_core_library_empty_embedder_apk',
96       ],
97       'variables': {
98         'jar_name': '<(_target_name).jar',
99         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
100         'jar_excluded_classes': [
101           '*org/xwalk/core/R*',
102         ],
103       },
104       'all_dependent_settings': {
105         'variables': {
106           'input_jars_paths': ['<(jar_final_path)'],
107         },
108       },
109       'actions': [
110         {
111           'action_name': 'jar_<(_target_name)',
112           'message': 'Creating <(_target_name) jar',
113           'inputs': [
114             '<(DEPTH)/build/android/gyp/util/build_utils.py',
115             '<(DEPTH)/build/android/gyp/util/md5_check.py',
116             '<(DEPTH)/build/android/gyp/jar.py',
117             '<(PRODUCT_DIR)/apks/<(core_library_empty_embedder_apk_name).apk',
118           ],
119           'outputs': [
120             '<(jar_final_path)',
121           ],
122           'action': [
123             'python', '<(DEPTH)/build/android/gyp/jar.py',
124             '--classes-dir=<(PRODUCT_DIR)/xwalk_core_library_empty_embedder_apk/classes',
125             '--jar-path=<(jar_final_path)',
126             '--excluded-classes=<(jar_excluded_classes)',
127           ],
128         },
129       ],
130     },
131     {
132       'target_name': 'xwalk_core_library_java',
133       'type': 'none',
134       'dependencies': [
135         'xwalk_core_java',
136         'chromium_generated_java',
137       ],
138       'variables': {
139         'classes_dir': '<(PRODUCT_DIR)/<(_target_name)/classes',
140         'jar_name': '<(_target_name).jar',
141         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
142       },
143       'actions': [
144         {
145           'action_name': 'jars_<(_target_name)',
146           'message': 'Creating <(_target_name) jar',
147           'inputs': [
148             'build/android/merge_jars.py',
149           ],
150           'outputs': [
151             '<(PRODUCT_DIR)/pack_xwalk_core_library_java_intermediate/always_run',
152           ],
153           'action': [
154             'python', 'build/android/merge_jars.py',
155             '--classes-dir=<(classes_dir)',
156             '--jars=>(input_jars_paths)',
157             '--jar-path=<(jar_final_path)',
158           ],
159         },
160       ],
161     },
162     {
163       'target_name': 'xwalk_core_library',
164       'type': 'none',
165       'dependencies': [
166         'xwalk_core_shell_apk',
167         'xwalk_core_library_java',
168       ],
169       'actions': [
170         {
171           'action_name': 'generate_xwalk_core_library',
172           'message': 'Generating XwalkCore Library Project.',
173           'inputs': [
174             '<(DEPTH)/xwalk/build/android/common_function.py',
175             '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
176           ],
177           'outputs': [
178             '<(PRODUCT_DIR)/xwalk_core_library_intermediate/always_run',
179           ],
180           'action': [
181             'python', '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
182             '-s',  '<(DEPTH)',
183             '-t', '<(PRODUCT_DIR)'
184           ],
185         },
186       ],
187     },
188     {
189       'target_name': 'xwalk_core_library_aar',
190       'type': 'none',
191       'dependencies': [
192         'xwalk_core_library',
193       ],
194       'actions': [
195         {
196           'action_name': 'generate_xwalk_core_library_aar',
197           'message': 'Generating XwalkCore AAR Library.',
198           'inputs': [
199             '<(DEPTH)/xwalk/build/android/common_function.py',
200             '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library_aar.py',
201           ],
202           'outputs': [
203             '<(PRODUCT_DIR)/xwalk_core_library_aar_intermediate/always_run',
204           ],
205           'action': [
206             'python', '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library_aar.py',
207             '-s',  '<(DEPTH)',
208             '-t', '<(PRODUCT_DIR)',
209           ],
210         },
211       ],
212     },
213   ],
214 }