Build automation toolset for Unity, written in python
Just run
./batch.py {targets} {build mode}
./batch.py all
Batch job to do following boring routine work:
- Configure build targets to build several packages & platforms.
- Auto patch Unity macro & constants in source code.
- Auto patch xcode project settings, plist & resource, including patches.
- Call Unity & Xcode build in batch mode.
- Build targets into .IPA / .APK file.
- Pack streaming assets for in-game downloading.
- Upload packages and streaming assets to remote hosts for downloading.
More highlights:
- Run pre-configured shell script on local and remote host.
- Support multiple build mode: debug, daily, release.
- Auto send email notification. (smtp server required)
- Auto send QQ notification. (smartqq-bot required)
Single command "./batch.py all" to do everything.
- Mac OS (including: python, ssh)
- Unity
- Xcode
- mod-pbxproj
- email server (optional)
- smartqq-bot (optional)
You need install mod-pbxproj before run build.py
$ curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
$ sudo python get-pip.py
$ sudo pip install mod_pbxproj
Just git clone it to your UnityPorj/Assets/
$ cd /path/to/unityProj/Assets
$ git clone https://github.com/floatinghotpot/UnityBatchBuild BatchBuild
# ... configure the build settings in build_config.py ...
# start batch build
BatchBuild/Editor/batch.py all
More options:
Syntax: batch.py <target> <mode>
<target> ios | android | amazon | 360 | ... | all
<mode> --debug | --release | --daily | -d | -r | -l
<mode> --no-clean | --no-build | --no-archive | -nc | -nb | -na
<mode> --no-email | --no-qq | -ne | -nq
Created and maintained by Raymond Xie.
Published under MIT license.
-
mod-pbxproj -- A python module to manipulate XCode projects https://github.com/kronenthaler/mod-pbxproj
-
XUPorter -- Add files and frameworks to your Xcode project after it is generated by Unity 3D. https://github.com/onevcat/XUPorter
-
SmartQQ-Bot -- A bot based on webQQ protocol to send QQ message to buddy/group from program. https://github.com/floatinghotpot/qqbot