create_sandbox.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/sh
  2. # creates a symfony sandbox for this symfony version
  3. echo ">>> initialization"
  4. DIR=../`dirname $0`
  5. SANDBOX_NAME=sf_sandbox
  6. APP_NAME=frontend
  7. PHP=php
  8. echo ">>> project initialization"
  9. rm -rf ${SANDBOX_NAME}
  10. mkdir ${SANDBOX_NAME}
  11. cd ${SANDBOX_NAME}
  12. echo ">>> create a new project and a new app"
  13. ${PHP} ${DIR}/../../data/bin/symfony generate:project ${SANDBOX_NAME}
  14. ${PHP} symfony generate:app ${APP_NAME}
  15. echo ">>> add LICENSE"
  16. cp ${DIR}/../../LICENSE LICENSE
  17. echo ">>> add README"
  18. cp ${DIR}/../../data/bin/SANDBOX_README README
  19. echo ">>> add symfony command line for windows users"
  20. cp ${DIR}/../../data/bin/symfony.bat symfony.bat
  21. echo ">>> freeze symfony"
  22. ${PHP} symfony project:freeze ${DIR}/..
  23. echo ">>> default to sqlite (propel.ini)"
  24. sed -i '' -e "s#\(propel.database *= *\)mysql#\1sqlite#" config/propel.ini
  25. sed -i '' -e "s#\(propel.database.createUrl *= *\).*#\1sqlite://./../../../../../../../data/sandbox.db#" config/propel.ini
  26. sed -i '' -e "s#\(propel.database.url *= *\).*#\1sqlite://./../../../../../../../data/sandbox.db#" config/propel.ini
  27. echo ">>> default to sqlite (databases.yml)"
  28. echo "all:
  29. propel:
  30. class: sfPropelDatabase
  31. param:
  32. phptype: sqlite
  33. database: %SF_DATA_DIR%/sandbox.db
  34. " > config/databases.yml
  35. echo ">>> add some empty files in empty directories"
  36. touch apps/${APP_NAME}/modules/.sf apps/${APP_NAME}/i18n/.sf doc/.sf web/images/.sf
  37. touch log/.sf cache/.sf
  38. touch lib/symfony/plugins/sfPropelPlugin/data/generator/sfPropelAdmin/default/skeleton/templates/.sf
  39. touch plugins/.sf web/js/.sf
  40. touch test/unit/.sf test/functional/.sf test/functional/${APP_NAME}/.sf
  41. touch web/uploads/assets/.sf
  42. touch data/sandbox.db
  43. chmod 777 data
  44. chmod 777 data/sandbox.db
  45. echo ">>> create archive"
  46. cd ..
  47. tar zcpf ${SANDBOX_NAME}.tgz ${SANDBOX_NAME}
  48. zip -rq ${SANDBOX_NAME}.zip ${SANDBOX_NAME}
  49. echo ">>> cleanup"
  50. rm -rf ${SANDBOX_NAME}