##// END OF EJS Templates
automation: extract strings to constants...
automation: extract strings to constants Differential Revision: https://phab.mercurial-scm.org/D6672

File last commit:

r42260:57645939 default
r42870:8804aa6c stable
Show More
build.py
51 lines | 1.5 KiB | text/x-python | PythonLexer
Gregory Szorc
inno: script to automate building Inno installer...
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
packaging: ensure that --python is an absolute path when building on Windows...
r42260 if not os.path.isabs(args.python):
raise Exception('--python arg must be an absolute path')
Gregory Szorc
inno: script to automate building Inno installer...
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
packaging: move Inno Setup core logic into a module...
r42077 from hgpackaging.inno import build
Gregory Szorc
inno: script to automate building Inno installer...
r42019 build(source_dir, build_dir, pathlib.Path(args.python), iscc,
version=args.version)