mirror of
https://github.com/shlinkio/shlink.git
synced 2026-10-12 21:31:58 -05:00
Improved build process to not require parent dir, sudo and exclude dirs
This commit is contained in:
1 parent
47e2322e33
commit
dcfaed437c
1 file changed
+25
-27
@@ -8,53 +8,51 @@ if [ "$#" -ne 1 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
version=$1
|
version=$1
|
||||||
builtcontent=$(readlink -f "../shlink_${version}_dist")
|
builtcontent="./build/shlink_${version}_dist"
|
||||||
projectdir=$(pwd)
|
projectdir=$(pwd)
|
||||||
[ -f ./composer.phar ] && composerBin='./composer.phar' || composerBin='composer'
|
[ -f ./composer.phar ] && composerBin='./composer.phar' || composerBin='composer'
|
||||||
|
|
||||||
# Copy project content to temp dir
|
# Copy project content to temp dir
|
||||||
echo 'Copying project files...'
|
echo 'Copying project files...'
|
||||||
rm -rf "${builtcontent}"
|
rm -rf "${builtcontent}"
|
||||||
mkdir "${builtcontent}"
|
mkdir -p "${builtcontent}"
|
||||||
sudo chmod -R 777 "${projectdir}"/data/infra/{database,nginx}
|
rsync -av * "${builtcontent}" \
|
||||||
cp -R "${projectdir}"/* "${builtcontent}"
|
--exclude=data/infra \
|
||||||
|
--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*
|
||||||
cd "${builtcontent}"
|
cd "${builtcontent}"
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
echo "Installing dependencies with $composerBin..."
|
echo "Installing dependencies with $composerBin..."
|
||||||
rm -rf vendor
|
${composerBin} self-update
|
||||||
rm -f composer.lock
|
${composerBin} install --no-dev --optimize-autoloader --no-progress --no-interaction
|
||||||
$composerBin self-update
|
|
||||||
$composerBin install --no-dev --optimize-autoloader --no-progress --no-interaction
|
|
||||||
|
|
||||||
# Delete development files
|
# Delete development files
|
||||||
echo 'Deleting dev files...'
|
echo 'Deleting dev files...'
|
||||||
rm build.sh
|
|
||||||
rm CHANGELOG.md
|
|
||||||
rm composer.*
|
rm composer.*
|
||||||
rm LICENSE
|
rm -f data/database.sqlite
|
||||||
rm indocker
|
|
||||||
rm docker-compose.yml
|
|
||||||
rm docker-compose.override.yml
|
|
||||||
rm docker-compose.override.yml.dist
|
|
||||||
rm func_tests_bootstrap.php
|
|
||||||
rm php*
|
|
||||||
rm README.md
|
|
||||||
rm infection.json
|
|
||||||
rm -rf build
|
|
||||||
rm -ff data/database.sqlite
|
|
||||||
rm -rf data/infra
|
|
||||||
rm -rf data/{cache,log,proxies}/{*,.gitignore}
|
|
||||||
rm -rf config/params/{*,.gitignore}
|
|
||||||
rm -rf config/autoload/{{,*.}local.php{,.dist},.gitignore}
|
|
||||||
|
|
||||||
# Update shlink version in config
|
# Update shlink version in config
|
||||||
sed -i "s/%SHLINK_VERSION%/${version}/g" config/autoload/app_options.global.php
|
sed -i "s/%SHLINK_VERSION%/${version}/g" config/autoload/app_options.global.php
|
||||||
|
|
||||||
# Compressing file
|
# Compressing file
|
||||||
echo 'Compressing files...'
|
echo 'Compressing files...'
|
||||||
rm -f "${projectdir}"/build/shlink_${version}_dist.zip
|
cd "${projectdir}"/build
|
||||||
zip -ry "${projectdir}"/build/shlink_${version}_dist.zip "../shlink_${version}_dist"
|
rm -f ./shlink_${version}_dist.zip
|
||||||
|
zip -ry ./shlink_${version}_dist.zip ./shlink_${version}_dist
|
||||||
|
cd "${projectdir}"
|
||||||
rm -rf "${builtcontent}"
|
rm -rf "${builtcontent}"
|
||||||
|
|
||||||
echo 'Done!'
|
echo 'Done!'
|
||||||
Reference in new issue
Block a user