sortIndex | sidebar |
---|---|
1 |
ue4guide |
CLI is like git. It takes the form of [scriptname.py] options <group> options <subcommand>
ex: bcr -c debug -r iterate build bbr
TLDR:
After you run through [Setup] section, for a full proof Clean, Rebuild, & Cook:
bcr -c debug -r clean script fullbuild
bcr -c debug -r iterate script fullbuild
bcr -c debug -r iterate -t standalone cook bybook --maps=0-Lobby+U-Master-Goldfingers
bcr -c debug -r iterate -t server cook bybook --maps=0-Lobby+U-Master-Goldfingers
- Installation: these libs on your machine from an admin console:
Python is packaged in ThirdParty folder
ftype Python.File="E:\GameDev\knl\src\Bebylon\ThirdParty\Python3\python.exe" "%1" %*
assoc .py=Python.File
Add PATHEXT system variable and append ".PY" extension to the list.
refreshenv
Optional: I have explorer set so that running launching a python script will automatically open it through the terminal.
Here are details how you can use assoc .py & ftype Python.File to set it up
https://stackoverflow.com/questions/1934675/how-to-execute-python-scripts-in-windows
After setting assoc and ftype via cmd verify it by launching regedit and checking this key Computer\HKEY_CLASSES_ROOT\Python.File\shell\open\command it should read : "<path to Bebylon>\ThirdParty\Python3\python.exe" "%1" %* with <path to Bebylon> replaced with the correct path for your drive.
- Configure Machine: Go to Bebylon\Devops\BuildAutomation\BuildAutomation\ in a terminal and execute:
setupmachine config_envars
setupmachine switch_engver
Just pass --help at the end of any command/subcommand string
bcr --help
bcr build --help
bcr build bbr -help
3 main targets to build.
-
tools (usually not necessary)
-
engine aka plain UE4Editor (this is actually what's used for cooking & building Game/Server/Client, not BBREditor. This is only needed to build if you make code changes in the base engine)
-
bbr (bebylon specific targets: BBR (standalone game), BBREditor (editor), BBRServer (server), BBRClient(client))
You can pass a configuration: debug, debuggame, development, test, shipping to build the corresponding variant
You can also choose the rebuild method: iterate (incremental), rebuild (clean+rebuild), clean (just deletes the files)\
The 'rebuild' option is still flakey because UAT sometimes deletes downstream dependencies but doesn't rebuild them. If you want to do a rebuild, do the command with -r clean and then again with -r iterate
bcr -c debug -r iterate -t server build tools
bcr -c debug -r iterate -t editor build engine
bcr -c debug -r iterate -t editor build bbr
bcr -c debug -r iterate -t standalone build bbr
bcr -c debug -r iterate -t server build bbr
bcr -c debug -r clean script fullbuild
bcr -c debug -r iterate script fullbuild
Here's the command for cooking
bcr -c debug -r iterate -t standalone cook bybook --maps=0-Lobby+U-Master-Goldfingers
When using tuple arguments in click, you must provide a default value for the option; otherwise, you will get an error if you do not specify the argument on the command line. It will not choose to pass None or a tuple of None.