D11093: packaging: add command line flag to add extra vars to pyoxidizer
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Wed Jul 14 19:26:35 UTC 2021
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
More information about the Mercurial-devel
mailing list