mirror of https://github.com/flarum/flarum
65 lines
1.8 KiB
Bash
Executable File
65 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# This script builds a release of Flarum by installing dependencies and bundled
|
|
# extensions, compiling production assets, removing development files, and
|
|
# zipping up the result. It should be run from the root directory.
|
|
|
|
base=$PWD
|
|
release=/tmp/flarum
|
|
|
|
# Make a copy of the files
|
|
rm -rf ${release}
|
|
mkdir ${release}
|
|
git archive --format tar --worktree-attributes HEAD | tar -xC ${release}
|
|
|
|
# Install dependencies
|
|
cd ${release}/flarum
|
|
composer require flarum/core:dev-master@dev --prefer-dist --update-no-dev
|
|
composer install --prefer-dist --optimize-autoloader --ignore-platform-reqs --no-dev
|
|
|
|
# Copy public files
|
|
cp -R ${release}/flarum/vendor/flarum/core/public/* ${release}/assets
|
|
|
|
# Compile assets
|
|
cd ${release}/flarum/vendor/flarum/core
|
|
bash scripts/compile.sh
|
|
|
|
# Delete dev files
|
|
cd ${release}
|
|
rm -rf Vagrantfile
|
|
rm -rf scripts
|
|
rm -rf flarum/core
|
|
rm -rf flarum/studio.json
|
|
rm -rf `find . -type d -name node_modules`
|
|
rm -rf `find . -type d -name bower_components`
|
|
|
|
# Bundle default extensions
|
|
for extension in akismet approval bbcode emoji english flags likes lock markdown mentions pusher sticky subscriptions suspend tags; do
|
|
|
|
# Download and extract the extension archive
|
|
cd ${release}/extensions
|
|
curl "https://github.com/flarum/${extension}/archive/master.zip" -L -o ${extension}.zip
|
|
unzip ${extension}.zip -d ./${extension}
|
|
rm ${extension}.zip
|
|
|
|
# Compile assets
|
|
cd $extension
|
|
bash scripts/compile.sh
|
|
|
|
# Delete dev files
|
|
rm -rf `find . -type d -name node_modules`
|
|
rm -rf `find . -type d -name bower_components`
|
|
|
|
done
|
|
|
|
# Set file permissions
|
|
cd $release
|
|
find . -type d -exec chmod 0750 {} +
|
|
find . -type f -exec chmod 0644 {} +
|
|
chmod 0775 .
|
|
chmod -R 0775 assets flarum/storage
|
|
|
|
# Create the release archive
|
|
zip -r release.zip ./
|
|
mv release.zip ${base}/release.zip
|