build.py
51 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
Gregory Szorc
|
r42019 | #!/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() | ||||
Matt Harbison
|
r42260 | if not os.path.isabs(args.python): | ||
raise Exception('--python arg must be an absolute path') | ||||
Gregory Szorc
|
r42019 | 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')) | ||||
Gregory Szorc
|
r42077 | from hgpackaging.inno import build | ||
Gregory Szorc
|
r42019 | build(source_dir, build_dir, pathlib.Path(args.python), iscc, | ||
version=args.version) | ||||