64 lines
1.4 KiB
Bash
Executable File
64 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
COMPOSER_COMMAND=$(which "composer")
|
|
if [ "$COMPOSER_COMMAND" = '' ]
|
|
then
|
|
#No global composer found, try local or download it
|
|
if [ -e "composer.phar" ]
|
|
then
|
|
echo "Composer found: checking for update"
|
|
else
|
|
echo "Composer not found: fetching"
|
|
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
|
php composer-setup.php
|
|
php -r "unlink('composer-setup.php');"
|
|
fi
|
|
|
|
COMPOSER_COMMAND="php composer.phar"
|
|
else
|
|
echo "Global composer found: checking for update"
|
|
fi
|
|
|
|
#Make sure we are on the latest composer
|
|
$COMPOSER_COMMAND self-update
|
|
|
|
REPODIR=`git rev-parse --show-toplevel`
|
|
|
|
#Redump the main autoloader
|
|
echo
|
|
echo "Regenerating main autoloader"
|
|
$COMPOSER_COMMAND dump-autoload -d $REPODIR
|
|
|
|
for app in ${REPODIR}/apps/*; do
|
|
if [[ -d $app ]]; then
|
|
if [[ -e ${app}/composer/composer.json ]]; then
|
|
echo
|
|
echo "Regenerating autoloader for ${app}"
|
|
$COMPOSER_COMMAND dump-autoload -d ${app}/composer
|
|
fi
|
|
fi
|
|
done
|
|
|
|
files=`git diff --name-only`
|
|
composerfile=false
|
|
for file in $files
|
|
do
|
|
if [[ $file == *autoload_classmap* ]]
|
|
then
|
|
composerfile=true
|
|
break
|
|
fi
|
|
done
|
|
|
|
echo
|
|
if [ $composerfile = true ]
|
|
then
|
|
echo "The autoloaders are not up to date"
|
|
echo "Please run: bash build/autoloaderchecker.sh"
|
|
echo "And commit the result"
|
|
exit 1
|
|
else
|
|
echo "Autoloader up to date. Carry on"
|
|
exit 0
|
|
fi
|