shlink/build.sh

61 lines
1.5 KiB
Bash
Raw Normal View History

2016-08-15 02:45:09 -05:00
#!/usr/bin/env bash
2016-08-15 02:52:44 -05:00
set -e
2016-08-15 02:45:09 -05:00
if [ "$#" -ne 1 ]; then
echo "Usage:" >&2
echo " $0 {version}" >&2
exit 1
fi
version=$1
builtcontent="./build/shlink_${version}_dist"
2016-08-15 02:45:09 -05:00
projectdir=$(pwd)
[ -f ./composer.phar ] && composerBin='./composer.phar' || composerBin='composer'
2016-08-15 02:45:09 -05:00
# Copy project content to temp dir
echo 'Copying project files...'
rm -rf "${builtcontent}"
mkdir -p "${builtcontent}"
rsync -av * "${builtcontent}" \
--exclude=data/infra \
--exclude=data/migrations_template.txt \
--exclude=data/GeoLite2-City.mmdb \
--exclude=**/.gitignore \
--exclude=CHANGELOG.md \
--exclude=composer.lock \
--exclude=vendor \
--exclude=docs \
--exclude=indocker \
--exclude=docker* \
--exclude=func_tests_bootstrap.php \
--exclude=php* \
--exclude=infection.json \
--exclude=phpstan.neon \
--exclude=config/autoload/*local* \
--exclude=**/test* \
--exclude=build*
2016-08-15 03:03:17 -05:00
cd "${builtcontent}"
2016-08-15 02:45:09 -05:00
# Install dependencies
echo "Installing dependencies with $composerBin..."
${composerBin} self-update
${composerBin} install --no-dev --optimize-autoloader --no-progress --no-interaction
2016-08-15 02:45:09 -05:00
# Delete development files
echo 'Deleting dev files...'
rm composer.*
rm -f data/database.sqlite
2016-08-15 02:45:09 -05:00
# Update shlink version in config
sed -i "s/%SHLINK_VERSION%/${version}/g" config/autoload/app_options.global.php
2016-08-15 02:45:09 -05:00
# Compressing file
echo 'Compressing files...'
cd "${projectdir}"/build
rm -f ./shlink_${version}_dist.zip
zip -ry ./shlink_${version}_dist.zip ./shlink_${version}_dist
cd "${projectdir}"
rm -rf "${builtcontent}"
echo 'Done!'