Reland of ll WebRTC 9687:9699, Libjingle 9690:9699 (patchset #1 id:1 of https://coder...
[chromium-blink-merge.git] / remoting / remoting_android.gypi
blobc05119d9698b4f7b9bec5b9e662d3d94c0adc7c6
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           },
18           'includes': [ '../build/jni_generator.gypi' ],
19         },  # end of target 'remoting_jni_headers'
20         {
21           'target_name': 'remoting_client_jni',
22           'type': 'shared_library',
23           'dependencies': [
24             'remoting_base',
25             'remoting_client',
26             'remoting_jni_headers',
27             'remoting_protocol',
28             '../google_apis/google_apis.gyp:google_apis',
29             '../ui/gfx/gfx.gyp:gfx',
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/raw',
49               'files': [
50                 '<(SHARED_INTERMEDIATE_DIR)/remoting/credits.html',
51                 'webapp/base/html/credits_css.css',
52                 'webapp/base/html/main.css',
53                 'webapp/base/js/credits_js.js',
54               ],
55             },
56           ],
57           'dependencies': [
58             'remoting_client_credits',
59           ],
60         },  # end of target 'remoting_android_resources'
61         {
62           'target_name': 'remoting_apk_manifest',
63           'type': 'none',
64           'sources': [
65             'android/java/AndroidManifest.xml.jinja2',
66           ],
67           'rules': [{
68             'rule_name': 'generate_manifest',
69             'extension': 'jinja2',
70             'inputs': [
71               '<(remoting_localize_path)',
72               '<(branding_path)',
73             ],
74             'outputs': [
75               '<(SHARED_INTERMEDIATE_DIR)/remoting/android/<(RULE_INPUT_ROOT)',
76             ],
77             'action': [
78               'python', '<(remoting_localize_path)',
79               '--variables', '<(branding_path)',
80               '--template', '<(RULE_INPUT_PATH)',
81               '--locale_output', '<@(_outputs)',
82               '--define', 'ENABLE_CARDBOARD=<(enable_cardboard)',
83               'en',
84             ],
85           }],
86         },  # end of target 'remoting_apk_manifest'
87         {
88           'target_name': 'remoting_android_client_java',
89           'type': 'none',
90           'variables': {
91             'java_in_dir': 'android/java',
92             'has_java_resources': 1,
93             'R_package': 'org.chromium.chromoting',
94             'R_package_relpath': 'org/chromium/chromoting',
95             'res_extra_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ],
96             'res_extra_files': [
97               '<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(SHARED_INTERMEDIATE_DIR)" resources/remoting_strings.grd)',
98             ],
99           },
100           'dependencies': [
101             'remoting_android_resources',
102             '../base/base.gyp:base_java',
103             '../ui/android/ui_android.gyp:ui_java',
104             '../third_party/android_tools/android_tools.gyp:android_support_v7_appcompat_javalib',
105             '../third_party/android_tools/android_tools.gyp:android_support_v7_mediarouter_javalib',
106             '../third_party/android_tools/android_tools.gyp:android_support_v13_javalib',
107             '../third_party/android_tools/android_tools.gyp:google_play_services_javalib',
108             '../third_party/cardboard-java/cardboard.gyp:cardboard_jar',
109           ],
110           'includes': [ '../build/java.gypi' ],
111           'conditions' : [
112             ['enable_cast==1', {
113               'variables': {
114                 'additional_src_dirs': [
115                   'android/cast',
116                 ],
117               },
118             }],
119           ],
120         },
121         {
122           'target_name': 'remoting_apk',
123           'type': 'none',
124           'dependencies': [
125             'remoting_apk_manifest',
126             'remoting_client_jni',
127             'remoting_android_client_java',
128           ],
129           'variables': {
130             'apk_name': '<!(python <(version_py_path) -f <(branding_path) -t "@APK_FILE_NAME@")',
131             'android_app_version_name': '<(version_full)',
132             'android_app_version_code': '<!(python tools/android_version.py <(android_app_version_name))',
133             'android_manifest_path': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/AndroidManifest.xml',
134             'java_in_dir': 'android/apk',
135             'native_lib_target': 'libremoting_client_jni',
136           },
137           'includes': [ '../build/java_apk.gypi' ],
138         },  # end of target 'remoting_apk'
139         {
140           'target_name': 'remoting_test_apk',
141           'type': 'none',
142           'dependencies': [
143             '../base/base.gyp:base_java_test_support',
144             'remoting_android_client_java',
145           ],
146           'variables': {
147             'apk_name': 'ChromotingTest',
148             'java_in_dir': 'android/javatests',
149             'is_test_apk': 1,
150           },
151           'includes': [ '../build/java_apk.gypi' ],
152         },  # end of target 'remoting_test_apk'
153       ], # end of 'targets'
154     }],  # 'OS=="android"'
156     ['OS=="android"', {
157       'targets': [
158         {
159           'target_name': 'remoting_unittests_apk',
160           'type': 'none',
161           'dependencies': [
162             'remoting_unittests',
163           ],
164           'variables': {
165             'test_suite_name': 'remoting_unittests',
166           },
167           'includes': [ '../build/apk_test.gypi' ],
168         },
169       ],
170     }],  # 'OS=="android"
171   ],  # end of 'conditions'