Set identical version numbers on all cretonne-* crates and print "cargo publish" commands. Update all crates to version 0.1.0.
35 lines
1.0 KiB
Bash
Executable File
35 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
cd $(dirname "$0")
|
|
topdir=$(pwd)
|
|
|
|
# All the cretonne-* crates have the same version number
|
|
# The filecheck crate version is managed independently.
|
|
version="0.1.0"
|
|
|
|
# Update all of the Cargo.toml files.
|
|
#
|
|
# The main Cargo.toml in the top-level directory is the cretonne-tools crate which we don't publish.
|
|
echo "Updating crate versions to $version"
|
|
for crate in . lib/*; do
|
|
if [ "$crate" = "lib/filecheck" ]; then
|
|
continue
|
|
fi
|
|
# Update the version number of this crate to $version.
|
|
sed -i "" -e "s/^version = .*/version = \"$version\"/" $crate/Cargo.toml
|
|
# Update the required version number of any cretonne* dependencies.
|
|
sed -i "" -e "/^cretonne/s/version = \"[^\"]*\"/version = \"$version\"/" $crate/Cargo.toml
|
|
done
|
|
|
|
# Update our local Cargo.lock (not checked in).
|
|
cargo update
|
|
./test-all.sh
|
|
|
|
# Commands needed to publish.
|
|
#
|
|
# Note that libraries need to be published in topological order.
|
|
|
|
for crate in filecheck cretonne frontend native reader wasm; do
|
|
echo cargo publish --manifest-path lib/$crate/Cargo.toml
|
|
done
|