durin42 created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches.
REVISION SUMMARY This felt simpler than the previous incarnation of injecting content into the WiX build. I decided the easiest way to pass an arbitrary map into the process was some json - I may regret this, but time will tell on that. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11093 AFFECTED FILES contrib/packaging/hgpackaging/cli.py contrib/packaging/hgpackaging/wix.py CHANGE DETAILS diff --git a/contrib/packaging/hgpackaging/wix.py b/contrib/packaging/hgpackaging/wix.py --- a/contrib/packaging/hgpackaging/wix.py +++ b/contrib/packaging/hgpackaging/wix.py @@ -8,6 +8,7 @@ # no-check-code because Python 3 native. import collections +import json import os import pathlib import re @@ -386,6 +387,7 @@ extra_wxs: typing.Optional[typing.Dict[str, str]] = None, extra_features: typing.Optional[typing.List[str]] = None, signing_info: typing.Optional[typing.Dict[str, str]] = None, + extra_pyoxidizer_vars=None, ): """Build a WiX MSI installer using PyOxidizer.""" hg_build_dir = source_dir / "build" @@ -418,6 +420,9 @@ if signing_info["timestamp_url"]: build_vars["TIME_STAMP_SERVER_URL"] = signing_info["timestamp_url"] + if extra_pyoxidizer_vars: + build_vars.update(json.loads(extra_pyoxidizer_vars)) + if extra_wxs: raise Exception( "support for extra .wxs files has been temporarily dropped" diff --git a/contrib/packaging/hgpackaging/cli.py b/contrib/packaging/hgpackaging/cli.py --- a/contrib/packaging/hgpackaging/cli.py +++ b/contrib/packaging/hgpackaging/cli.py @@ -64,6 +64,7 @@ extra_packages_script=None, extra_wxs=None, extra_features=None, + extra_pyoxidizer_vars=None, ): if not pyoxidizer_target and not python: raise Exception("--python required unless building with PyOxidizer") @@ -105,7 +106,7 @@ "timestamp_url": sign_timestamp_url, } - fn(**kwargs) + fn(**kwargs, extra_pyoxidizer_vars=extra_pyoxidizer_vars) def get_parser(): @@ -168,6 +169,12 @@ "in the installer from the extra wxs files" ), ) + + sp.add_argument( + "--extra-pyoxidizer-vars", + help="json map of extra variables to pass to pyoxidizer", + ) + sp.set_defaults(func=build_wix) return parser To: durin42, #hg-reviewers Cc: mercurial-patches, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel