Skip to main content

Utilities for Buildout developed for Up There They Love.

Project description

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:

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

uttl.buildout-1.2.0-py3.9.egg (37.8 kB view details)

Uploaded Egg

File details

Details for the file uttl.buildout-1.2.0-py3.9.egg.

File metadata

  • Download URL: uttl.buildout-1.2.0-py3.9.egg
  • Upload date:
  • Size: 37.8 kB
  • Tags: Egg
  • Uploaded using 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

File hashes

Hashes for uttl.buildout-1.2.0-py3.9.egg
Algorithm Hash digest
SHA256 6b235ca06264aca04caf6d73d8c78f3551b180da5d7d4b0508f1ddfdc3060cc8
MD5 9c136b906e897fbdcf169b3714751c63
BLAKE2b-256 257f165a0c5cf78a72983d9b375639b29a69c83e8b0bf8ebd5b0e13d4ba46e18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page