Merge pull request #54 from filux/feature/new-version-management

changed version number management and same versioning for game, map-editor and g3dviewer
This commit is contained in:
titiger 2015-02-02 22:37:04 +01:00
commit 615cac7138
7 changed files with 117 additions and 58 deletions

View File

@ -11,30 +11,14 @@ Source and Data Archives:
=========================
There are 3 archives that are built for a given release (starting with versions
after 3.6.0). In order to build a release you must have all files checked out
of svn for that specific release (example: trunk)
To set the current version for release, modify the file mk/linux/mg-version.sh
and change the two variables:
OLD_MG_VERSION=3.6.0.1
MG_VERSION=3.6.0.2
*Note: Please ensure the MG_VERSION variable matches the version set in the
MegaGlest binary, this can be checked by running: ./megaglest --version
It is possible to have the mg-version.sh script NOT match the binary in cases
where we are releasing binary compatible updates to the archives in which case
we typically use a forth digit in the version # (as seen above)
After setting the correct verions in mg-version.sh you should call:
./mg-version-synch.sh
This will update associated installers to use the correct version stamps
To set the actual binary to the desired version you must manually edit
glest_game/facilities/game_util.cpp
const string glestVersionString = "v3.8-dev";
after 3.6.0). In order to build a release you must have all git repositories
checked out for that specific release (example, tag: 3.11.0) or downloaded all
source archives/"tarballs" which in their name have same version, equal to tag.
To set the current version for release, modify the file source/version.txt
and change there available variables, then run mk/linux/mg-version-synch.sh script
for updating version number everywhere where it is needed and then you only have
to commit changed files.
#1. The source archive:
This archive contains source code for binary compilation of the application and

View File

