Package: buildbot-UnrealEngine
buildbot-UnrealEngineBuildbot Plugin to run Commands using the Unreal Automation ToolInstallationpip install buildbot_UnrealEngineThis enables the additional step commands as plugins inside buildbot (which are imported viafrom buildbot.plugins import steps)Usagefrombuildbot.pluginsimportstepsfactory=util.BuildFactory()###### Build commandsfactory.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))###### BuildCookRunfactory.addStep(steps.BuildCookRun("Engine_Location","Path_To_Project.uproject",# Additional Parameters, see below))ParametersAll commands share the following base parameters:ParameterType/OptionsDescriptionengine_pathstring (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 theEngine,FeaturePacks,SamplesandTemplatesfolders)project_pathstring (required)The absolute location to the uproject file to be used. (Usually aInterpolate("...")to build the path using the current builddir)build_platformstring (default"Windows"), Options:"Windows""Linux""Mac"The platform on which the build itself will run, used to determine which scripts to runengine_typestring (default"Rocket"), Options:"Source""Installed""Rocket"Source: Engine is built from GitHub SourceInstalled: Engine is self build from GitHub source and made a binary build via the BuildGraph toolRocket: Pre-built engine from Epic Games via EpicGamesLauncherBuild Cook Run Parametersfactory.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,add_patch_level=False,generate_remaster=False,extra_args=None,))ParameterType/OptionsDescriptionno_compile_editorboolIf true adds-NoCompileEditorto the command line. Skip compiling the editor target for game (needed for cooking), useful if already done before.compileboolIf true adds-Compileto the command line.-NoCompileif 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.cookboolIf true adds-Cookto the command line.-SkipCookif false. Enables or disables the cook step.cook_on_the_flyboolIf true adds-CookOnTheFlyto the command line.-SkipCookOnTheFlyif 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.buildboolIf true adds-Buildto the command line. Enables the build step, compiling the game for the target platform.cleanboolIf true adds-Cleanto the command line. Perform a clean buildarchiveboolIf true adds-Archiveto the command line. Archive the build after completion.archive_directorystringIf true adds-ArchiveDirectory=<TheString>to the command line. Specify the archive directory. If omitted, the path in the configuration file will be used.p4boolIf true adds-P4to the command line,-NoP4if false. Enables disabled interaction with Perforce.unversioned_cooked_contentboolIf true adds-UnversionedCookedContentto the command line. This writes no version into the cooked assets.encrypt_ini_filesboolIf true adds-EncryptIniFilesto the command line. Encrypts the packaged ini files.release_versionstringIf set adds-CreateReleaseVersion=<TheString>to the command line. This creates a releasee version of the game for later patching (see BasedOnReleaseVersion)base_versionstringIf 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.compressedboolIf true adds-Compressedto the command line. This compressed your pak files to be to use fewer disk space, but increased loading times.distributionboolIf true adds-Distributionto the command line. Creates a distribution build (used for mobile)iterateboolIf true adds-Iterateto the command line. Only cooks changed files if run on the same directory as beforerunboolIf true adds-Runto the command line. Runs the packaged game after completion.devicesstring arrayIf set adds-Device=<The+String+Array>to the command line. Specifies on which devices the game will be run upon completion.null_rhiboolIf true adds-NullRHIto the command line. Runs the packaged games with no renderer.nativizeboolIf true adds-NativizeAssetsto the command line. Runs blueprint nativization during the cook processstageboolIf true adds-Stageto the command line. Save the cooked result in a staging directorymapstring arrayIf 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.pakboolIf true adds-Pakto the command line. Use pak files for packaging, if omitted uassets file will be directly in the content directory.prereqsboolIf true adds-Prereqsto the command line. Include prerequisites in the packaged game.packageboolIf true adds-Packageto the command line. Package the game for the target platform (app file on Mac, apk on Android or ipa on iPhone)crash_reporterboolIf true adds-CrashReporterto the command line. Includes the crash reporter during packaging.dlc_namestringIf set adds -DLCName= to the command line. This will cook the specified Plugin as DLC.dlc_include_engineboolIf true adds-DLCIncludEngineContentto the command line. DLC should include Engine content.generate_patchboolIf true adds-GeneratePatchto the command line. Create a patch, requiresbase_versionto be set.add_patch_levelboolIf true adds-AddPatchLevelto the command line. Adds a patch pak level, when creating a patch.generate_remasterboolIf true adds-GenerateRemasterto the command line. PS4 specific patch option.title_idstring or list of stringsIf true adds-TitleId=<Title+Id+Separated>to the command line. PS4 specific title id command.extra_argsstring or list of stringsIf set adds the given arguments to the command line. Can be used for custom or missing command line parameters.Development Setup under WindowsDownload and installPython 2.7Install virtualenvpip install virtualenvCreate a virtualenv in.workspace\venvmkdir .workspace
cd workspace
C:\Python27\Scripts\virtualenv.exe venv
cd ..\..\
.workspace\venv\Scripts\activate.bat
pip install -r requirements.txtDownloadPyWin32(for twisted) and install it in your venveasy_install <PATH_TO_pywin32-220.win32-py2.7.exe>Clone Buildbot (in Version 0.9.1) somewhere and install it and its test setupgit clone https://github.com/buildbot/buildbot.git -b v0.9.1
cd buildbot\master
pip install -e .
python setup.py testInstall buildbot-UnrealEngine (inside your buildbot-UnrealEngine repo)pip install -e .Now you can run the tests by writingtrial buildbot_UnrealEngine.testFor code coverage install txcovreport:easy_install http://darcs.idyll.org/~t/projects/figleaf-latest.tar.gz
pip install git+https://github.com/jrydberg/txcovreport.gitNow you can run code coverage usingtrial --reporter=tree-coverage buildbot_UnrealEngine.test