Easy configuration for the Unreal Automation Tool
Project description
buildbot-UnrealEngine
Buildbot Plugin to run Commands using the Unreal Automation Tool
Installation
pip install buildbot_UnrealEngine
This enables the additional step commands as plugins inside buildbot (which are imported via from buildbot.plugins import steps
)
Usage
from buildbot.plugins import steps
factory = util.BuildFactory()
###### Build commands
factory.addStep(
steps.UEBuild(
"Engine_Location",
"Path_To_Project.uproject",
"TargetName",
# Additional Parameters, see below
)
)
factory.addStep(
steps.UERebuild(
"Engine_Location",
"Path_To_Project.uproject",
"TargetName",
# Additional Parameters, see below
)
)
factory.addStep(
steps.UEClean(
"Engine_Location",
"Path_To_Project.uproject",
"TargetName",
# Additional Parameters, see below
)
)
###### BuildCookRun
factory.addStep(
steps.BuildCookRun(
"Engine_Location",
"Path_To_Project.uproject",
# Additional Parameters, see below
)
)
Parameters
All commands share the following base parameters:
Parameter | Type/Options | Description |
---|---|---|
engine_path | string (required) | The location to the used engine, the path needs to point to the root folder of the engine (in this folder are at least the Engine , FeaturePacks , Samples and Templates folders) |
project_path | string (required) | The absolute location to the uproject file to be used. (Usually a Interpolate("...") to build the path using the current builddir) |
build_platform | string (default "Windows" ), Options: "Windows" "Linux" "Mac" |
The platform on which the build itself will run, used to determine which scripts to run |
engine_type | string (default "Rocket" ), Options: "Source" "Installed" "Rocket" |
|
Build Cook Run Parameters
factory.addStep(
steps.BuildCookRun(
engine_path,
project_path,
target_platform="Win64",
target_config="Development",
no_compile_editor=False,
compile=None,
cook=None,
cook_on_the_fly=None,
build=False,
clean=False,
archive=False,
archive_directory=None,
p4=None,
unversioned_cooked_content=False,
encrypt_ini_files=False,
release_version=None,
base_version=None,
compressed=False,
distribution=False,
iterate=False,
run=False,
devices=None,
null_rhi=False,
nativize=False,
stage=False,
map=None,
pak=False,
prereqs=False,
package=False,
crash_reporter=False,
title_id=None,
dlc_name=None,
dlc_include_engine=False,
generate_patch=False
extra_args=None,
)
)
Parameter | Type/Options | Description |
---|---|---|
no_compile_editor | bool | If true adds -NoCompileEditor to the command line. Skip compiling the editor target for game (needed for cooking), useful if already done before. |
compile | bool | If true adds -Compile to the command line. -NoCompile if false. This switch is usually required on source builds. It tells the UAT to compile itself before running any commandlets, however on Installed/Rocket builds this will result in an error as the sources for UAT are not part of those engine distributions. |
cook | bool | If true adds -Cook to the command line. -SkipCook if false. Enables or disables the cook step. |
cook_on_the_fly | bool | If true adds -CookOnTheFly to the command line. -SkipCookOnTheFly if false. Does not cook the content, but starts the cook process in servermode, where a game can connect to using the -FileHostIP=<IP> parameter to connect to this server. The server will then cook requested content on the fly. |
build | bool | If true adds -Build to the command line. Enables the build step, compiling the game for the target platform. |
clean | bool | If true adds -Clean to the command line. Perform a clean build |
archive | bool | If true adds -Archive to the command line. Archive the build after completion. |
archive_directory | string | If true adds -ArchiveDirectory=<TheString> to the command line. Specify the archive directory. If omitted, the path in the configuration file will be used. |
p4 | bool | If true adds -P4 to the command line, -NoP4 if false. Enables disabled interaction with Perforce. |
unversioned_cooked_content | bool | If true adds -UnversionedCookedContent to the command line. This writes no version into the cooked assets. |
encrypt_ini_files | bool | If true adds -EncryptIniFiles to the command line. Encrypts the packaged ini files. |
release_version | string | If set adds -CreateReleaseVersion=<TheString> to the command line. This creates a releasee version of the game for later patching (see BasedOnReleaseVersion) |
base_version | string | If set adds -BasedOnReleaseVersion=<TheString> to the command line. This creates a patch or dlc based on the given release version, containing only changes that differ from the release version. |
compressed | bool | If true adds -Compressed to the command line. This compressed your pak files to be to use fewer disk space, but increased loading times. |
distribution | bool | If true adds -Distribution to the command line. Creates a distribution build (used for mobile) |
iterate | bool | If true adds -Iterate to the command line. Only cooks changed files if run on the same directory as before |
run | bool | If true adds -Run to the command line. Runs the packaged game after completion. |
devices | string array | If set adds -Device=<The+String+Array> to the command line. Specifies on which devices the game will be run upon completion. |
null_rhi | bool | If true adds -NullRHI to the command line. Runs the packaged games with no renderer. |
nativize | bool | If true adds -NativizeAssets to the command line. Runs blueprint nativization during the cook process |
stage | bool | If true adds -Stage to the command line. Save the cooked result in a staging directory |
map | string array | If set adds `-Map=<The+String+Array> to the command line. Sets the map to include for the cook process. If omitted, used the one specified on the project documentation. |
pak | bool | If true adds -Pak to the command line. Use pak files for packaging, if omitted uassets file will be directly in the content directory. |
prereqs | bool | If true adds -Prereqs to the command line. Include prerequisites in the packaged game. |
package | bool | If true adds -Package to the command line. Package the game for the target platform (app file on Mac, apk on Android or ipa on iPhone) |
crash_reporter | bool | If true adds -CrashReporter to the command line. Includes the crash reporter during packaging. |
dlc_name | string | If set adds -DLCName= to the command line. This will cook the specified Plugin as DLC. |
dlc_include_engine | bool | If true adds -DLCIncludEngineContent to the command line. DLC should include Engine content. |
generate_patch | bool | If true adds -GeneratePatch to the command line. Create a patch, requires base_version to be set. |
title_id | string or list of strings | If true adds -TitleId=<Title+Id+Separated> to the command line. PS4 specific title id command. |
extra_args | string or list of strings | If set adds the given arguments to the command line. Can be used for custom or missing command line parameters. |
Development Setup under Windows
-
Download and install Python 2.7
-
Install virtualenv
pip install virtualenv
-
Create a virtualenv in
.workspace\venv
mkdir .workspace cd workspace C:\Python27\Scripts\virtualenv.exe venv cd ..\..\ .workspace\venv\Scripts\activate.bat pip install -r requirements.txt
-
Download PyWin32 (for twisted) and install it in your venv
easy_install <PATH_TO_pywin32-220.win32-py2.7.exe>
-
Clone Buildbot (in Version 0.9.1) somewhere and install it and its test setup
git clone https://github.com/buildbot/buildbot.git -b v0.9.1 cd buildbot\master pip install -e . python setup.py test
-
Install buildbot-UnrealEngine (inside your buildbot-UnrealEngine repo)
pip install -e .
-
Now you can run the tests by writing
trial buildbot_UnrealEngine.test
-
For code coverage install txcovreport:
easy_install http://darcs.idyll.org/~t/projects/figleaf-latest.tar.gz pip install git+https://github.com/jrydberg/txcovreport.git
Now you can run code coverage using
trial --reporter=tree-coverage buildbot_UnrealEngine.test
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file buildbot_UnrealEngine-1.6.0.tar.gz
.
File metadata
- Download URL: buildbot_UnrealEngine-1.6.0.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a876342c5d5d1146e1907ddc236d1e169a91a1ab9f2607c3b63d7426b3df76be |
|
MD5 | 09af57cbf1d541f3a3e99e3a6fee18b2 |
|
BLAKE2b-256 | a01f6dbe73106b28474160065a5ef7b88b90d10b384a4f00b59ae0690b2436b0 |
File details
Details for the file buildbot_UnrealEngine-1.6.0-py2.py3-none-any.whl
.
File metadata
- Download URL: buildbot_UnrealEngine-1.6.0-py2.py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d66e567b7c15591f5e46aafe97be25e4db0f35e79af5bd93080a88131f4a6477 |
|
MD5 | e1d9211eb428c452e00a3c4dc5f43662 |
|
BLAKE2b-256 | 3a91062e30630cd89c04c4b041f63929159dada521de6eca416d1579aa130179 |