publish:
#!/usr/bin/env bash
# if crate A depends on crate B, B must come before A in this list
crates=(
road_elf
road_macho
road_pe
road
road_internal
)
if [ -n "$(git status --porcelain)" ]; then
echo "You have local changes!"
exit 1
fi
pushd crates
for crate in "${crates[@]}"
do
echo "Publishing ${crate}"
cp ../docs/LICENSE-MIT "$crate"
cp ../docs/LICENSE-APACHE "$crate"
pushd "$crate"
git add LICENSE-MIT LICENSE-APACHE
cargo publish --no-verify --allow-dirty
popd
sleep 20
done
popd
echo "Publishing root crate"
cargo publish --allow-dirty
echo "Cleaning local state"
git reset HEAD --hard