##// END OF EJS Templates
contrib: require Python 3.7 for byteify-strings.py...
contrib: require Python 3.7 for byteify-strings.py bb509f39d387 made an error, it's actually 3.7 that introduced token.COMMENT. Differential Revision: https://phab.mercurial-scm.org/D7220

File last commit:

r43346:2372284d default
r43725:09234eea stable
Show More
build.py
60 lines | 1.5 KiB | text/x-python | PythonLexer
#!/usr/bin/env python3
# build.py - Inno installer build script.
#
# Copyright 2019 Gregory Szorc <gregory.szorc@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
# This script automates the building of the Inno MSI installer for Mercurial.
# no-check-code because Python 3 native.
import argparse
import os
import pathlib
import sys
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument(
'--python', required=True, help='path to python.exe to use'
)
parser.add_argument('--iscc', help='path to iscc.exe to use')
parser.add_argument(
'--version',
help='Mercurial version string to use '
'(detected from __version__.py if not defined',
)
args = parser.parse_args()
if not os.path.isabs(args.python):
raise Exception('--python arg must be an absolute path')
if args.iscc:
iscc = pathlib.Path(args.iscc)
else:
iscc = (
pathlib.Path(os.environ['ProgramFiles(x86)'])
/ 'Inno Setup 5'
/ 'ISCC.exe'
)
here = pathlib.Path(os.path.abspath(os.path.dirname(__file__)))
source_dir = here.parent.parent.parent
build_dir = source_dir / 'build'
sys.path.insert(0, str(source_dir / 'contrib' / 'packaging'))
from hgpackaging.inno import build
build(
source_dir,
build_dir,
pathlib.Path(args.python),
iscc,
version=args.version,
)