Build tool for Godot.
| godot_build | ||
| .gitignore | ||
| LICENSE.md | ||
| README.md | ||
| setup.py | ||
godot-build
Build tool for Godot projects, this makes it easy to do CI/CD.
Features:
- Export projects: release, debug, pack
- Use global templates and system installed godot
- Use local templates and game engine
- Download the required version of templates and game engine
- Auto patch
export_presets.cfgto use required templates - Run tests (GUT support)
Return code is 0 if build/test normally. Else return code is 1.
Warning: support for operating systems other than Linux is not guaranteed and has not been tested!
Install
Required python: >= 3.6
pip install godot-build
# or
yay -S godot-build
Or download source code and run python -m godot_build.gdbuild.
Use
gdbuild -p $PATH_TO_PROJECT -i
# after edit gdbuild.json
gdbuild -p $PATH_TO_PROJECT --test all
gdbuild -p $PATH_TO_PROJECT -o $PATH_TO_BIN_OUTPUT --preset HTML5
More help:
[user@pc gdbuild]$ gdbuild --help
usage: gdbuild --preset HTML5
options:
-h, --help show this help message and exit
-p PATH, --path PATH path to godot project directory
-o OUTPUT, --output OUTPUT
path to output directory
--preset PRESET name of preset
--pack PACK export pack (*.pck or *.zip)
--debug DEBUG export debug build
--test {internal,all,command}
run test
-i, --init initialize gdbuild project
-d, --download download engine and templates
Config
gdbuild -p $PATH_TO_PROJECT -i or gdbuild -p $PATH_TO_PROJECT --init will create file gdbuild.json in given path.
Options:
engine_url: url for download engine (zip file)templates_url: url for download templatez (tpz or zip file)sha512: hashes for validate downloaded archives (by file name)templates: contains template files by preset name (will use in patchexport_presets.cfg)custom: toggle use global (false) or local (true) templates and engineglobal: global paths to templates and game engine binversion: require version of templates and game enginetest_cmd: command for run tests (default setup for GUT)timeout: limit for run build or test in secondsfail_regex: regex for parse failed tests (return code is also will check)cache_dir: path to dir for templates and engines cache storeengine_file: name of local (cached) game engine file
Details:
engine_url,templates_url,global.templates,engine_filerequire contains{version}part- templates archive is zip archive (*.tpz or *.zip), require contains
templatesdir - game engine archive is zip archive, contains bin file (not in subdirs)
test_cmdrequire{godot}and{path}parts- check
version: global may differ from local (example:3.5is local and3.5.stableis global, seeglobal.templatespath) - check repository for more details (version names and sha512 hashes)
License
GNU GPL v3