Upstream version 6.35.131.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_library_empty_embedder_apk_name': 'XWalkCoreLibraryEmptyEmbedder',
8   },
9   'targets': [
10     {
11       'target_name': 'pack_xwalk_core_library',
12       'type': 'none',
13       'dependencies': [
14         'xwalk_core_library'
15       ],
16       'actions': [
17         {
18           'action_name': 'pack_xwalk_core_library',
19           'message': 'Packaging XwalkCore Library Project.',
20           'inputs': [
21             '<(DEPTH)/xwalk/tools/tar.py',
22           ],
23           'outputs': [
24             '<(PRODUCT_DIR)/xwalk_core_library.tar.gz',
25             '<(PRODUCT_DIR)/pack_xwalk_core_library_intermediate/always_run',
26           ],
27           'action': [
28             'python', 'tools/tar.py',
29             '<(PRODUCT_DIR)/xwalk_core_library'
30           ],
31         },
32       ],
33     },
34     {
35       'target_name': 'xwalk_core_library_empty_embedder_apk',
36       'type': 'none',
37       'dependencies': [
38         'libxwalkcore',
39         'xwalk_core_java',
40       ],
41       'variables': {
42         'apk_name': '<(core_library_empty_embedder_apk_name)',
43         'java_in_dir': 'runtime/android/core_library_empty',
44         'native_lib_target': 'libxwalkcore',
45         'is_test_apk': 1,
46         'additional_src_dirs': [
47            '<(DEPTH)/ui/android/java/resource_map',
48            '<(DEPTH)/content/public/android/java/resource_map',
49         ],
50       },
51       'includes': [ '../build/java_apk.gypi' ],
52     },
53     {
54       # pack classes compiled from the java files chromium generated into a
55       # jar file.
56       'target_name': 'chromium_generated_java',
57       'type': 'none',
58       'dependencies': [
59         'xwalk_core_library_empty_embedder_apk',
60       ],
61       'variables': {
62         'jar_name': '<(_target_name).jar',
63         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
64         'jar_excluded_classes': [
65           '*org/xwalk/*',
66         ],
67       },
68       'actions': [
69         {
70           'action_name': 'jar_<(_target_name)',
71           'message': 'Creating <(_target_name) jar',
72           'inputs': [
73             '<(DEPTH)/build/android/gyp/util/build_utils.py',
74             '<(DEPTH)/build/android/gyp/util/md5_check.py',
75             '<(DEPTH)/build/android/gyp/jar.py',
76             '<(PRODUCT_DIR)/apks/<(core_library_empty_embedder_apk_name).apk',
77           ],
78           'outputs': [
79             '<(jar_final_path)',
80           ],
81           'action': [
82             'python', '<(DEPTH)/build/android/gyp/jar.py',
83             '--classes-dir=<(PRODUCT_DIR)/xwalk_core_library_empty_embedder_apk/classes',
84             '--jar-path=<(jar_final_path)',
85             '--excluded-classes=<(jar_excluded_classes)',
86           ],
87         },
88       ],
89     },
90     {
91       'target_name': 'xwalk_core_library_java',
92       'type': 'none',
93       'dependencies': [
94         'xwalk_core_java',
95         'chromium_generated_java',
96       ],
97       'variables': {
98         'classes_dir': '<(PRODUCT_DIR)/<(_target_name)/classes',
99         'jar_name': '<(_target_name).jar',
100         'jar_final_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
101         #TODO(wang16): figure out why the 'jar_final_path' defined in chromium_generated_java
102         #              not added into following all_dependent_settings setting chain.
103         #              BUG=https://crosswalk-project.org/jira/browse/XWALK-1575
104         'input_jars_paths': ['<(PRODUCT_DIR)/lib.java/chromium_generated_java.jar'],
105       },
106       'all_dependent_settings': {
107         'variables': {
108           'input_jars_paths': ['<(jar_final_path)'],
109         },
110       },
111       'actions': [
112         {
113           'action_name': 'jars_<(_target_name)',
114           'message': 'Creating <(_target_name) jar',
115           'inputs': [
116             'build/android/merge_jars.py',
117           ],
118           'outputs': [
119             '<(PRODUCT_DIR)/pack_xwalk_core_library_java_intermediate/always_run',
120           ],
121           'action': [
122             'python', 'build/android/merge_jars.py',
123             '--classes-dir=<(classes_dir)',
124             '--jars=>(input_jars_paths)',
125             '--jar-path=<(jar_final_path)',
126           ],
127         },
128       ],
129     },
130     {
131       'target_name': 'xwalk_core_library',
132       'type': 'none',
133       'dependencies': [
134         'xwalk_core_shell_apk',
135         'xwalk_core_library_java',
136       ],
137       'actions': [
138         {
139           'action_name': 'generate_xwalk_core_library',
140           'message': 'Generating XwalkCore Library Project.',
141           'inputs': [
142             '<(DEPTH)/xwalk/build/android/common_function.py',
143             '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
144           ],
145           'outputs': [
146             '<(PRODUCT_DIR)/xwalk_core_library_intermediate/always_run',
147           ],
148           'action': [
149             'python', '<(DEPTH)/xwalk/build/android/generate_xwalk_core_library.py',
150             '-s',  '<(DEPTH)',
151             '-t', '<(PRODUCT_DIR)'
152           ],
153         },
154       ],
155     },
156   ],
157 }