Package: uttl.buildout
uttl.buildoutUtilities forzc.buildoutfor different build systems on Windows, as used byUp There They Lovefor developing their titles.UsageTheuttl.buildoutpackage will be automatically installed fromPyPiwhen you use it in your Buildout configuration.You can also clone the repository to disk and use the recipes directly without installing a package:[buildout]
develop = C:\Downloads\uttl-buildoutThe downside of this approach is that your configuration will be invalidated (and thus your dependencies rebuilt) when the recipes change.Example[buildout]
parts =
    visual-studio
    game

# find installation for visual studio 2017

[visual-studio]
recipe = uttl.buildout:vswhere
version = 2017

# build game executable

[game]
recipe = uttl.buildout:devenv
executable = ${visual-studio:product-path}
solution = SSSG.sln
project = SSSG
build = ReleaseRecipesThe following recipes (scripts) forzc.buildoutare available in this package:uttl.buildout.cmake- Run CMake commandsuttl.buildout.command- Run an executable with argumentsuttl.buildout.copyfile- Copy files between directoriesuttl.buildout.devenv- Build projects with Visual Studiouttl.buildout.dotnet-restore- Restore .NET packages using NuGetuttl.buildout.inklecate- Compile .ink files to JSONuttl.buildout.qmake- Run QMake commandsuttl.buildout.qtdeploy- Deploy Qt librariesuttl.buildout.versioncheck- Get versioned executablesuttl.buildout.vswhere- Get Visual Studio installation pathsCheck the source folders for detailed documentation about each recipe.Testing the package locallyCheck that you're running at least Python 3.9:D:\Projects\uttl-buildout>python --version
Python 3.9.5Build and install egg on system:python setup.py installUploading new packageCreate egg indist/folder:python setup.py bdist_eggUpload packaged egg to repository:python -m twine upload --repository pypi dist/*Changes1.3.1 - 2022-01-15VersionCheck: Fix bug where minor version was not checked correctly1.3.0 - 2021-10-04VsWhere: New recipe for retrieving Visual Studio installation paths1.2.4 - 2021-09-30CMake: Fix issue withconfigure-dirnot working if the path does not exist yet1.2.3 - 2021-09-30Added missing package initialization foruttl.buildout.dotnet.restorefolder1.2.2 - 2021-09-30Small fix to README in package1.2.1 - 2021-09-30Command: Added missingalways-installoption to documentationCommand: Addedworking-diroptionCopyFile: Renamedsource-path,destination-pathto-dir(old names treated as synonymous)CMake: Renamedsource-path,install-path,configure-path, andbuild-pathto-dir(old names treated as synonymous)CMake: Addedworking-diroptionDotnetRestore: Fixed recipe being registered with the wrong nameDotnetRestore: Renamedconfig-filetoconfig-path(old name treated as synonymous)DotnetRestore: Renamedpackages-pathtopackages-dir(old name treated as synonymous)DotnetRestore: Addedworking-diroptionDevenv: Renamedsolutiontosolution-path(old name treated as synonymous)Devenv: Addedworking-diroptionInklecate: Renamedoutput-directorytooutput-dir(old name treated as synonymous)Inklecate: Renamedinputtoinputs(old name treated as synonymous)Inklecate: Addedworking-diroptionQMake: Addedworking-diroptionQtDeploy: Addeddir,libraries-dir,plugins-dir,libraries,qml-dir,qml-import,plugins, andpatch-qtoptionsQtDeploy: Addedlib-option to explicity add or skip libariesQtDeploy: Addedworking-diroptionVersionCheck: Madebodyoption mandatory1.2.0 - 2021-09-28All: Added optional artefacts and arguments optionsCMake: Made the path to source option mandatory to prevent user errorCommand: New recipe for calling executablesCopyFile: Install files before copying them1.1.0 - 2021-09-27All: Changed all options from snake_case to kebab-caseDotnetRestore: New recipe for invoking dotnet commandsCMake: Fixed source path optionCMake: Made target option a synonym for targetsCopyFile: Copies files if they do not exist or if they were modifiedCopyFile: Added documentationDevenv: Cleaned up scriptDevenv: Added documentationQMake: Fixed files option throwing an errorQMake: Expanded documentationQMake: Fixed typos in documentation1.0.0 - 2021-09-26Initial releaseLicenseMIT No AttributionCopyright 2021 Mr. Handsmrhands31@gmail.comPermission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.