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

Unified Diff: packagerEdge.py

Issue 29542845: Issue 5668 - Replace 3rd component of version in AppxManifest.xml with build number (Closed)
Patch Set: Created Sept. 12, 2017, 11:56 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/test_packagerEdge.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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])
« no previous file with comments | « no previous file | tests/test_packagerEdge.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld