2018-02-07 14:38:35 +00:00
|
|
|
#!/bin/bash
|
2015-07-27 05:35:17 -04:00
|
|
|
#
|
|
|
|
# A script to bump the version number on all Cargo.toml files etc in
|
|
|
|
# an atomic fashion.
|
|
|
|
|
|
|
|
VERSION=$(
|
|
|
|
ls lalrpop*/Cargo.toml | \
|
2020-05-11 23:48:51 +02:00
|
|
|
xargs grep "# LALRPOP" | \
|
|
|
|
perl -p -e 's/.*version = "([0-9.]+)" # LALRPOP/$1/' |
|
2015-07-27 05:35:17 -04:00
|
|
|
sort |
|
|
|
|
uniq)
|
|
|
|
|
|
|
|
if [ $(echo $VERSION | wc -w) != 1 ]; then
|
|
|
|
echo "Error: inconsistent versions detected across Cargo.toml files!"
|
|
|
|
echo "$VERSION"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Found consistent version $VERSION"
|
|
|
|
|
|
|
|
BASE_DIR="$PWD"
|
2018-02-07 14:38:35 +00:00
|
|
|
TMPDIR=${TMPDIR:-"/tmp"}
|
2015-07-27 05:35:17 -04:00
|
|
|
|
|
|
|
function publish_fail {
|
|
|
|
printf "ERROR\n"
|
|
|
|
cat $TMPDIR/publish-log
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
function publish {
|
|
|
|
printf "Publishing %s..." "$1"
|
|
|
|
cd $1
|
|
|
|
cargo publish >& $TMPDIR/publish-log || publish_fail $1
|
|
|
|
cd $BASE_DIR
|
|
|
|
printf "OK\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
publish lalrpop-util
|
2020-09-04 23:48:25 +02:00
|
|
|
sleep 25 # Wait for lalrpop-util to be available on crates.io
|
2015-07-27 05:35:17 -04:00
|
|
|
publish lalrpop
|
|
|
|
|
2018-02-07 14:38:35 +00:00
|
|
|
git tag $VERSION
|
|
|
|
git push origin tag $VERSION
|
2018-10-27 13:41:26 +02:00
|
|
|
git push upstream tag $VERSION || true
|
2018-02-07 14:38:35 +00:00
|
|
|
|
2018-02-04 08:00:53 -05:00
|
|
|
printf "Updated version in docs etc..."
|
2015-07-27 05:35:17 -04:00
|
|
|
perl -p -i -e 's/^version = "[0-9.]+"$/version = "'$VERSION'"/' \
|
2018-02-04 08:00:53 -05:00
|
|
|
doc/*/Cargo.toml \
|
|
|
|
>& $TMPDIR/publish-log || publish_fail
|
2016-01-23 12:35:30 -05:00
|
|
|
perl -p -i -e 's/^lalrpop = "[0-9.]+"$/lalrpop = "'$VERSION'"/' \
|
2018-02-04 08:00:53 -05:00
|
|
|
doc/src/*.md \
|
|
|
|
doc/src/tutorial/*.md \
|
|
|
|
doc/*/Cargo.toml \
|
|
|
|
>& $TMPDIR/publish-log || publish_fail
|
2016-01-23 12:35:30 -05:00
|
|
|
perl -p -i -e 's/^lalrpop-util = "[0-9.]+"$/lalrpop-util = "'$VERSION'"/' \
|
2018-02-04 08:00:53 -05:00
|
|
|
doc/src/*.md \
|
|
|
|
doc/src/tutorial/*.md \
|
|
|
|
doc/*/Cargo.toml \
|
|
|
|
>& $TMPDIR/publish-log || publish_fail
|
|
|
|
git add -f \
|
|
|
|
doc/src/*.md \
|
|
|
|
doc/src/tutorial/*.md \
|
|
|
|
doc/*/Cargo.toml \
|
|
|
|
>& $TMPDIR/publish-log || publish_fail
|
2015-07-27 05:35:17 -04:00
|
|
|
printf "OK\n"
|
|
|
|
|
2018-02-04 08:00:53 -05:00
|
|
|
printf "\nAll set. **Do not forget to commit new changes.**\n"
|