cog/Scripts/genversion.sh

53 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
git=$(which git)
sed=$(which sed)
PlistBuddy="/usr/libexec/PlistBuddy"
REPO_ROOT_PATH=$("$git" rev-parse --show-toplevel)
GIT_HASH=$("$git" -C "$REPO_ROOT_PATH" show -s --format=%H)
GIT_NUMBER_OF_COMMITS=$("$git" -C "$REPO_ROOT_PATH" rev-list HEAD --count)
GIT_RELEASE_VERSION=$("$git" -C "$REPO_ROOT_PATH" describe --tags --always | "$sed" -e 's/k54-//')
GIT_RELEASE_NUMBER=${GIT_RELEASE_VERSION%-*}
MACOS_PLIST_PATH="$REPO_ROOT_PATH/Info.plist"
BUILD_TIME=$(date)
echo "GIT: $git"
echo "NUMBER_OF_COMMITS: $GIT_NUMBER_OF_COMMITS"
echo "RELEASE_VERSION: $GIT_RELEASE_VERSION"
for plist in "$MACOS_PLIST_PATH"; do
plist_template=${plist}.template
if [ -f "$plist_template" ]; then
echo "COPY: $plist_template"
echo "TO: $plist"
cp -f "$plist_template" "$plist"
"$PlistBuddy" -c "Set :CFBundleVersion $GIT_RELEASE_NUMBER" "$plist"
"$PlistBuddy" -c "Set :CFBundleShortVersionString $GIT_RELEASE_NUMBER" "$plist"
"$PlistBuddy" -c "Add :GitHash string $GIT_HASH" "$plist"
"$PlistBuddy" -c "Add :GitVersion string $GIT_RELEASE_VERSION" "$plist"
"$PlistBuddy" -c "Add :BuildTime date $BUILD_TIME" "$plist"
fi
done