47 lines
1.6 KiB
Bash
Executable file
47 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# TODO: Add transpilation to PHP 7.4
|
|
|
|
echo "Building Plugin..."
|
|
|
|
# Moves everything including the style sheets over to `dist/`
|
|
echo "Copying directories..."
|
|
rm -rf dist/
|
|
mkdir dist
|
|
rsync -av --progress --exclude css src/* dist
|
|
echo "Setting production flag environment flag..."
|
|
sed -i -E "s/('PRODUCTION_ENV'[ ]?,[ ]?)false/\1true/g" ./dist/footnotes.php
|
|
echo "Production environment flag set."
|
|
|
|
echo "Setting pre-release version tags..."
|
|
grep " \* Version:" dist/footnotes.php | grep -Po "\d+\.\d+(\.\d+)?d$"
|
|
if [ $? != 0 ]; then echo "Development version tag (`d`) not set!"; exit 1; fi
|
|
PLUGIN_DEV_VERSION="$(grep " \* Version:" dist/footnotes.php | grep -Po "\d+\.\d+(\.\d+)?d$")"
|
|
PLUGIN_PRE_VERSION="${PLUGIN_DEV_VERSION/d/p}"
|
|
find dist -type f -exec sed -i "s/$PLUGIN_DEV_VERSION/$PLUGIN_PRE_VERSION/g" {} +
|
|
if [ $? != 0 ]; then echo "Pre-release tag (`p`) could not be set!"; exit 1; fi
|
|
echo "Pre-release version tags set."
|
|
|
|
echo "Building stylesheets..."
|
|
./_tools/build-stylesheets.sh -c
|
|
if [ $? != 0 ]; then echo "Concatenation failed!"; exit 1; fi
|
|
echo "Stylesheet build complete."
|
|
|
|
echo "Minifying CSS and JS..."
|
|
npm run minify
|
|
if [ $? != 0 ]; then echo "Minification failed!"; exit 1; fi
|
|
echo "Deleting unminified files from `dist/`..."
|
|
rm -r dist/*/{js,css}/*[^\.min].{js,css}
|
|
echo "Minification complete."
|
|
|
|
echo "Downgrading to PHP 7.4..."
|
|
./vendor/bin/rector process
|
|
echo "Downgrading complete."
|
|
|
|
if [[ $1 == "-v" ]]; then
|
|
rm -rf ../VVV/www/wordpress-two/public_html/wp-content/plugins/footnotes
|
|
mv dist footnotes && mv footnotes ../VVV/www/wordpress-two/public_html/wp-content/plugins
|
|
fi
|
|
|
|
echo "Build complete."
|
|
exit 0
|