| Index: packagerEdge.py |
| =================================================================== |
| --- a/packagerEdge.py |
| +++ b/packagerEdge.py |
| @@ -70,24 +70,27 @@ |
| return json.loads(files[path]) |
| -def fix_version(version): |
| - """Prepare a version number for usage in AppxManifest.xml. |
| +def get_appx_version(metadata, build_num): |
| + """Get the version number for usage in AppxManifest.xml. |
| - As required by the Windows Store, the returned version string has |
| - four components with the last component being zero (e.g. 12.34.56.0). |
| + As required by the Windows Store, the returned version string has four |
| + components, where the 3rd component is replaced with the build number |
| + if available, and the 4th component is always zero (e.g. 1.2.1000.0). |
| """ |
| - components = version.split('.')[:3] |
| + components = metadata.get('general', 'version').split('.')[:3] |
| components.extend(['0'] * (4 - len(components))) |
| + if build_num: |
| + components[2] = build_num |
| return '.'.join(components) |
| -def create_appx_manifest(params, files, release_build=False): |
|
Sebastian Noack
2017/09/12 23:59:00
The default argument for "release_build" was redun
|
| +def create_appx_manifest(params, files, build_num, release_build): |
| """Create AppxManifest.xml.""" |
| params = dict(params) |
| metadata = params['metadata'] |
| w = params['windows_version'] = {} |
| w['min'], w['max'] = metadata.get('compat', 'windows').split('/') |
| - params['version'] = fix_version(params['version']) |
| + params['version'] = get_appx_version(metadata, build_num) |
| metadata_suffix = 'release' if release_build else 'devbuild' |
| app_extension_id = 'extension_id_' + metadata_suffix |
| @@ -192,7 +195,8 @@ |
| path = os.path.join(baseDir, path) |
| files.read(path, '{}/{}'.format(ASSETS_DIR, name)) |
| - files[MANIFEST] = create_appx_manifest(params, files, releaseBuild) |
| + files[MANIFEST] = create_appx_manifest(params, files, |
| + buildNum, releaseBuild) |
| files[BLOCKMAP] = create_appx_blockmap(files) |
| files[CONTENT_TYPES] = create_content_types_map(files.keys() + [BLOCKMAP]) |