Roll src/third_party/WebKit b41a10f:afd8afd (svn 202201:202202)
[chromium-blink-merge.git] / remoting / app_remoting_webapp_build.gypi
blob01886d04283cd8e82da8fb1f64f1a47c26130622
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   # GN version: See remoting/webapp/build_template.gni
15   'target_defaults': {
16     'type': 'none',
18     'dependencies': [
19       # TODO(wez): Create proper resources for shared-stub and app-specific
20       # stubs.
21       '<(DEPTH)/remoting/remoting.gyp:remoting_resources',
22     ],
24     'locale_files': [
25       '<@(remoting_webapp_locale_files)',
26     ],
28     'includes': [
29       '../chrome/js_unittest_vars.gypi',
30     ],
32     'variables': {
33       'ar_app_manifest_app':
34         '>(ar_app_path)/manifest.json.jinja2',
35       'ar_app_manifest_common':
36         'webapp/app_remoting/manifest_common.json.jinja2',
37       'ar_app_specific_files': [
38         '>(ar_app_path)/icon16.png',
39         '>(ar_app_path)/icon48.png',
40         '>(ar_app_path)/icon128.png',
41         '>(ar_app_path)/loading_splash.png',
42       ],
43       'ar_webapp_files': [
44         '<@(ar_app_specific_files)',
45         '<@(ar_vendor_js_files)',
46         '<@(ar_vendor_html_files)',
47       ],
48       'output_dir': '<(PRODUCT_DIR)/app_streaming/<@(ar_service_environment)/>(_target_name)',
49       'zip_path': '<(PRODUCT_DIR)/app_streaming/<@(ar_service_environment)/>(_target_name).zip',
50       'remoting_app_id': [],
51       'remoting_app_name': '>(_app_name)',
52       'remoting_app_description': '>(_app_description)',
54       'ar_webapp_locales_listfile': '<(SHARED_INTERMEDIATE_DIR)/>(_target_name)_locales.txt',
56       'conditions': [
57         ['ar_internal != 1', {
58           'ar_app_name': 'sample_app',
59           'ar_app_path': 'webapp/app_remoting/apps/>(ar_app_name)',
60         }, {
61           # This takes target names of the form 'ar_vvv_xxx_xxx' and extracts
62           # the vendor ('vvv') and the app name ('xxx_xxx').
63           'ar_app_vendor': '>!(python -c "import sys; print sys.argv[1].split(\'_\')[1]" >(_target_name))',
64           'ar_app_name': '>!(python -c "import sys; print \'_\'.join(sys.argv[1].split(\'_\')[2:])" >(_target_name))',
65           'ar_app_path': 'webapp/app_remoting/internal/apps/>(ar_app_vendor)/>(ar_app_name)',
66         }],
67       ],  # conditions
69     },  # variables
71     'actions': [
72       {
73         'action_name': 'Build ">(ar_app_name)" locales listfile',
74         'inputs': [
75           '<(remoting_localize_path)',
76         ],
77         'outputs': [
78           '<(ar_webapp_locales_listfile)',
79         ],
80         'action': [
81           'python', '<(remoting_localize_path)',
82           '--locale_output',
83           '"<(webapp_locale_dir)/@{json_suffix}/messages.json"',
84           '--locales_listfile',
85           '<(ar_webapp_locales_listfile)',
86           '<@(remoting_locales)',
87         ],
88       },
89       {
90         'action_name': 'Build ">(ar_app_name)" application stub',
91         'inputs': [
92           '<(DEPTH)/remoting/webapp/build-webapp.py',
93           '<(chrome_version_path)',
94           '<(remoting_version_path)',
95           '<@(ar_webapp_files)',
96           '<@(remoting_webapp_locale_files)',
97           '<(ar_app_manifest_app)',
98           '<(DEPTH)/remoting/<(ar_app_manifest_common)',
99           '<(ar_webapp_locales_listfile)',
100         ],
101         'outputs': [
102           '<(output_dir)',
103           '<(zip_path)',
104         ],
105         'action': [
106           'python', '<(DEPTH)/remoting/webapp/build-webapp.py',
107           '<(buildtype)',
108           '<(version_full)',
109           '<(output_dir)',
110           '<(zip_path)',
111           '<(ar_app_manifest_app)', # Manifest template
112           'app_remoting',  # Web app type
113           '<@(ar_webapp_files)',
114           '--locales_listfile',
115           '<(ar_webapp_locales_listfile)',
116           '--jinja_paths',
117           '<(DEPTH)/remoting/webapp/app_remoting',
118           '<@(remoting_app_id)',
119           '--app_name',
120           '<(remoting_app_name)',
121           '--app_description',
122           '<(remoting_app_description)',
123           '--app_capabilities',
124           '>@(_app_capabilities)',
125           '--service_environment',
126           '<@(ar_service_environment)',
127           '--manifest_key',
128           '>@(_manifest_key)',
129           '--app_client_id',
130           '>@(_app_client_id)',
131         ],
132       },
133     ],  # actions
134     'conditions': [
135       ['buildtype == "Dev"', {
136         # Normally, the app-id for the orchestrator is automatically extracted
137         # from the webapp's extension id, but that approach doesn't work for
138         # dev webapp builds (since they all share the same dev extension id).
139         # The --appid arg will create a webapp that registers the given app-id
140         # rather than using the extension id.
141         # This is only done for Dev apps because the app-id for Release apps
142         # *must* match the extension id.
143         'variables': {
144           'remoting_app_id': ['--appid', '>(_app_id)'],
145         },
146       }],
147     ],  # conditions
148   },  # target_defaults