SETUP_CHECKER_FILE="${SETUP_CHECKER_FILE:-$HOME/.local/share/ublue/setup_versioning.json}"
function version-script() {
TARGET_VERSIONING_NAME=$1
TYPE_OF_SERVICE=$2
VERSION=$3
shift
shift
shift
if [ ! -e "${SETUP_CHECKER_FILE}" ] ; then
mkdir -p "$(dirname "${SETUP_CHECKER_FILE}")"
echo "{}" > "${SETUP_CHECKER_FILE}"
fi
if [ "$(jq -r -c ".version.${TYPE_OF_SERVICE}.\"${TARGET_VERSIONING_NAME}\"" "${SETUP_CHECKER_FILE}")" == "${VERSION}" ] ; then
echo "Exiting as current version (${VERSION}) for ${TYPE_OF_SERVICE}-${TARGET_VERSIONING_NAME} is the same as latest version recorded on ${SETUP_CHECKER_FILE}"
return 1
fi
ANNOYING_JQ_WORKAROUND=$(mktemp)
jq ".version.${TYPE_OF_SERVICE}.\"${TARGET_VERSIONING_NAME}\" = \"${VERSION}\"" "${SETUP_CHECKER_FILE}" >"${ANNOYING_JQ_WORKAROUND}"
mv "${ANNOYING_JQ_WORKAROUND}" "${SETUP_CHECKER_FILE}"
set +x
return 0
}