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

Unified Diff: packagerEdge.py

Issue 29931555: Issue 5668 - Reintroduce buildnumber shifting for edge (Closed)
Patch Set: Created Oct. 30, 2018, 4:55 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
Index: packagerEdge.py
diff --git a/packagerEdge.py b/packagerEdge.py
index 9fd5094a83d143423db5942fb4d9b143f5cc4353..ea9af4a4d335fce85c859c8fe845274e1c5d14b2 100644
--- a/packagerEdge.py
+++ b/packagerEdge.py
@@ -37,8 +37,22 @@ def register_xml_namespaces(manifest_path):
return ns
+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, 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 = metadata.get('general', 'version').split('.')[:3]
+ components.extend(['0'] * (4 - len(components)))
+ if build_num:
+ components[2] = build_num
+ return '.'.join(components)
+
+
def update_appx_manifest(manifest_path, base_dir, files, metadata,
- release_build):
+ release_build, build_num):
namespaces = register_xml_namespaces(manifest_path)
v_min, v_max = metadata.get('compat', 'windows').split('/')
@@ -60,6 +74,7 @@ def update_appx_manifest(manifest_path, base_dir, files, metadata,
('_d:Identity', None, [
('Name', packager.get_app_id(release_build, metadata)),
('Publisher', metadata.get('general', 'publisher_id')),
+ ('Version', get_appx_version(metadata, build_num)),
]),
('_d:Properties/_d:PublisherDisplayName', author, []),
('_d:Properties/_d:Logo', assets[50], []),
@@ -170,7 +185,7 @@ def createBuild(baseDir, type='edge', outFile=None, # noqa: preserve API.
# update incomplete appxmanifest
intermediate_manifest = os.path.join(manifest_folder, MANIFEST)
update_appx_manifest(intermediate_manifest, baseDir, files, metadata,
- releaseBuild)
+ releaseBuild, buildNum)
# cleanup placeholders, copy actual images
shutil.rmtree(asset_folder)

Powered by Google App Engine
This is Rietveld