Less strict CHECK for DeviceCapabilities results.
[chromium-blink-merge.git] / remoting / remoting_android.gypi
blob371eb2ad2e7f0e7ffea8881c3ed1d9050b1fdd20
1 # Copyright 2014 The Chromium Authors. 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.
6   'conditions': [
7     ['OS=="android"', {
8       'targets': [
9         {
10           'target_name': 'remoting_jni_headers',
11           'type': 'none',
12           'sources': [
13             'android/java/src/org/chromium/chromoting/jni/JniInterface.java',
14           ],
15           'variables': {
16             'jni_gen_package': 'remoting',
17             'jni_generator_ptr_type': 'long',
18           },
19           'includes': [ '../build/jni_generator.gypi' ],
20         },  # end of target 'remoting_jni_headers'
21         {
22           'target_name': 'remoting_client_jni',
23           'type': 'shared_library',
24           'dependencies': [
25             'remoting_base',
26             'remoting_client',
27             'remoting_jni_headers',
28             'remoting_protocol',
29             '../google_apis/google_apis.gyp:google_apis',
30           ],
31           'sources': [
32             'client/jni/android_keymap.cc',
33             'client/jni/android_keymap.h',
34             'client/jni/chromoting_jni_instance.cc',
35             'client/jni/chromoting_jni_instance.h',
36             'client/jni/chromoting_jni_onload.cc',
37             'client/jni/chromoting_jni_runtime.cc',
38             'client/jni/chromoting_jni_runtime.h',
39             'client/jni/jni_frame_consumer.cc',
40             'client/jni/jni_frame_consumer.h',
41           ],
42         },  # end of target 'remoting_client_jni'
43         {
44           'target_name': 'remoting_android_resources',
45           'type': 'none',
46           'copies': [
47             {
48               'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/drawable',
49               'files': [
50                 'resources/chromoting128.png',
51                 'resources/icon_host.png',
52               ],
53             },
54             {
55               'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/layout',
56               'files': [
57                 'resources/android/layout/account_dropdown.xml',
58                 'resources/android/layout/account_selected.xml',
59                 'resources/android/layout/desktop.xml',
60                 'resources/android/layout/host.xml',
61                 'resources/android/layout/main.xml',
62                 'resources/android/layout/pin_dialog.xml',
63               ],
64             },
65             {
66               'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/menu',
67               'files': [
68                 'resources/android/menu/chromoting_actionbar.xml',
69                 'resources/android/menu/desktop_actionbar.xml',
70               ],
71             },
72             {
73               'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/values',
74               'files': [
75                 'resources/android/values/dimens.xml',
76                 'resources/android/values/strings.xml',
77                 'resources/android/values/styles.xml',
78               ],
79             },
80             {
81               'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/values-land',
82               'files': [
83                 'resources/android/values-land/dimens.xml',
84               ],
85             },
86           ],
87         },  # end of target 'remoting_android_resources'
88         {
89           'target_name': 'remoting_apk_manifest',
90           'type': 'none',
91           'sources': [
92             'android/java/AndroidManifest.xml.jinja2',
93           ],
94           'rules': [{
95             'rule_name': 'generate_manifest',
96             'extension': 'jinja2',
97             'inputs': [
98               '<(remoting_localize_path)',
99               '<(branding_path)',
100               '<(RULE_INPUT_PATH)',
101             ],
102             'outputs': [
103               '<(SHARED_INTERMEDIATE_DIR)/remoting/android/<(RULE_INPUT_ROOT)',
104             ],
105             'action': [
106               'python', '<(remoting_localize_path)',
107               '--variables', '<(branding_path)',
108               '--template', '<(RULE_INPUT_PATH)',
109               '--locale_output', '<@(_outputs)',
110               'en',
111             ],
112           }],
113         },  # end of target 'remoting_apk_manifest'
114         {
115           'target_name': 'remoting_apk',
116           'type': 'none',
117           'dependencies': [
118             'remoting_android_resources',
119             'remoting_apk_manifest',
120             'remoting_client_jni',
121           ],
122           'variables': {
123             'apk_name': '<!(python <(version_py_path) -f <(branding_path) -t "@APK_FILE_NAME@")',
124             'android_app_version_name': '<(version_full)',
125             'android_app_version_code': '<!(python tools/android_version.py <(android_app_version_name))',
126             'android_manifest_path': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/AndroidManifest.xml',
127             'native_lib_target': 'libremoting_client_jni',
128             'java_in_dir': 'android/java',
129             'R_package': 'org.chromium.chromoting',
130             'package_name': '<(_target_name)',
131             'additional_res_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ],
132             'additional_input_paths': [
133               '<(PRODUCT_DIR)/obj/remoting/remoting_android_resources.actions_rules_copies.stamp',
134               '<(PRODUCT_DIR)/obj/remoting/remoting_resources.actions_rules_copies.stamp',
135             ],
136           },
137           'includes': [ '../build/java_apk.gypi' ],
138         },  # end of target 'remoting_apk'
139         {
140           # remoting_apk creates a .jar file as a side effect. Any Java targets
141           # that need that .jar in their classpath should depend on this target.
142           'target_name': 'remoting_apk_java',
143           'type': 'none',
144           'dependencies': [
145             'remoting_apk',
146           ],
147           'includes': [ '../build/apk_fake_jar.gypi' ],
148         },  # end of target 'remoting_apk_java'
149         {
150           'target_name': 'remoting_test_apk',
151           'type': 'none',
152           'dependencies': [
153             '../base/base.gyp:base_java_test_support',
154             'remoting_apk_java',
155           ],
156           'variables': {
157             'apk_name': 'ChromotingTest',
158             'java_in_dir': 'android/javatests',
159             'is_test_apk': 1,
160           },
161           'includes': [ '../build/java_apk.gypi' ],
162         },  # end of target 'remoting_test_apk'
163       ],  # end of 'targets'
164     }],  # 'OS=="android"'
166     ['OS=="android" and gtest_target_type=="shared_library"', {
167       'targets': [
168         {
169           'target_name': 'remoting_unittests_apk',
170           'type': 'none',
171           'dependencies': [
172             'remoting_unittests',
173           ],
174           'variables': {
175             'test_suite_name': 'remoting_unittests',
176             'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)remoting_unittests<(SHARED_LIB_SUFFIX)',
177           },
178           'includes': [ '../build/apk_test.gypi' ],
179         },
180       ],
181     }],  # 'OS=="android" and gtest_target_type=="shared_library"'
182   ],  # end of 'conditions'