#!/usr/bin/env python3 # build.py - Inno installer build script. # # Copyright 2019 Gregory Szorc # # 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 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)