Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Side by Side Diff: remoting/webapp/build-webapp.py

Issue 1100763002: Inject CanAddURLToHistory into TopSitesImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@prefs
Patch Set: Fix error introduced during rebase Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/webapp/base/js/modal_dialogs.js ('k') | remoting/webapp/build_template.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Creates a directory with with the unpacked contents of the remoting webapp. 6 """Creates a directory with with the unpacked contents of the remoting webapp.
7 7
8 The directory will contain a copy-of or a link-to to all remoting webapp 8 The directory will contain a copy-of or a link-to to all remoting webapp
9 resources. This includes HTML/JS and any plugin binaries. The script also 9 resources. This includes HTML/JS and any plugin binaries. The script also
10 massages resulting files appropriately with host plugin data. Finally, 10 massages resulting files appropriately with host plugin data. Finally,
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 (template_path, template_name) = os.path.split(input_file) 102 (template_path, template_name) = os.path.split(input_file)
103 include_paths = [template_path] + include_paths 103 include_paths = [template_path] + include_paths
104 env = jinja2.Environment(loader=jinja2.FileSystemLoader(include_paths)) 104 env = jinja2.Environment(loader=jinja2.FileSystemLoader(include_paths))
105 template = env.get_template(template_name) 105 template = env.get_template(template_name)
106 rendered = template.render(context) 106 rendered = template.render(context)
107 io.open(output_file, 'w', encoding='utf-8').write(rendered) 107 io.open(output_file, 'w', encoding='utf-8').write(rendered)
108 108
109 def buildWebApp(buildtype, version, destination, zip_path, 109 def buildWebApp(buildtype, version, destination, zip_path,
110 manifest_template, webapp_type, appid, app_client_id, app_name, 110 manifest_template, webapp_type, appid, app_client_id, app_name,
111 app_description, app_capabilities, manifest_key, files, 111 app_description, app_capabilities, manifest_key, files,
112 locales_listfile, jinja_paths, service_environment, use_gcd): 112 files_listfile, locales_listfile, jinja_paths,
113 service_environment, use_gcd):
113 """Does the main work of building the webapp directory and zipfile. 114 """Does the main work of building the webapp directory and zipfile.
114 115
115 Args: 116 Args:
116 buildtype: the type of build ("Official", "Release" or "Dev"). 117 buildtype: the type of build ("Official", "Release" or "Dev").
117 destination: A string with path to directory where the webapp will be 118 destination: A string with path to directory where the webapp will be
118 written. 119 written.
119 zipfile: A string with path to the zipfile to create containing the 120 zipfile: A string with path to the zipfile to create containing the
120 contents of |destination|. 121 contents of |destination|.
121 manifest_template: jinja2 template file for manifest. 122 manifest_template: jinja2 template file for manifest.
122 webapp_type: webapp type ("v1", "v2", "v2_pnacl" or "app_remoting"). 123 webapp_type: webapp type ("v1", "v2", "v2_pnacl" or "app_remoting").
123 appid: A string with the Remoting Application Id (only used for app 124 appid: A string with the Remoting Application Id (only used for app
124 remoting webapps). If supplied, it defaults to using the 125 remoting webapps). If supplied, it defaults to using the
125 test API server. 126 test API server.
126 app_client_id: The OAuth2 client ID for the webapp. 127 app_client_id: The OAuth2 client ID for the webapp.
127 app_name: A string with the name of the application. 128 app_name: A string with the name of the application.
128 app_description: A string with the description of the application. 129 app_description: A string with the description of the application.
129 app_capabilities: A set of strings naming the capabilities that should be 130 app_capabilities: A set of strings naming the capabilities that should be
130 enabled for this application. 131 enabled for this application.
131 manifest_key: The manifest key for the webapp. 132 manifest_key: The manifest key for the webapp.
132 files: An array of strings listing the paths for resources to include 133 files: An array of strings listing the paths for resources to include
133 in this webapp. 134 in this webapp.
135 files_listfile: The name of a file containing a list of files, one per
136 line, identifying the resources to include in this webapp.
137 This is an alternate to specifying the files directly via
138 the 'files' option. The files listed in this file are
139 appended to the files passed via the 'files' option, if any.
134 locales_listfile: The name of a file containing a list of locales, one per 140 locales_listfile: The name of a file containing a list of locales, one per
135 line, which are copied, along with their directory structure, from 141 line, which are copied, along with their directory
136 the _locales directory down. 142 structure, from the _locales directory down.
137 jinja_paths: An array of paths to search for {%include} directives in 143 jinja_paths: An array of paths to search for {%include} directives in
138 addition to the directory containing the manifest template. 144 addition to the directory containing the manifest template.
139 service_environment: Used to point the webapp to one of the 145 service_environment: Used to point the webapp to one of the
140 dev/test/staging/prod/prod-testing environments 146 dev/test/staging/prod/prod-testing environments
141 use_gcd: True if GCD support should be enabled. 147 use_gcd: True if GCD support should be enabled.
142 """ 148 """
143 149
144 # Load the locales files from the locales_listfile. 150 # Load the locales files from the locales_listfile.
145 if not locales_listfile: 151 if not locales_listfile:
146 raise Exception('You must specify a locales_listfile') 152 raise Exception('You must specify a locales_listfile')
147 locales = [] 153 locales = []
148 with open(locales_listfile) as input: 154 with open(locales_listfile) as input:
149 for s in input: 155 for s in input:
150 locales.append(s.rstrip()) 156 locales.append(s.rstrip())
151 157
158 # Load the files from the files_listfile.
159 if files_listfile:
160 with open(files_listfile) as input:
161 for s in input:
162 files.append(s.rstrip())
163
152 # Ensure a fresh directory. 164 # Ensure a fresh directory.
153 try: 165 try:
154 shutil.rmtree(destination) 166 shutil.rmtree(destination)
155 except OSError: 167 except OSError:
156 if os.path.exists(destination): 168 if os.path.exists(destination):
157 raise 169 raise
158 else: 170 else:
159 pass 171 pass
160 os.mkdir(destination, 0775) 172 os.mkdir(destination, 0775)
161 173
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 parser.add_argument('manifest_template') 442 parser.add_argument('manifest_template')
431 parser.add_argument('webapp_type') 443 parser.add_argument('webapp_type')
432 parser.add_argument('files', nargs='*', metavar='file', default=[]) 444 parser.add_argument('files', nargs='*', metavar='file', default=[])
433 parser.add_argument('--app_name', metavar='NAME') 445 parser.add_argument('--app_name', metavar='NAME')
434 parser.add_argument('--app_description', metavar='TEXT') 446 parser.add_argument('--app_description', metavar='TEXT')
435 parser.add_argument('--app_capabilities', 447 parser.add_argument('--app_capabilities',
436 nargs='*', default=[], metavar='CAPABILITY') 448 nargs='*', default=[], metavar='CAPABILITY')
437 parser.add_argument('--appid') 449 parser.add_argument('--appid')
438 parser.add_argument('--app_client_id', default='') 450 parser.add_argument('--app_client_id', default='')
439 parser.add_argument('--manifest_key', default='') 451 parser.add_argument('--manifest_key', default='')
452 parser.add_argument('--files_listfile', default='', metavar='PATH')
440 parser.add_argument('--locales_listfile', default='', metavar='PATH') 453 parser.add_argument('--locales_listfile', default='', metavar='PATH')
441 parser.add_argument('--jinja_paths', nargs='*', default=[], metavar='PATH') 454 parser.add_argument('--jinja_paths', nargs='*', default=[], metavar='PATH')
442 parser.add_argument('--service_environment', default='', metavar='ENV') 455 parser.add_argument('--service_environment', default='', metavar='ENV')
443 parser.add_argument('--use_gcd', choices=['0', '1'], default='0') 456 parser.add_argument('--use_gcd', choices=['0', '1'], default='0')
444 457
445 args = parser.parse_args() 458 args = parser.parse_args()
446 args.use_gcd = (args.use_gcd != '0') 459 args.use_gcd = (args.use_gcd != '0')
447 args.app_capabilities = set(args.app_capabilities) 460 args.app_capabilities = set(args.app_capabilities)
448 return buildWebApp(**vars(args)) 461 return buildWebApp(**vars(args))
449 462
450 463
451 if __name__ == '__main__': 464 if __name__ == '__main__':
452 sys.exit(main()) 465 sys.exit(main())
OLDNEW
« no previous file with comments | « remoting/webapp/base/js/modal_dialogs.js ('k') | remoting/webapp/build_template.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698