syscare/get-version.sh
snoweay 2d447e59d3 init spec and get-version script
init for first version 0.1.1

Signed-off-by: snoweay <snoweay@163.com>
2022-11-21 04:09:29 +00:00

52 lines
727 B
Bash
Executable File

#!/bin/bash
set -e
REPO=$1
VERSION=$2
if [ -z "${REPO}" ]; then
echo "Please assign a directory of syscare repo."
exit 1
fi
if [ -z "${VERSION}" ]; then
VERSION=HEAD
fi
cd ${REPO}
REPO=$(pwd)
REPO=${REPO##*/}
cd -
cp -r ${REPO} ${REPO}-${VERSION}
cd ${REPO}-${VERSION}
git checkout ${VERSION}
for file in `find . -name Cargo.toml`
do
dir=${file%/Cargo.toml*}
if [ -n "${dir}" ]; then
cd ${dir}
cargo vendor
mkdir -p .cargo
cat > .cargo/config << EOF
[source.crates-io]
replace-with = "local-registry"
[source.local-registry]
directory = "vendor"
EOF
cd -
fi
done
cd ..
rm -rf ${REPO}-${VERSION}/.git
tar -zcf ${REPO}-${VERSION}.tar.gz ${REPO}-${VERSION}
echo "Output: ${REPO}-${VERSION}.tar.gz"