summaryrefslogtreecommitdiffhomepage
path: root/version-metadata.sh
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2022-10-06 17:30:30 +0200
committerLinus Färnstrand <linus@mullvad.net>2022-10-10 11:55:56 +0200
commitec7ea9fb689c6c3087ccbc4d37cbb786fff44895 (patch)
tree51d75bf5b47aeed30dfa2078fe42fe580243903b /version-metadata.sh
parent447793c6f8c1dd69486ef395475bede7e06adfee (diff)
downloadmullvadvpn-ec7ea9fb689c6c3087ccbc4d37cbb786fff44895.tar.xz
mullvadvpn-ec7ea9fb689c6c3087ccbc4d37cbb786fff44895.zip
Make Visual Studio/C++ projects fetch version.h from mullvad-version
Diffstat (limited to 'version-metadata.sh')
-rwxr-xr-xversion-metadata.sh97
1 files changed, 0 insertions, 97 deletions
diff --git a/version-metadata.sh b/version-metadata.sh
deleted file mode 100755
index eb5f93a02d..0000000000
--- a/version-metadata.sh
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env bash
-#
-# Can inject correctly formatted version strings/numbers in all the various
-# project metadata files. Can also back them up and restore them.
-
-set -eu
-
-SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-cd "$SCRIPT_DIR"
-
-# Parse arguments
-COMMAND="$1"
-shift 1
-
-PRODUCT_VERSION=""
-DESKTOP="false"
-for argument in "$@"; do
- case "$argument" in
- "--desktop")
- DESKTOP="true"
- ;;
- -*)
- echo >&2 "Unknown option \"$argument\""
- exit 1
- ;;
- *)
- PRODUCT_VERSION="$argument"
- ;;
- esac
-done
-
-function inject_version {
- # Regex that only matches valid Mullvad VPN versions. It also captures
- # relevant values into capture groups, read out via BASH_REMATCH[x].
- local VERSION_REGEX="^20([0-9]{2})\.([1-9][0-9]?)(-beta([1-9][0-9]?))?(-dev-[0-9a-f]+)?$"
-
- if [[ ! $PRODUCT_VERSION =~ $VERSION_REGEX ]]; then
- echo >&2 "Invalid version format. Please specify version as:"
- echo >&2 "<YEAR>.<NUMBER>[-beta<NUMBER>]"
- return 1
- fi
-
- local semver_version
- semver_version=$(echo "$PRODUCT_VERSION" | sed -Ee 's/($|-.*)/.0\1/g')
- local semver_major="20${BASH_REMATCH[1]}"
- local semver_minor=${BASH_REMATCH[2]}
- local semver_patch="0"
-
- if [[ "$DESKTOP" == "true" ]]; then
- # Windows C++
- cp dist-assets/windows/version.h dist-assets/windows/version.h.bak
- cat <<EOF > dist-assets/windows/version.h
-#define MAJOR_VERSION $semver_major
-#define MINOR_VERSION $semver_minor
-#define PATCH_VERSION $semver_patch
-#define PRODUCT_VERSION "$PRODUCT_VERSION"
-EOF
- fi
-}
-
-function restore_backup {
- set +e
-
- if [[ "$DESKTOP" == "true" ]]; then
- # Windows C++
- mv dist-assets/windows/version.h.bak dist-assets/windows/version.h
-
- fi
- set -e
-}
-
-function delete_backup {
- set +e
-
- if [[ "$DESKTOP" == "true" ]]; then
- # Windows C++
- rm dist-assets/windows/version.h.bak
-
- fi
- set -e
-}
-
-case "$COMMAND" in
- "inject")
- inject_version
- ;;
- "restore-backup")
- restore_backup
- ;;
- "delete-backup")
- delete_backup
- ;;
- *)
- echo >&2 "Invalid command"
- exit 1
- ;;
-esac