123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/usr/bin/env bash
- set -e
- if [[ "$#" -ne 1 ]]; then
- echo "Usage:" >&2
- echo " $0 {version}" >&2
- exit 1
- fi
- version=$1
- builtcontent="./build/shlink_${version}_dist"
- projectdir=$(pwd)
- [[ -f ./composer.phar ]] && composerBin='./composer.phar' || composerBin='composer'
- # Copy project content to temp dir
- echo 'Copying project files...'
- rm -rf "${builtcontent}"
- mkdir -p "${builtcontent}"
- rsync -av * "${builtcontent}" \
- --exclude=bin/test \
- --exclude=data/infra \
- --exclude=data/cache/* \
- --exclude=data/log/* \
- --exclude=data/locks/* \
- --exclude=data/proxies/* \
- --exclude=data/migrations_template.txt \
- --exclude=data/GeoLite2-City.* \
- --exclude=data/database.sqlite \
- --exclude=data/shlink-tests.db \
- --exclude=**/.gitignore \
- --exclude=CHANGELOG.md \
- --exclude=composer.lock \
- --exclude=vendor \
- --exclude=docs \
- --exclude=*docker* \
- --exclude=php* \
- --exclude=infection.json \
- --exclude=phpstan.neon \
- --exclude=config/autoload/*local* \
- --exclude=config/test \
- --exclude=**/test* \
- --exclude=build* \
- --exclude=.github
- cd "${builtcontent}"
- # Install dependencies
- echo "Installing dependencies with $composerBin..."
- ${composerBin} self-update
- ${composerBin} install --no-dev --optimize-autoloader --apcu-autoloader --no-progress --no-interaction
- # Delete development files
- echo 'Deleting dev files...'
- rm composer.*
- # Update shlink version in config
- sed -i "s/%SHLINK_VERSION%/${version}/g" config/autoload/app_options.global.php
- # 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!'
|