Better release.sh script

It exports from git now, so no removing files is required cause it uses export-ignore from .gitattributes
It also allows edits before release is packed
Usage: ./release.sh prepare
Then:
./release.sh pack
This commit is contained in:
slawkens 2020-02-21 22:13:20 +01:00
parent 33de478450
commit 66cb0455fd

View File

@ -5,11 +5,21 @@
# places compressed archives into releases/ directory # places compressed archives into releases/ directory
# #
if [ $# -eq 0 ]; then
echo "No arguments supplied"
echo "Usage: release.sh prepare/pack"
exit 1
fi
if [ $1 = "prepare" ]; then
# define release version # define release version
version=`cat VERSION` version=`cat VERSION`
echo "Preparing to release version $version of the MyAAC Project!" echo "Preparing to release version $version of the MyAAC Project!"
# get myaac from git archive
git archive --format zip --output tmp/myaac.zip master
# make required directories # make required directories
mkdir -p releases mkdir -p releases
mkdir -p tmp && cd tmp mkdir -p tmp && cd tmp
@ -17,43 +27,37 @@ mkdir -p tmp && cd tmp
dir="myaac-$version" dir="myaac-$version"
if [ -d "$dir" ] ; then if [ -d "$dir" ] ; then
echo "Fatal error: Version $version already exists!!" echo "Fatal error: Version $version already exists!!"
exit
fi fi
# make version directory unzip -q myaac.zip -d $dir
mkdir "$dir" rm myaac.zip
# copy all AAC files into new created directory echo "Now you can make changes to $dir. When you are ready, type 'release.sh pack'"
echo "Copying required files.." exit
cd .. # we are now in the main directory fi
shopt -s dotglob # turn on hidden files with * if [ $1 = "pack" ]; then
#cp -r * "tmp/$dir" # define release version
rsync -Rr --info=progress2 . "tmp/$dir" version=`cat VERSION`
cd "tmp/$dir" cd tmp
# remove unneeded files
echo "Removing unneeded files.."
rm -rf .git .github .idea
rm .gitattributes .gitignore
rm release.sh
rm _config.yml
rm -Rf releases
rm -Rf tmp
# tar.gz # tar.gz
echo "Creating .tar.gz package.." echo "Creating .tar.gz package.."
file="myaac-$version.tar.gz" file="myaac-$version.tar.gz"
tar -czf $file * tar -czf $file *
mv $file ../../releases/ mv $file ../releases/
# zip # zip
echo "Creating .zip package.." echo "Creating .zip package.."
file="myaac-$version.zip" file="myaac-$version.zip"
zip -rq $file * zip -rq $file *
mv $file ../../releases/ mv $file ../releases/
cd ../.. cd ..
shopt -u dotglob
rm -R tmp rm -R tmp
echo "Done. Released files can be found in 'releases' directory." echo "Done. Released files can be found in 'releases' directory."
exit
fi