| Index: remoting/webapp/build-webapp.py
|
| diff --git a/remoting/webapp/build-webapp.py b/remoting/webapp/build-webapp.py
|
| index 833e1f3ead52e6bde15223ae3576f37e9a90e5d0..9868b6c142ff99b04df5fb8c5f1c8ca2d3dbf09c 100755
|
| --- a/remoting/webapp/build-webapp.py
|
| +++ b/remoting/webapp/build-webapp.py
|
| @@ -75,10 +75,9 @@ def processJinjaTemplate(input_file, include_paths, output_file, context):
|
| rendered = template.render(context)
|
| io.open(output_file, 'w', encoding='utf-8').write(rendered)
|
|
|
| -
|
| def buildWebApp(buildtype, version, destination, zip_path,
|
| manifest_template, webapp_type, app_id, app_name,
|
| - app_description, files, locales, jinja_paths,
|
| + app_description, app_capabilities, files, locales, jinja_paths,
|
| service_environment):
|
| """Does the main work of building the webapp directory and zipfile.
|
|
|
| @@ -95,6 +94,8 @@ def buildWebApp(buildtype, version, destination, zip_path,
|
| test API server.
|
| app_name: A string with the name of the application.
|
| app_description: A string with the description of the application.
|
| + app_capabilities: A set of strings naming the capabilities that should be
|
| + enabled for this application.
|
| files: An array of strings listing the paths for resources to include
|
| in this webapp.
|
| locales: An array of strings listing locales, which are copied, along
|
| @@ -316,6 +317,12 @@ def buildWebApp(buildtype, version, destination, zip_path,
|
| replaceString(destination, 'API_CLIENT_ID', apiClientId)
|
| replaceString(destination, 'API_CLIENT_SECRET', apiClientSecret)
|
|
|
| + # Write the application capabilities.
|
| + appCapabilities = ','.join(
|
| + ['remoting.ClientSession.Capability.' + x for x in app_capabilities])
|
| + findAndReplace(os.path.join(destination, 'app_capabilities.js'),
|
| + "'APPLICATION_CAPABILITIES'", appCapabilities)
|
| +
|
| # Use a consistent extension id for dev builds.
|
| # AppRemoting builds always use the dev app id - the correct app id gets
|
| # written into the manifest later.
|
| @@ -342,7 +349,11 @@ def buildWebApp(buildtype, version, destination, zip_path,
|
| 'GOOGLE_API_HOSTS': googleApiHosts,
|
| 'APP_NAME': app_name,
|
| 'APP_DESCRIPTION': app_description,
|
| + 'OAUTH_GDRIVE_SCOPE': '',
|
| }
|
| + if 'GOOGLE_DRIVE' in app_capabilities:
|
| + context['OAUTH_GDRIVE_SCOPE'] = ('https://docs.google.com/feeds/ '
|
| + 'https://www.googleapis.com/auth/drive')
|
| processJinjaTemplate(manifest_template,
|
| jinja_paths,
|
| os.path.join(destination, 'manifest.json'),
|
| @@ -361,6 +372,7 @@ def main():
|
| '<webapp_type> <other files...> '
|
| '--app_name <name> '
|
| '--app_description <description> '
|
| + '--app_capabilities <capabilities...> '
|
| '[--appid <appid>] '
|
| '[--locales <locales...>] '
|
| '[--jinja_paths <paths...>] '
|
| @@ -374,6 +386,7 @@ def main():
|
| app_id = None
|
| app_name = None
|
| app_description = None
|
| + app_capabilities = set([])
|
| service_environment = ''
|
|
|
| for arg in sys.argv[7:]:
|
| @@ -382,6 +395,7 @@ def main():
|
| '--appid',
|
| '--app_name',
|
| '--app_description',
|
| + '--app_capabilities',
|
| '--service_environment']:
|
| arg_type = arg
|
| elif arg_type == '--locales':
|
| @@ -397,6 +411,8 @@ def main():
|
| elif arg_type == '--app_description':
|
| app_description = arg
|
| arg_type = ''
|
| + elif arg_type == '--app_capabilities':
|
| + app_capabilities.add(arg)
|
| elif arg_type == '--service_environment':
|
| service_environment = arg
|
| arg_type = ''
|
| @@ -405,8 +421,8 @@ def main():
|
|
|
| return buildWebApp(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4],
|
| sys.argv[5], sys.argv[6], app_id, app_name,
|
| - app_description, files, locales, jinja_paths,
|
| - service_environment)
|
| + app_description, app_capabilities, files, locales,
|
| + jinja_paths, service_environment)
|
|
|
|
|
| if __name__ == '__main__':
|
|
|