uttl.buildout
Utilities for zc.buildout as developed for Up There They Love.
Usage
The uttl.buildout package will be automatically installed from PyPi when you use it in your buildout configuration.
[buildout]
parts =
devenv
game
# find devenv executable from visual studio path
[devenv]
recipe = uttl.buildout:versioncheck
required-major = 2017
required-minor = 15
body = ... path = None
... args = [
... r'%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe',
... '-version',
... '%s.0' % (self.options['required-minor']),
... '-property',
... 'installationPath'
... ]
...
... try:
... with subprocess.Popen(args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as proc:
... for line in iter(proc.stdout.readline, b''):
... path = os.path.abspath(str(line.rstrip(), encoding='ascii'))
... break
... except FileNotFoundError:
... self.log.error('Visual Studio is not installed.')
... return (False, 0, 0, 0, '')
...
... if not path:
... self.log.error('Cannot find Visual Studio executable.')
... return (False, 0, 0, 0, '')
...
... path = os.path.abspath(path + r'\Common7\IDE\devenv.com')
... if not os.path.exists(path):
... self.log.error('Failed to find path to devenv.')
... return (False, 0, 0, 0, '')
...
... return (True, self.options['required-major'], self.options['required-minor'], 64, path)
# build game executable
[game]
recipe = uttl.buildout:devenv
executable = ${devenv:path}
solution = SSSG.sln
project = SSSG
build = Release
You can also clone the repository and use it directly as a package of recipes:
[buildout]
develop = C:\Downloads\uttl-buildout
Recipes
The following recipes (scripts) for zc.buildout are available in this package:
- uttl.buildout.cmake - Run CMake commands
- uttl.buildout.command - Run an executable with arguments
- uttl.buildout.copyfile - Copy files between directories
- uttl.buildout.devenv - Build projects with Visual Studio
- uttl.buildout.dotnet.restore - Restore .NET packages
- uttl.buildout.inklecate - Compile .ink files to JSON
- uttl.buildout.qmake - Run QMake commands
- uttl.buildout.qtdeploy - Deploy Qt libraries
- uttl.buildout.versioncheck - Get versioned executables
Check the source folders for detailed documentation about each recipe.
Building from source
Check that you're running at least Python 3.9:
D:\Projects\uttl-buildout>python --version
Python 3.9.5
Build and install egg on system:
python setup.py install
Create egg in dist/ folder:
python setup.py bdist_egg
Install on your system using easy_install:
python -m easy_install -a dist\uttl_buildout-1.0.0-py3.9.egg
Upload packaged egg to repository:
python -m twine upload --repository pypi dist/*
Changes
1.2.0
- All: Added optional artefacts and arguments options
- CMake: Made the path to source option mandatory to prevent user error
- Command: New recipe for calling executables
- CopyFile: Install files before copying them
1.1.0
- All: Changed all options from snake_case to kebab-case
- DotnetRestore: New recipe for invoking dotnet commands
- CMake: Fixed source path option
- CMake: Made target option a synonym for targets
- CopyFile: Copies files if they do not exist or if they were modified
- CopyFile: Added documentation
- Devenv: Cleaned up script
- Devenv: Added documentation
- QMake: Fixed files option throwing an error
- QMake: Expanded documentation
- QMake: Fixed typos in documentation
1.0.0
- Initial release
Metadata
Release files for uttl.buildout 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uttl.buildout-1.2.0-py3.9.egg | Legacy Egg format | - | - | Details |
Release files / uttl.buildout-1.2.0-py3.9.egg
| Download URL | uttl.buildout-1.2.0-py3.9.egg |
|---|---|
| Size | 37.8 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
6b235ca06264aca04caf6d73d8c78f3551b180da5d7d4b0508f1ddfdc3060cc8
|
|
BLAKE2b-256 checksum How to use checksums |
257f165a0c5cf78a72983d9b375639b29a69c83e8b0bf8ebd5b0e13d4ba46e18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
|