hscommon.build

This module is a collection of function to help in HS apps build process.

hscommon.build.add_to_pythonpath(path: PathLike) None

Adds path to both PYTHONPATH env and sys.path.

hscommon.build.build_debian_changelog(changelogpath: PathLike, destfile: PathLike, pkgname: str, from_version: str | None = None, distribution: str = 'precise', fix_version: str | None = None) None

Builds a debian changelog out of a YAML changelog.

Use fix_version to patch the top changelog to that version (if, for example, there was a packaging error and you need to quickly fix it)

hscommon.build.build_dmg(app_path: PathLike, destfolder: PathLike) None

Builds a DMG volume with application at app_path and puts it in dest_path.

The name of the resulting DMG volume is determined by the app’s name and version.

hscommon.build.copy_packages(packages_names: List[str], dest: PathLike, create_links: bool = False, extra_ignores: List[str] | None = None) None

Copy python packages packages_names to dest, spurious data.

Copy will happen without tests, testdata, mercurial data or C extension module source with it. py2app include and exclude rules are quite funky, and doing this is the only reliable way to make sure we don’t end up with useless stuff in our app.

hscommon.build.filereplace(filename: PathLike, outfilename: PathLike | None = None, **kwargs) None

Reads filename, replaces all {variables} in kwargs, and writes the result to outfilename.

hscommon.build.print_and_do(cmd: str) int

Prints cmd and executes it in the shell.