#!/bin/sh

# ---------------------
#  build
# ---------------------
webpack --progress --profile --mode production

# ---------------------
#  clean
# ---------------------
ssh -t photogram 'sudo rm -rf /var/www/html/photogram/public/dist'

# ---------------------
#  upload
# ---------------------
CHANGED_FILES=$(
  git diff master --name-only                              | # megnézzük milyen fájlokban különbözik a master és a development
  grep -E '^public/|^app/|^system/|^resources/|^composer.' | # csak ezeket a mappákat/fájlokat érintse
  sed '/^app\/Language/d'                                    # kivesszük a listából még a nyelvi fájlokat
)

FILE_LIST=$(echo "$CHANGED_FILES" | tr '\n' ' ') # egy sorba tördeljük a több soros fájl listát

echo ''
echo '-- marking changed files for upload (1/3)'
echo "$CHANGED_FILES"

rm -rf dist
mkdir dist
if [ -n "$CHANGED_FILES" ]; then
  eval "cp --parents $FILE_LIST dist"
fi

mkdir dist/public
cp -r public/dist dist/public/dist

echo ''
echo '-- uploading files (2/3)'
scp -r dist/* photogram:/var/www/html/photogram/ # scp csak a rekurzív másolásnál húzza magával a mappa szerkezetet

echo ''
echo '-- cleanup (3/3)'
rm -rf dist

echo ''
echo "-- done"

# ---------------------
#  fix-chown
# ---------------------
ssh -t photogram 'sudo chown -R www-data:www-data /var/www/html/photogram/'

# ---------------------
#  fix-chmod
# ---------------------
ssh -t photogram 'sudo chmod -R 774 /var/www/html/photogram/'
