blob: 114fc126048acfa8bfda6cd585b9c603fe6eb7df [file] [log] [blame]
#!/bin/bash
set -e
if [ $(git diff | wc -l) != 0 ]
then
echo "Commit your change before publish!"
exit 1
fi
if [ -z "$1" ]
then
PART_ID=0
else
PART_ID=$1
fi
ROOT=$(dirname $(readlink -f $0))
OLD_VERSION=$(cat ${ROOT}/doc-template/latest_version)
NEW_VERSION=$(awk -F. 'BEGIN{idx=3-'${PART_ID}'}{$idx+=1; for(i=idx+1; i <= 3; i++) $i=0; print $1"."$2"."$3}' ${ROOT}/doc-template/latest_version)
echo "Publishing new version ${OLD_VERSION} -> ${NEW_VERSION}"
echo ${NEW_VERSION} > doc-template/latest_version
doc-template/update_readme.sh
echo ${OLD_VERSION} > doc-template/latest_version
cargo fmt
PATTERN=$(echo ^version = \"${OLD_VERSION}\"\$ | sed 's/\./\\./g')
DATE=$(date "+%Y-%m-%d")
sed -i "s/${PATTERN}/version = \"${NEW_VERSION}\"/g" Cargo.toml
PATTERN=$(echo ${NEW_VERSION} | sed 's/\./\\./g')
sed -i "s/^## Plotters .* (?) *\$/## Plotters ${NEW_VERSION} ($DATE)/g" CHANGELOG.md
echo ${NEW_VERSION} > doc-template/latest_version
# Verify MSRV
MSRV=$(cat ${ROOT}/doc-template/msrv.txt)
rustup install ${MSRV}
cargo +${MSRV} build --features="svg_backend,chrono,image,deprecated_items,all_series,all_elements" --no-default-features
git add -u .
git commit -m "Bump version number from ${OLD_VERSION} to ${NEW_VERSION}"
git tag -a "v${NEW_VERSION}" -m "Plotters ${NEW_VERSION} release"
cargo publish
git push origin
git push origin "v${NEW_VERSION}"