74 lines
1.9 KiB
Bash
74 lines
1.9 KiB
Bash
|
#!/bin/bash
|
||
|
#This file is part of FlightGear
|
||
|
#
|
||
|
#FlightGear is free software: you can redistribute it and/or modify
|
||
|
#it under the terms of the GNU General Public License as published by
|
||
|
#the Free Software Foundation, either version 2 of the License, or
|
||
|
#(at your option) any later version.
|
||
|
#
|
||
|
#FlightGear is distributed in the hope that it will be useful,
|
||
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
#GNU General Public License for more details.
|
||
|
#
|
||
|
#You should have received a copy of the GNU General Public License
|
||
|
#along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
if [ -z "$1" -o -z "$2" ]; then
|
||
|
echo "usage: thismajor.thisminor nextmajor.nextminor path"
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
|
||
|
IFS='.' read -r -a VERSION_A <<< "$1"
|
||
|
shift
|
||
|
if [ ${#VERSION_A[@]} != 2 ]; then
|
||
|
echo "Need version as 'number.number'"
|
||
|
exit
|
||
|
fi
|
||
|
THIS_MAJOR_VERSION=${VERSION_A[0]}
|
||
|
THIS_MINOR_VERSION=${VERSION_A[1]}
|
||
|
RELEASE_BRANCH="release/${THIS_MAJOR_VERSION}.${THIS_MINOR_VERSION}"
|
||
|
|
||
|
IFS='.' read -r -a VERSION_A <<< "$1"
|
||
|
shift
|
||
|
if [ ${#VERSION_A[@]} != 2 ]; then
|
||
|
echo "Need version as 'number.number'"
|
||
|
exit
|
||
|
fi
|
||
|
NEXT_MAJOR_VERSION=${VERSION_A[0]}
|
||
|
NEXT_MINOR_VERSION=${VERSION_A[1]}
|
||
|
|
||
|
setVersionTo() {
|
||
|
local V="$1"
|
||
|
echo "setting version to $V"
|
||
|
echo "$V" > version
|
||
|
git add version
|
||
|
echo "new version: $V" | git commit --file=-
|
||
|
git tag "version/$V"
|
||
|
}
|
||
|
|
||
|
createBranch() {
|
||
|
echo "Preparing release in `pwd`"
|
||
|
|
||
|
git checkout next
|
||
|
git pull --rebase
|
||
|
|
||
|
setVersionTo "${THIS_MAJOR_VERSION}.${THIS_MINOR_VERSION}.1"
|
||
|
|
||
|
echo "Creating branch $RELEASE_BRANCH for version $(cat version) in `pwd`"
|
||
|
git branch "$RELEASE_BRANCH"
|
||
|
|
||
|
setVersionTo "${NEXT_MAJOR_VERSION}.${NEXT_MINOR_VERSION}.0"
|
||
|
}
|
||
|
|
||
|
while [ $# -gt 0 ]; do
|
||
|
echo "Processing $1"
|
||
|
pushd $1 > /dev/null
|
||
|
git config user.name "Automatic Release Builder"
|
||
|
git config user.email "build@flightgear.org"
|
||
|
createBranch
|
||
|
popd > /dev/null
|
||
|
shift
|
||
|
done
|