Releases/Create Release
From UFO:AI
< Releases(Redirected from Coding/Create Release)
Contents |
[edit]
Release guidelines
This is a guideline for release maintainer and main-developers how to create a release from SVN.
This is still TODO and needs major cleanup.
[edit]
Main developers
- Decide what version number the release needs. See #Version number system below.
- Check if all locations that contain the version number are up to date. If not, update the files so they reflect the current version number.
- src/qcommon/qcommon.h (Linux)
-
#define UFO_VERSION x.y
-
- build/projects/ufo.dev build/projects/ufo_ded.dev (Windows)
-
FileVersion=x.y -
ProductVersion=x.y - TODO
Major=0 Minor=1 Release=2 Build=0
-
- TODO: more locations?
- src/qcommon/qcommon.h (Linux)
- Create svn tag with current version-number. See Releases/SVN below.
- Update Changelog
- Wait for #Release maintainers to finish their work and uplaod to sourceforge download area.
- Update News section on the homepage with the release infomations and available release-files.
- Create new tags for the bug tracker.
[edit]
Release maintainers
- Checkout the version tag from SVN. See Releases/SVN.
- Compile (only for binary packages)
- Note: If you compile in release mode: use preprocessor
-DNDEBUGto disable all asserts.
- Note: If you compile in release mode: use preprocessor
- Copy additional data into directory tree or create missing files:
- Music - Download the music (TODO: link) and put it into the base/music/ directory.
- Maps - Type
makein base/maps/ to compile all of the maps (This takes a long time. we should find a solution to that. --Hoehrer) - Language files - Type
make langinside src/ to translate the gettext files - TODO: more data?
- Remove SVN-only files (e.g ".svn" directories)
- Edit default.cfg (and other configuration files) to fit your targeted platform (i.e. Linux, Windows, etc...). For source distributions please leave the configuration files as-is.
- TODO: is something missing?
- Create package/installer. See Packaging for more info on that.
- Name your package/installer-file after the following filename convention (replace
#VERSION#with a lowercase version number). The.tar.gzcould also be any other compression format such as.zipor.tar.bz2):- ufoai-#VERSION#-macosx.dmg - MacOSX
- ufoai-#VERSION#-win32.exe - Windows 32bit
- ufoai-#VERSION#-linux.tar.gz - Linux (TODO 32/64bit systems?)
- ufoai-#VERSION#-src.tar.gz - Source
- Submit the package/installer to a project maintainer or upload it yourself.
[edit]
Others
- Post/email news announcements as described here: Releases/Announcements
[edit]
Version number system
| Releases/Branch-names | Release Candidates | Development Releases |
x.y
| x.y-RCz
| x.y-devz
|
[edit]
Development releases (unstable)
This version numbers are used for unstable (pre-RC) releases for beta-testing.
|
|
[edit]
Release candidates (mostly stable)
This version numbers are used for pre-stable releases of the code. i.e the code shoudl be feature-frozen.
Note: do not use uppercase letters when using this in filenames & SVN.
|
|
[edit]
Release versions (stable)
This version numbers are used for stable releases in the branches.
|
|
[edit]
Version tree
For each Release and Release Candidate we'll create a 'tag' in SVN so it can be accessed again later on.
See the existing tags for more.
Legacy info: There are also some branches that may be of interest, but are not used currently.