@ -1,45 +1,106 @@
#!/bin/bash
#!/bin/sh
# Use this script to synchronize other scripts and installers with the version
# in mg-version.sh for a Version Release
# ----------------------------------------------------------------------------
# Written by Mark Vejvoda <mark_vejvoda@hotmail.com>
# Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+
# Copyright (c) 2011-2015 Mark Vejvoda under GNU GPL v3.0+
CURRENT_VERSION=`./mg-version.sh --version`
OLD_VERSION=`./mg-version.sh --oldversion_binary`
VERSION_INFO_FILE="$(dirname "$(readlink -f "$0")")/../../source/version.txt"
LastCompatibleSaveGameVersion="$(awk -F '=' '/^LastCompatibleSaveGameVersion =/ {print $2}' "$VERSION_INFO_FILE" | awk -F '"' '{print $2}')"
MapeditorVersion="$CURRENT_VERSION"
G3dviewerVersion="$CURRENT_VERSION"
modifymore="yes"
echo
echo '===== Updating Game ======'
# const string glestVersionString = "v3.12-dev";
echo 'Game version # before:'
grep -E '^const string glestVersionString = "[^"]*";$' ../../source/glest_game/facilities/game_util.cpp
sed -i 's/^const string glestVersionString = "[^"]*";$/const string glestVersionString = "v'$CURRENT_VERSION'";/' ../../source/glest_game/facilities/game_util.cpp
echo 'Game version # after:'
grep -E '^const string glestVersionString = "[^"]*";$' ../../source/glest_game/facilities/game_util.cpp
echo
if [ "$modifymore" = "yes" ]; then
# const string lastCompatibleSaveGameVersionString = "v3.9.0";
echo 'Compatible Save Game version # before:'
grep -E '^const string lastCompatibleSaveGameVersionString = "[^"]*";$' ../../source/glest_game/facilities/game_util.cpp
sed -i 's/^const string lastCompatibleSaveGameVersionString = "[^"]*";$/const string lastCompatibleSaveGameVersionString = "v'$LastCompatibleSaveGameVersion'";/' ../../source/glest_game/facilities/game_util.cpp
echo 'Compatible Save Game version # after:'
grep -E '^const string lastCompatibleSaveGameVersionString = "[^"]*";$' ../../source/glest_game/facilities/game_util.cpp
echo
fi
if [ "$modifymore" = "yes" ] && [ "$(git status >/dev/null 2>&1; echo "$?")" -eq "0" ]; then
# const string GIT_RawRev = "$4446.1a8673f$";
GitCommitForRelease="`git rev-list HEAD --count`.`git log -1 --format=%h`";
echo 'GitCommitForRelease # before:'
grep -E '^GitCommitForRelease = "[^"]*";$' "$VERSION_INFO_FILE"
grep -E '^const string GIT_RawRev = "\$[^"$]*\$";$' ../../source/glest_game/facilities/game_util.cpp
sed -i 's/^GitCommitForRelease = "[^"]*";$/GitCommitForRelease = "'$GitCommitForRelease'";/' "$VERSION_INFO_FILE"
sed -i 's/^const string GIT_RawRev = "$[^"]*";$/const string GIT_RawRev = "$'$GitCommitForRelease'$";/' ../../source/glest_game/facilities/game_util.cpp
echo 'GitCommitForRelease # after:'
grep -E '^GitCommitForRelease = "[^"]*";$' "$VERSION_INFO_FILE"
grep -E '^const string GIT_RawRev = "\$[^"$]*\$";$' ../../source/glest_game/facilities/game_util.cpp
fi
echo
if [ "$modifymore" = "yes" ]; then
echo '===== Updating Mapeditor ======'
# const string mapeditorVersionString = "v1.6.1";
echo 'Mapeditor version # before:'
grep -E '^const string mapeditorVersionString = "[^"]*";$' ../../source/glest_map_editor/main.cpp
sed -i 's/^const string mapeditorVersionString = "[^"]*";$/const string mapeditorVersionString = "v'$MapeditorVersion'";/' ../../source/glest_map_editor/main.cpp
echo 'Mapeditor version # after:'
grep -E '^const string mapeditorVersionString = "[^"]*";$' ../../source/glest_map_editor/main.cpp
echo
echo '===== Updating G3dviewer ======'
# const string g3dviewerVersionString= "v1.3.6";
echo 'G3dviewer version # before:'
grep -E '^const string g3dviewerVersionString= "[^"]*";$' ../../source/g3d_viewer/main.cpp
sed -i 's/^const string g3dviewerVersionString= "[^"]*";$/const string g3dviewerVersionString= "v'$G3dviewerVersion'";/' ../../source/g3d_viewer/main.cpp
echo 'G3dviewer version # after:'
grep -E '^const string g3dviewerVersionString= "[^"]*";$' ../../source/g3d_viewer/main.cpp
fi
echo
echo '===== Updating Linux Installer ======'
# local GAME_VERSION = "x.x.x";
echo 'Linux Installer version # before:'
grep -E '^local GAME_VERSION = "[^"]*";$' mojosetup/megaglest-installer/scripts/config.lua;sed -i 's/^local GAME_VERSION = "[^"]*";$/local GAME_VERSION = "'$CURRENT_VERSION'";/' mojosetup/megaglest-installer/scripts/config.lua
grep -E '^local GAME_VERSION = "[^"]*";$' mojosetup/megaglest-installer/scripts/config.lua
sed -i 's/^local GAME_VERSION = "[^"]*";$/local GAME_VERSION = "'$CURRENT_VERSION'";/' mojosetup/megaglest-installer/scripts/config.lua
echo 'Linux Installer version # after:'
grep -E '^local GAME_VERSION = "[^"]*";$' mojosetup/megaglest-installer/scripts/config.lua
echo
echo '===== Updating Windows Installer ======'
# !define APVER 3.6.0
echo 'Windows Installer version # before:'
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi;sed -i 's/^\!define APVER [^"]*$/\!define APVER '$CURRENT_VERSION'/' ../windoze/Installer/MegaGlestInstaller.nsi
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi
sed -i 's/^\!define APVER [^"]*$/\!define APVER '$CURRENT_VERSION'/' ../windoze/Installer/MegaGlestInstaller.nsi
echo 'Windows Installer version # after:'
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi
echo 'Windows Installer version # before:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi;sed -i 's/^\!define APVER_OLD [^"]*$/\!define APVER_OLD '$OLD_VERSION'/' ../windoze/Installer/MegaGlestInstaller.nsi
echo 'Windows Installer version # after:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi
echo '===== Updating Windows Updater ======'
echo 'Windows Updater version # before:'
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi;sed -i 's/^\!define APVER [^"]*$/\!define APVER '$CURRENT_VERSION'/' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # after:'
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # before:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi;sed -i 's/^\!define APVER_OLD [^"]*$/\!define APVER_OLD '$OLD_VERSION'/' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # after:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
grep -E '^\!define APVER_UPDATE [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi;sed -i 's/^\!define APVER_UPDATE [^"]*$/\!define APVER_UPDATE '$CURRENT_VERSION'/' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # after:'
grep -E '^\!define APVER_UPDATE [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
echo
if [ "$modifymore" = "yes" ]; then
echo 'Windows Installer version # before:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi
sed -i 's/^\!define APVER_OLD [^"]*$/\!define APVER_OLD '$OLD_VERSION'/' ../windoze/Installer/MegaGlestInstaller.nsi
echo 'Windows Installer version # after:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestInstaller.nsi
echo
echo '===== Updating Windows Updater ======'
echo 'Windows Updater version # before:'
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
sed -i 's/^\!define APVER [^"]*$/\!define APVER '$CURRENT_VERSION'/' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # after:'
grep -E '^\!define APVER [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
echo
echo 'Windows Updater version # before:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
sed -i 's/^\!define APVER_OLD [^"]*$/\!define APVER_OLD '$OLD_VERSION'/' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # after:'
grep -E '^\!define APVER_OLD [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
echo
echo 'Windows Updater version # before:'
grep -E '^\!define APVER_UPDATE [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
sed -i 's/^\!define APVER_UPDATE [^"]*$/\!define APVER_UPDATE '$CURRENT_VERSION'/' ../windoze/Installer/MegaGlestUpdater.nsi
echo 'Windows Updater version # after:'
grep -E '^\!define APVER_UPDATE [^"]*$' ../windoze/Installer/MegaGlestUpdater.nsi
echo
fi

View File

@ -1,12 +1,13 @@
#!/bin/bash
#!/bin/sh
# Use this script to idenitfy previous and current Version for a Version Release
# ----------------------------------------------------------------------------
# Written by Mark Vejvoda <mark_vejvoda@hotmail.com>
# Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+
OLD_MG_VERSION=3.11.0
OLD_MG_VERSION_BINARY=3.11.0
MG_VERSION=3.12-dev
VERSION_INFO_FILE="$(dirname "$(readlink -f "$0")")/../../source/version.txt"
OLD_MG_VERSION="$(awk -F '=' '/^OldReleaseGameVersion =/ {print $2}' "$VERSION_INFO_FILE" | awk -F '"' '{print $2}')"
OLD_MG_VERSION_BINARY="$OLD_MG_VERSION"
MG_VERSION="$(awk -F '=' '/^CurrentGameVersion =/ {print $2}' "$VERSION_INFO_FILE" | awk -F '"' '{print $2}')"
if [ "$1" = "--oldversion" ]; then
echo "$OLD_MG_VERSION"

View File

@ -58,7 +58,7 @@ const char *folderDelimiter = "/";
//int GameConstants::updateFps= 40;
//int GameConstants::cameraFps= 100;
const string g3dviewerVersionString= "v1.3.6";
const string g3dviewerVersionString= "v3.12-dev";
// Because g3d should always support alpha transparency
string fileFormat = "png";

View File

@ -43,7 +43,7 @@ const string lastCompatibleSaveGameVersionString = "v3.9.0";
const string GIT_RawRev = string(GITVERSION);
const string GIT_Rev = string("Rev: ") + string(GITVERSION);
#else
const string GIT_RawRev = "$4446.1a8673f$";
const string GIT_RawRev = "$5060.7451e49$";
const string GIT_Rev = "$Rev$";
#endif

View File

@ -46,7 +46,7 @@ string getGameReadWritePath(string lookupKey) {
namespace MapEditor {
const string mapeditorVersionString = "v1.6.1";
const string mapeditorVersionString = "v3.12-dev";
const string MainWindow::winHeader = "MegaGlest Map Editor " + mapeditorVersionString;
// ===============================================

13
source/version.txt Normal file
View File

@ -0,0 +1,13 @@
# How it currently works?
# Set version here (only here) and just start mk/linux/mg-version-synch.sh script.
# Versions will be updated everywhere automatically.
# Then you should commit changed files and that's all.
CurrentGameVersion = "3.12-dev";
# ^ typical version numbers look like this: "3.11-beta1.0", "3.12-dev", "3.12.0"
OldReleaseGameVersion = "3.11.0";
LastCompatibleSaveGameVersion = "3.9.0";
GitCommitForRelease = "5060.7451e49";
# ^ will be automatically generated