33 lines
846 B
Shell
Executable file
33 lines
846 B
Shell
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
update_type="$1"
|
|
|
|
version_line=$(grep "version" pyproject.toml)
|
|
version=$(grep "version" pyproject.toml | awk '{print $3}' | tr -d '[:space:]' | tr -d '"')
|
|
|
|
if [[ ! $version ]]; then
|
|
echo "No valid version was found"
|
|
exit 1
|
|
fi
|
|
|
|
major=$(echo "$version" | cut -d. -f1)
|
|
minor=$(echo "$version" | cut -d. -f2)
|
|
patch=$(echo "$version" | cut -d. -f3)
|
|
|
|
if [[ "$update_type" =~ (major|replacement) ]]; then
|
|
major=$(( major + 1 ))
|
|
minor=0
|
|
patch=0
|
|
elif [[ "$update_type" =~ 'minor' ]]; then
|
|
minor=$(( minor + 1 ))
|
|
patch=0
|
|
else
|
|
patch=$(( patch + 1 ))
|
|
fi
|
|
|
|
new_version="${major}.${minor}.${patch}"
|
|
new_version_line=$(echo "${version_line}" | sed "s/${version}/${new_version}/")
|
|
|
|
echo "Bumping project version from $version to $new_version"
|
|
sed -i "s/${version_line}/${new_version_line}/g" pyproject.toml
|