Unreal Engine Build Tools are tools used by us to execute certain tasks in Unreal Engine projects.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
Currently the following things are available:
- Generating a C++ Header with Version Information from Git using a template file
- Modifying the Version Information in the Project Settings of Unreal Engine
- Modifying the Version Information for the Crash Report Client
TeamCity.py Script to interact with TeamCity supports:
- Downloading an artifact
- Listing Tags
- Listing BuildTypes
- Listing SubProjects
- Listing Projects
- Listing Artifacts
- Getting build ids
The application currently only contains a "main.py" that does everything.
The repository contains a requirements.txt file that can be used to install the required packages.
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements.txt
After that you can run the script with the following command:
python main.py --dir /path/to/git/repo
TeamCity.py can be used in the same way:
python TeamCity.py --host https://teamcity.example.com --token YOUR_TOKEN --project ProjectName --buildtype BuildType --tag TagName --artifact ArtifactName
In addition to supplying the token and host, you can set the following environment variables:
export TEAMCITY_HOST="https://teamcity.example.com"
export TEAMCITY_TOKEN="ey"
The following arguments are available (main.py):
The directory of the git repository
- Default: "INFO"
The log level. Possible values are "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"
- Default: "Game"
The name of the game, will be prefixed to "ProjectDisplayedTitle"
- Default: "version.h"
The output file for the generated header file
- Default: "version.tpl"
The template file for the generated header file
Example:
#pragma once
#define VERSION_CHANGELIST "{{changelist}}"
#define VERSION_BRANCH "{{branch}}"
#define VERSION_VISIBILITY "{{visibility}}"
#define VERSION_SHORT "{{versionShort}}"
#define VERSION_FULL "{{version}}"
#define VERSION_TIME __DATE__ "/" __TIME__
#define VERSION_PUBLIC {{isPublic}}
#define VERSION_STRING "Version " VERSION_FULL " (" VERSION_TIME ") [" VERSION_VISIBILITY "] <" VERSION_BRANCH "/" VERSION_SHORT "> ChangeList: " VERSION_CHANGELIST
- Default: None
The DefaultGame.ini file that should be updated
Do not update the DefaultGame.ini file
- Default: "CrashReportClient.ini"
The CrashReportClient.ini file that should be updated
Do not update the CrashReportClient.ini file
The following arguments are available (TeamCity.py):
The host of the TeamCity server
The token for the TeamCity server
The project to use
The build type to use
The tag to use
The artifact to use
Since this project was developed for internal use, there are currently no plans to expand the functionality.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU AFFERO GENERAL PUBLIC LICENSE.
See LICENSE.txt
for more information.