[Bluetooth, Performance] Cache the Bluetooth adapter name on Mac.
[chromium-blink-merge.git] / remoting / app_remoting_webapp_build.gypi
blob9f7572cb4162b0edec2ee70793210424a7351633
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   'includes': [
7     'remoting_version.gypi',
8     'remoting_locales.gypi',
9     'remoting_options.gypi',
10     'remoting_webapp_files.gypi',
11     'app_remoting_webapp_files.gypi',
12   ],
14   'target_defaults': {
15     'type': 'none',
17     'dependencies': [
18       # TODO(wez): Create proper resources for shared-stub and app-specific
19       # stubs.
20       '<(DEPTH)/remoting/remoting.gyp:remoting_resources',
21     ],
23     'locale_files': [
24       '<@(remoting_webapp_locale_files)',
25     ],
27     'includes': [
28       '../chrome/js_unittest_vars.gypi',
29     ],
31     'variables': {
32       'ar_app_manifest_app':
33         '>(ar_app_path)/manifest.json.jinja2',
34       'ar_app_manifest_common':
35         'webapp/app_remoting/manifest_common.json.jinja2',
36       'ar_app_specific_files': [
37         '>(ar_app_path)/icon16.png',
38         '>(ar_app_path)/icon48.png',
39         '>(ar_app_path)/icon128.png',
40         '>(ar_app_path)/loading_splash.png',
41       ],
42       'ar_generated_html_files': [
43         '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/loading_window.html',
44         '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/main.html',
45         '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/message_window.html',
46         '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/wcs_sandbox.html',
47         '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/feedback_consent.html',
48       ],
49       'ar_webapp_files': [
50         '<@(ar_app_specific_files)',
51         '<@(ar_shared_resource_files)',
52         '<@(ar_all_js_files)',
53         '<@(ar_generated_html_files)',
54       ],
55       'output_dir': '<(PRODUCT_DIR)/app_streaming/<@(ar_service_environment)/>(_target_name)',
56       'zip_path': '<(PRODUCT_DIR)/app_streaming/<@(ar_service_environment)/>(_target_name).zip',
57       'remoting_app_id': [],
58       'remoting_app_name': '>(_app_name)',
59       'remoting_app_description': '>(_app_description)',
61       'ar_webapp_locales_listfile': '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)_locales.txt',
63       'conditions': [
64         ['ar_internal != 1', {
65           'ar_app_name': 'sample_app',
66           'ar_app_path': 'webapp/app_remoting/apps/>(ar_app_name)',
67         }, {
68           # This takes target names of the form 'ar_vvv_xxx_xxx' and extracts
69           # the vendor ('vvv') and the app name ('xxx_xxx').
70           'ar_app_vendor': '>!(python -c "import sys; print sys.argv[1].split(\'_\')[1]" >(_target_name))',
71           'ar_app_name': '>!(python -c "import sys; print \'_\'.join(sys.argv[1].split(\'_\')[2:])" >(_target_name))',
72           'ar_app_path': 'webapp/app_remoting/internal/apps/>(ar_app_vendor)/>(ar_app_name)',
73         }],
74       ],  # conditions
76     },  # variables
78     'actions': [
79       {
80         'action_name': 'Build ">(ar_app_name)" locales listfile',
81         'inputs': [
82           '<(remoting_localize_path)',
83         ],
84         'outputs': [
85           '<(ar_webapp_locales_listfile)',
86         ],
87         'action': [
88           'python', '<(remoting_localize_path)',
89           '--locale_output',
90           '"<(webapp_locale_dir)/@{json_suffix}/messages.json"',
91           '--locales_listfile',
92           '<(ar_webapp_locales_listfile)',
93           '<@(remoting_locales)',
94         ],
95       },
96       {
97         'action_name': 'Build ">(ar_app_name)" application stub',
98         'inputs': [
99           '<(DEPTH)/remoting/webapp/build-webapp.py',
100           '<(chrome_version_path)',
101           '<(remoting_version_path)',
102           '<@(ar_webapp_files)',
103           '<@(remoting_webapp_locale_files)',
104           '<@(ar_generated_html_files)',
105           '<(ar_app_manifest_app)',
106           '<(DEPTH)/remoting/<(ar_app_manifest_common)',
107           '<(ar_webapp_locales_listfile)',
108         ],
109         'outputs': [
110           '<(output_dir)',
111           '<(zip_path)',
112         ],
113         'action': [
114           'python', '<(DEPTH)/remoting/webapp/build-webapp.py',
115           '<(buildtype)',
116           '<(version_full)',
117           '<(output_dir)',
118           '<(zip_path)',
119           '<(ar_app_manifest_app)', # Manifest template
120           'app_remoting',  # Web app type
121           '<@(ar_webapp_files)',
122           '<@(ar_generated_html_files)',
123           '--locales_listfile',
124           '<(ar_webapp_locales_listfile)',
125           '--jinja_paths',
126           '<(DEPTH)/remoting/webapp/app_remoting',
127           '<@(remoting_app_id)',
128           '--app_name',
129           '<(remoting_app_name)',
130           '--app_description',
131           '<(remoting_app_description)',
132           '--app_capabilities',
133           '>@(_app_capabilities)',
134           '--service_environment',
135           '<@(ar_service_environment)',
136           '--manifest_key',
137           '>@(_manifest_key)',
138           '--app_client_id',
139           '>@(_app_client_id)',
140         ],
141       },
142       {
143         'action_name': 'Build ">(ar_app_name)" main.html',
144         'inputs': [
145           '<(DEPTH)/remoting/webapp/build-html.py',
146           '<(ar_main_template)',
147           '<@(ar_main_template_files)',
148         ],
149         'outputs': [
150           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/main.html',
151         ],
152         'action': [
153           'python', '<(DEPTH)/remoting/webapp/build-html.py',
154           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/main.html',
155           '<(ar_main_template)',
156           '--template-dir',
157           '<(DEPTH)/remoting',
158           '--templates',
159           '<@(ar_main_template_files)',
160           '--js',
161           '<@(ar_main_js_files)',
162         ],
163       },
164       {
165         'action_name': 'Build ">(ar_app_name)" wcs_sandbox.html',
166         'inputs': [
167           '<(DEPTH)/remoting/webapp/build-html.py',
168           '<(remoting_webapp_template_wcs_sandbox)',
169         ],
170         'outputs': [
171           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/wcs_sandbox.html',
172         ],
173         'action': [
174           'python', '<(DEPTH)/remoting/webapp/build-html.py',
175           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/wcs_sandbox.html',
176           '<(remoting_webapp_template_wcs_sandbox)',
177           '--js',
178           '<@(remoting_webapp_wcs_sandbox_html_all_js_files)',
179         ],
180       },
181       {
182         'action_name': 'Build ">(ar_app_name)" loading_window.html',
183         'inputs': [
184           '<(DEPTH)/remoting/webapp/build-html.py',
185           '<(ar_loading_window_template)',
186         ],
187         'outputs': [
188           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/loading_window.html',
189         ],
190         'action': [
191           'python', '<(DEPTH)/remoting/webapp/build-html.py',
192           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/loading_window.html',
193           '<(ar_loading_window_template)',
194           # The loading window is just a reskin of the message window--all
195           # JS code is shared.
196           '--js', '<@(remoting_webapp_message_window_html_all_js_files)',
197         ],
198       },
199       {
200         'action_name': 'Build ">(ar_app_name)" message_window.html',
201         'inputs': [
202           '<(DEPTH)/remoting/webapp/build-html.py',
203           '<(remoting_webapp_template_message_window)',
204         ],
205         'outputs': [
206           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/message_window.html',
207         ],
208         'action': [
209           'python', '<(DEPTH)/remoting/webapp/build-html.py',
210           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/message_window.html',
211           '<(remoting_webapp_template_message_window)',
212           '--js', '<@(remoting_webapp_message_window_html_all_js_files)',
213         ],
214       },
215       {
216         'action_name': 'Build ">(ar_app_name)" feedback_consent.html',
217         'inputs': [
218           '<(DEPTH)/remoting/webapp/build-html.py',
219           '<(ar_feedback_consent_template)',
220         ],
221         'outputs': [
222           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/feedback_consent.html',
223         ],
224         'action': [
225           'python', '<(DEPTH)/remoting/webapp/build-html.py',
226           '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)/feedback_consent.html',
227           '<(ar_feedback_consent_template)',
228           '--template-dir',
229           '<(DEPTH)/remoting',
230           '--js',
231           '<@(ar_feedback_consent_html_all_js_files)',
232         ],
233       },
234     ],  # actions
235     'conditions': [
236       ['buildtype == "Dev"', {
237         # Normally, the app-id for the orchestrator is automatically extracted
238         # from the webapp's extension id, but that approach doesn't work for
239         # dev webapp builds (since they all share the same dev extension id).
240         # The --appid arg will create a webapp that registers the given app-id
241         # rather than using the extension id.
242         # This is only done for Dev apps because the app-id for Release apps
243         # *must* match the extension id.
244         'variables': {
245           'remoting_app_id': ['--appid', '>(_app_id)'],
246         },
247       }],
248     ],  # conditions
249   },  # target_defaults