autoloaderchecker.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/usr/bin/env bash
  2. COMPOSER_COMMAND=$(which "composer")
  3. if [ "$COMPOSER_COMMAND" = '' ]
  4. then
  5. #No global composer found, try local or download it
  6. if [ -e "composer.phar" ]
  7. then
  8. echo "Composer found: checking for update"
  9. else
  10. echo "Composer not found: fetching"
  11. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  12. php composer-setup.php
  13. php -r "unlink('composer-setup.php');"
  14. fi
  15. COMPOSER_COMMAND="php composer.phar"
  16. else
  17. echo "Global composer found: checking for update"
  18. fi
  19. #Make sure we are on the latest composer
  20. $COMPOSER_COMMAND self-update
  21. REPODIR=`git rev-parse --show-toplevel`
  22. #Redump the autoloader
  23. echo
  24. echo "Regenerating autoloader"
  25. $COMPOSER_COMMAND dump-autoload -d $REPODIR
  26. files=`git diff --name-only`
  27. composerfile=false
  28. for file in $files
  29. do
  30. if [[ $file == lib/composer/* ]]
  31. then
  32. composerfile=true
  33. break
  34. fi
  35. done
  36. echo
  37. if [ $composerfile = true ]
  38. then
  39. echo "The autoloader is not up to date"
  40. echo "Please run: bash build/autoloaderchecker.sh"
  41. echo "And commit the result"
  42. exit 1
  43. else
  44. echo "Autoloader up to date. Carry on"
  45. exit 0
  46. fi