51 lines
1.2 KiB
Bash
Executable File
51 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
##
|
|
# Updates the version file
|
|
#
|
|
# @author Daniel Rudolf
|
|
# @link http://picocms.org
|
|
# @license http://opensource.org/licenses/MIT
|
|
#
|
|
|
|
set -e
|
|
|
|
. "$(dirname "$0")/functions/parse-version.sh.inc"
|
|
|
|
# parameters
|
|
VERSION_FILE_PATH="$1" # target file path
|
|
VERSION_STRING="$2" # version string (e.g. 1.0.0-beta.1+7b4ad7f)
|
|
|
|
# print parameters
|
|
echo "Generating version file..."
|
|
printf 'VERSION_FILE_PATH="%s"\n' "$VERSION_FILE_PATH"
|
|
printf 'VERSION_STRING="%s"\n' "$VERSION_STRING"
|
|
echo
|
|
|
|
# evaluate version string (see http://semver.org/)
|
|
printf 'Evaluating version string...\n'
|
|
if ! parse_version "$VERSION_STRING"; then
|
|
echo "Invalid version string; skipping..." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# generate version file
|
|
printf 'Updating version file...\n'
|
|
echo -n "" > "$VERSION_FILE_PATH"
|
|
exec 3> "$VERSION_FILE_PATH"
|
|
|
|
printf 'full: %s\n' "$VERSION_FULL" >&3
|
|
printf 'name: %s\n' "$VERSION_NAME" >&3
|
|
printf 'milestone: %s\n' "$VERSION_MILESTONE" >&3
|
|
printf 'stability: %s\n' "$VERSION_STABILITY" >&3
|
|
printf 'id: %d\n' "$VERSION_ID" >&3
|
|
printf 'major: %d\n' "$VERSION_MAJOR" >&3
|
|
printf 'minor: %d\n' "$VERSION_MINOR" >&3
|
|
printf 'patch: %d\n' "$VERSION_PATCH" >&3
|
|
printf 'suffix: %s\n' "$VERSION_SUFFIX" >&3
|
|
printf 'build: %s\n' "$VERSION_BUILD" >&3
|
|
|
|
exec 3>&-
|
|
|
|
echo
|