Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: packagerEdge.py

Issue 29368690: [buildtools] Issue 4578 - Make uap3:AppExtension.Id configurable for Microsoft Edge builds (Closed)
Left Patch Set: Test AppManifest for release and devbuilds using xml xpath expressions Created Dec. 21, 2016, 2 p.m.
Right Patch Set: Removed extension_id_devbuild option from test metadata Created Jan. 10, 2017, 8:08 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | templates/edge/AppxManifest.xml.tmpl » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 # This Source Code Form is subject to the terms of the Mozilla Public 1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this 2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 4
5 import base64 5 import base64
6 import hashlib 6 import hashlib
7 import json 7 import json
8 import mimetypes 8 import mimetypes
9 import os 9 import os
10 import zipfile 10 import zipfile
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 78
79 def create_appx_manifest(params, files, release_build=False): 79 def create_appx_manifest(params, files, release_build=False):
80 """Create AppxManifest.xml.""" 80 """Create AppxManifest.xml."""
81 params = dict(params) 81 params = dict(params)
82 metadata = params['metadata'] 82 metadata = params['metadata']
83 w = params['windows_version'] = {} 83 w = params['windows_version'] = {}
84 w['min'], w['max'] = metadata.get('compat', 'windows').split('/') 84 w['min'], w['max'] = metadata.get('compat', 'windows').split('/')
85 params.update(metadata.items('general')) 85 params.update(metadata.items('general'))
86 params['version'] = pad_version(params['version']) 86 params['version'] = pad_version(params['version'])
87 params['app_extension_id'] = '1.0' if release_build else 'EdgeExtension' 87
88 metadata_id_suffix = 'release' if release_build else 'devbuild'
89 metadata_id = 'extension_id_' + metadata_id_suffix
90 if metadata.has_option('general', metadata_id):
91 params['app_extension_id'] = metadata.get('general', metadata_id)
92 else:
93 params['app_extension_id'] = 'EdgeExtension'
88 94
89 translation = load_translation(files, defaultLocale) 95 translation = load_translation(files, defaultLocale)
90 name_key = 'name' if release_build else 'name_devbuild' 96 name_key = 'name' if release_build else 'name_devbuild'
91 params['display_name'] = translation[name_key]['message'] 97 params['display_name'] = translation[name_key]['message']
92 params['description'] = translation['description']['message'] 98 params['description'] = translation['description']['message']
93 99
94 for size in ['44', '50', '150']: 100 for size in ['44', '50', '150']:
95 path = '{}/logo_{}.png'.format(ASSETS_DIR, size) 101 path = '{}/logo_{}.png'.format(ASSETS_DIR, size)
96 if path not in files: 102 if path not in files:
97 raise KeyError(path + ' is not found in files') 103 raise KeyError(path + ' is not found in files')
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 packagerChrome.convertJS(params, files) 171 packagerChrome.convertJS(params, files)
166 172
167 if metadata.has_section('preprocess'): 173 if metadata.has_section('preprocess'):
168 files.preprocess(metadata.options('preprocess'), {'needsExt': True}) 174 files.preprocess(metadata.options('preprocess'), {'needsExt': True})
169 175
170 if metadata.has_section('import_locales'): 176 if metadata.has_section('import_locales'):
171 packagerChrome.importGeckoLocales(params, files) 177 packagerChrome.importGeckoLocales(params, files)
172 178
173 files['manifest.json'] = packagerChrome.createManifest(params, files) 179 files['manifest.json'] = packagerChrome.createManifest(params, files)
174 180
181 if metadata.has_option('general', 'backgroundScripts'):
182 bg_scripts = metadata.get('general', 'backgroundScripts').split()
183 if 'lib/info.js' in bg_scripts and 'lib/info.js' not in files:
184 files['lib/info.js'] = packagerChrome.createInfoModule(params)
185
175 move_files_to_extension(files) 186 move_files_to_extension(files)
176 187
177 if metadata.has_section('appx_assets'): 188 if metadata.has_section('appx_assets'):
178 for name, path in metadata.items('appx_assets'): 189 for name, path in metadata.items('appx_assets'):
179 path = os.path.join(baseDir, path) 190 path = os.path.join(baseDir, path)
180 files.read(path, '{}/{}'.format(ASSETS_DIR, name)) 191 files.read(path, '{}/{}'.format(ASSETS_DIR, name))
181 192
182 files[MANIFEST] = create_appx_manifest(params, files, releaseBuild) 193 files[MANIFEST] = create_appx_manifest(params, files, releaseBuild)
183 files[BLOCKMAP] = create_appx_blockmap(files) 194 files[BLOCKMAP] = create_appx_blockmap(files)
184 files[CONTENT_TYPES] = create_content_types_map(files.keys() + [BLOCKMAP]) 195 files[CONTENT_TYPES] = create_content_types_map(files.keys() + [BLOCKMAP])
185 196
186 files.zip(outfile, compression=zipfile.ZIP_STORED) 197 files.zip(outfile, compression=zipfile.ZIP_STORED)
LEFTRIGHT

Powered by Google App Engine
This is Rietveld