Add a publish-all.sh script.

Set identical version numbers on all cretonne-* crates and print "cargo
publish" commands.

Update all crates to version 0.1.0.
This commit is contained in:
Jakob Stoklund Olesen
2018-02-21 15:22:59 -08:00
committed by Dan Gohman
parent f02c8fd1ff
commit ec746c3359
8 changed files with 52 additions and 23 deletions

View File

@@ -1,7 +1,7 @@
[package]
name = "cretonne-tools"
authors = ["The Cretonne Project Developers"]
version = "0.0.0"
version = "0.1.0"
description = "Binaries for testing the Cretonne library"
license = "Apache-2.0"
documentation = "https://cretonne.readthedocs.io/"
@@ -13,11 +13,11 @@ name = "cton-util"
path = "src/cton-util.rs"
[dependencies]
cretonne = { path = "lib/cretonne" }
cretonne-reader = { path = "lib/reader" }
cretonne-frontend = { path = "lib/frontend" }
cretonne-wasm = { path = "lib/wasm" }
cretonne-native = { path = "lib/native" }
cretonne = { path = "lib/cretonne", version = "0.1.0" }
cretonne-reader = { path = "lib/reader", version = "0.1.0" }
cretonne-frontend = { path = "lib/frontend", version = "0.1.0" }
cretonne-wasm = { path = "lib/wasm", version = "0.1.0" }
cretonne-native = { path = "lib/native", version = "0.1.0" }
filecheck = { path = "lib/filecheck" }
docopt = "0.8.0"
serde = "1.0.8"

34
cranelift/publish-all.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/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