Skip to content

Instantly share code, notes, and snippets.

@ArnaudD
Created April 8, 2010 20:05
Show Gist options
  • Save ArnaudD/360467 to your computer and use it in GitHub Desktop.
Save ArnaudD/360467 to your computer and use it in GitHub Desktop.
Script pour initialiser un projet symfony sous subversion à l'UAPV
#!/bin/bash
#
# Script pour initialiser un projet symfony sous subversion à l'UAPV
#
# Utilisation :
# wget http://gist.github.com/raw/360467/uapvSfProject.sh -q -O - > /tmp/uapvSfProject.sh
# bash /tmp/uapvSfProject.sh [nom_projet]
#
mkdir $1
cd $1
read -er -p "Auteur (Nom Prénom <em@il>) : " AUTHOR
read -er -p "Nom d'utilisateur du dépôt svn : " SVN_USERNAME
PROJECT_SVN="svn://depotware.univ-avignon.fr/$1"
SYMFONY_SVN='http://svn.symfony-project.com/branches/1.4'
# confirm [message] [default_value]
function confirm {
CONFIRM=''
local invite="$1"
local reponse
read -p "$invite" reponse
case "$reponse" in
[oO1] ) CONFIRM='o';;
[nN0] ) CONFIRM='n';;
* ) CONFIRM="$2";;
esac
}
# Initialisation du dépôt du projet
svn checkout --username $SVN_USERNAME $PROJECT_SVN/trunk .
# Récupération des sources de symfony
svn mkdir lib/vendor --parents
svn propset svn:externals "symfony $SYMFONY_SVN" lib/vendor
svn commit -m "Importation des sources de symfony"
svn update
# Génération du squelette du projet
PROJECT_NAME=$1
./lib/vendor/symfony/data/bin/symfony generate:project --orm=Propel "$AUTHOR"
ln -s lib/vendor/symfony/data/web/sf web/sf
svn status | grep ^? | sed "s/? *//" | xargs svn add
svn mkdir lib/model/om lib/model/map data/sql --parents
svn propset svn:ignore "*" log
svn propset svn:ignore "*" cache
svn propset svn:ignore "*" web/uploads
svn propset svn:ignore "*schema-transformed.xml
database.yml" config
svn propset svn:ignore "lib.model.schema.sql
plugins.*.sql
sqldb.map" data/sql
svn propset svn:ignore "*" lib/model/om
svn propset svn:ignore "*" lib/model/map
# Installation de plugins prédéfinis
confirm "Souhaitez vous installer le plugin d'authentification (O/n)" o
if [ $CONFIRM = 'o' ]; then
echo "Installation de uapvAuthPlugin"
echo "uapvAuthPlugin svn://depotware.univ-avignon.fr/symfony_plugins/trunk/uapvAuthPlugin" >> svnexternals.tmp
#./symfony plugin:install
fi
confirm "Souhaitez vous installer le plugin d'accès à Appig (o/N)" n
if [ $CONFIRM = 'o' ]; then
echo "Installation de uapvAppigPlugin"
echo "uapvAppigPlugin svn://depotware.univ-avignon.fr/symfony_plugins/trunk/uapvAppigPlugin" >> svnexternals.tmp
fi
touch svnexternals.tmp
svn propset svn:externals -F svnexternals.tmp plugins/
rm svnexternals.tmp
chown www-data:www-data log cache web/uploads
svn commit -m "Création du squelette symfony"
svn update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment