| Left: | ||
| Right: |
| LEFT | RIGHT |
|---|---|
| 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 os | 5 import os |
| 6 import shutil | 6 import shutil |
| 7 from StringIO import StringIO | 7 from StringIO import StringIO |
| 8 import subprocess | 8 import subprocess |
| 9 import tempfile | 9 import tempfile |
| 10 from xml.etree import ElementTree | 10 from xml.etree import ElementTree |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 47 | 47 |
| 48 for name, path in metadata.items('appx_assets'): | 48 for name, path in metadata.items('appx_assets'): |
| 49 path = os.path.join(base_dir, path) | 49 path = os.path.join(base_dir, path) |
| 50 icon_path = '{}/{}'.format(ASSETS_DIR, name) | 50 icon_path = '{}/{}'.format(ASSETS_DIR, name) |
| 51 | 51 |
| 52 files.read(path, icon_path) | 52 files.read(path, icon_path) |
| 53 filenames.append(icon_path) | 53 filenames.append(icon_path) |
| 54 | 54 |
| 55 assets = packagerChrome.makeIcons(files, filenames) | 55 assets = packagerChrome.makeIcons(files, filenames) |
| 56 | 56 |
| 57 overwrite = ( | 57 author = metadata.get('general', 'author') |
| 58 ('_d:Identity', [ | 58 |
| 59 overrides = [ | |
| 60 ('_d:Identity', None, [ | |
| 59 ('Name', packager.get_app_id(release_build, metadata)), | 61 ('Name', packager.get_app_id(release_build, metadata)), |
| 60 ('Publisher', metadata.get('general', 'publisher_id')), | 62 ('Publisher', metadata.get('general', 'publisher_id')), |
| 61 ]), | 63 ]), |
| 62 ('_d:Properties/_d:PublisherDisplayName', metadata.get('general', | 64 ('_d:Properties/_d:PublisherDisplayName', author, []), |
| 63 'author')), | 65 ('_d:Properties/_d:Logo', assets[50], []), |
| 64 ('_d:Properties/_d:Logo', assets[50]), | 66 ('_d:Dependencies/_d:TargetDeviceFamily', None, [ |
| 65 ('_d:Dependencies/_d:TargetDeviceFamily', [ | |
| 66 ('MaxVersionTested', v_max), | 67 ('MaxVersionTested', v_max), |
| 67 ('MinVersion', v_min), | 68 ('MinVersion', v_min), |
| 68 ]), | 69 ]), |
| 69 ('_d:Applications/_d:Application/uap:VisualElements', [ | 70 ('_d:Applications/_d:Application/uap:VisualElements', None, [ |
| 70 ('Square150x150Logo', assets[150]), | 71 ('Square150x150Logo', assets[150]), |
| 71 ('Square44x44Logo', assets[44]), | 72 ('Square44x44Logo', assets[44]), |
| 72 ]), | 73 ]), |
| 73 ) | 74 ] |
|
Sebastian Noack
2018/08/08 19:19:04
I didn't notice before that sometimes you update t
tlucas
2018/08/08 22:10:07
Done.
| |
| 74 | 75 |
| 75 tree = ElementTree.parse(manifest_path) | 76 tree = ElementTree.parse(manifest_path) |
| 76 root = tree.getroot() | 77 root = tree.getroot() |
| 77 | 78 |
| 78 for xpath, attributes in overwrite: | 79 for xpath, text, attributes in overrides: |
| 79 element = root.find(xpath, namespaces) | 80 element = root.find(xpath, namespaces) |
| 80 if isinstance(attributes, list): | 81 if text: |
| 81 for attr, value in attributes: | 82 element.text = text |
| 83 for attr, value in attributes: | |
| 82 element.set(attr, value) | 84 element.set(attr, value) |
| 83 else: | |
| 84 element.text = attributes | |
| 85 | 85 |
| 86 tree.write(manifest_path, encoding='utf-8', xml_declaration=True) | 86 tree.write(manifest_path, encoding='utf-8', xml_declaration=True) |
| 87 | 87 |
| 88 | 88 |
| 89 def createBuild(baseDir, type='edge', outFile=None, # noqa: preserve API. | 89 def createBuild(baseDir, type='edge', outFile=None, # noqa: preserve API. |
| 90 buildNum=None, releaseBuild=False, keyFile=None, | 90 buildNum=None, releaseBuild=False, keyFile=None, |
| 91 devenv=False): | 91 devenv=False): |
| 92 | 92 |
| 93 metadata = packager.readMetadata(baseDir, type) | 93 metadata = packager.readMetadata(baseDir, type) |
| 94 version = packager.getBuildVersion(baseDir, metadata, releaseBuild, | 94 version = packager.getBuildVersion(baseDir, metadata, releaseBuild, |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 177 cmd = ['npm', 'run', '--silent', 'package-edge'] | 177 cmd = ['npm', 'run', '--silent', 'package-edge'] |
| 178 | 178 |
| 179 subprocess.check_call(cmd, env=cmd_env, cwd=os.path.dirname(__file__)) | 179 subprocess.check_call(cmd, env=cmd_env, cwd=os.path.dirname(__file__)) |
| 180 | 180 |
| 181 package = os.path.join(manifold_folder, 'package', | 181 package = os.path.join(manifold_folder, 'package', |
| 182 'edgeExtension.appx') | 182 'edgeExtension.appx') |
| 183 | 183 |
| 184 shutil.copyfile(package, outfile) | 184 shutil.copyfile(package, outfile) |
| 185 finally: | 185 finally: |
| 186 shutil.rmtree(tmp_dir, ignore_errors=True) | 186 shutil.rmtree(tmp_dir, ignore_errors=True) |
| LEFT | RIGHT |