1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/tools/update-versions.sh
Zetok Zalbavar a2aaff115c
chore(build): fix version script failure when called from non-base dir
Now script will work regardless of the working directory it was called
from.

This fixes problem with CMake failing when it's called from directory
other than base `qTox`.

Fix from
https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
2017-02-23 09:49:13 +00:00

73 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
#
# Copyright © 2016-2017 The qTox Project Contributors
#
# This program 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 3 of the License, or
# (at your option) any later version.
#
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
# script to change versions in the files for osx and windows "packages"
#
# it should be run before releasing a new version
#
# NOTE: it checkouts the files before appending a version to them!
#
# requires:
# * GNU sed
# usage:
#
# ./$script $version
#
# $version has to be composed of at least one number/dot
set -eu -o pipefail
readonly SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
readonly BASE_DIR="$SCRIPT_DIR/../"
update_windows() {
( cd "$BASE_DIR/windows"
./qtox-nsi-version.sh "$@" )
}
update_osx() {
( cd "$BASE_DIR/osx"
./update-plist-version.sh "$@" )
}
# exit if supplied arg is not a version
is_version() {
if [[ ! $@ =~ [0-9\\.]+ ]]
then
echo "Not a version: $@"
exit 1
fi
}
main() {
is_version "$@"
# osx cannot into proper sed
if [[ ! "$OSTYPE" == "darwin"* ]]
then
update_osx "$@"
update_windows "$@"
else
# TODO: actually check whether there is a GNU sed on osx
echo "OSX's sed not supported. Get a proper one."
fi
}
main "$@"