Development

/tags/RELEASE_0_6_2/bin/create_quickstart.sh

You must first sign up to be able to contribute.

root/tags/RELEASE_0_6_2/bin/create_quickstart.sh

Revision 967, 3.4 kB (checked in by fabien, 2 years ago)

added .sf in empty directories in sandbox

  • Property svn:executable set to *
Line 
1 #!/bin/sh
2
3 # create a quickstart package
4
5 # initialization
6
7 SANDBOX_NAME=sf_sandbox
8 APP_NAME=frontend
9 SVN_PATH=trunk
10
11 echo ">>> project initialization"
12 mkdir ${SANDBOX_NAME}
13 cd ${SANDBOX_NAME}
14 mkdir lib bin data web
15
16 # pake
17
18 echo ">>> add pake package"
19 mkdir tmp
20 cd tmp
21 curl http://www.pake-project.org/downloads/pake-current.tgz > pake.tgz
22 tar zxpf pake.tgz
23 mv pake-`awk '/<release>/ {print $1}' package.xml | sed 's#<release>##' | sed 's#</release>##' | head -n 1`/lib/pake ../lib/pake
24 mv pake-`awk '/<release>/ {print $1}' package.xml | sed 's#<release>##' | sed 's#</release>##' | head -n 1`/bin/pake.php ../bin/
25 cd ..
26 rm -rf tmp
27
28 # symfony libraries
29
30 echo ">>> freeze symfony libraries"
31 svn export http://svn.symfony-project.com/${SVN_PATH}/lib/ lib/symfony/
32
33 echo ">>> freeze symfony data"
34 svn export http://svn.symfony-project.com/${SVN_PATH}/data/ data/symfony/
35 mv data/symfony/web/sf web/sf
36
37 # symfony command line
38
39 echo ">>> add symfony command line"
40 mkdir tmp
41 svn export http://svn.symfony-project.com/${SVN_PATH}/bin/ tmp/bin/
42 mv tmp/bin/symfony.sh symfony.sh
43 mv tmp/bin/symfony.bat symfony.bat
44 mv tmp/bin/symfony.php bin/symfony.php
45 rm -rf tmp
46 sed -i '' -e "s#@PEAR-DIR@#bin#g" symfony.sh
47 sed -i '' -e "s#@PEAR-DIR@#bin#g" symfony.bat
48 sed -i '' -e "s#'@PEAR-DIR@'#dirname(__FILE__).'/../lib'#g" -e "s#'@DATA-DIR@'#dirname(__FILE__).'/../data'#g" -e "s#@SYMFONY-VERSION@#0.6.0#g" -e "s#require_once 'pake.php'#require_once dirname(__FILE__).'/pake.php'#g" bin/symfony.php
49 sed -i '' -e "s#'@PEAR-DIR@/symfony'#dirname(__FILE__)#g" -e "s#'@DATA-DIR@#dirname(__FILE__).'/../../data#g" -e "s#@SYMFONY-VERSION@#0.6.0#g" lib/symfony/pear.php
50 chmod 755 symfony.sh
51
52 # default project / app
53
54 echo ">>> create a new project and a new app"
55 ./symfony.sh init-project ${SANDBOX_NAME}
56 ./symfony.sh init-app ${APP_NAME}
57
58 # phing
59
60 echo ">>> add phing package"
61 mkdir tmp
62 cd tmp
63 curl http://phing.info/pear/phing-current.tgz > phing.tgz
64 tar zxpf phing.tgz
65 mv phing-`awk '/<version>/ {print $1}' package.xml | sed 's#<version>##' | sed 's#</version>##' | head -n 1` ../lib/phing
66 cd ..
67 rm -rf tmp
68
69 # schema.xml
70
71 echo ">>> rename schema.xml"
72 mv config/schema.xml.sample config/schema.xml
73
74 # license
75
76 echo ">>> add LICENSE"
77 svn export http://svn.symfony-project.com/${SVN_PATH}/LICENSE LICENSE
78
79 # readme
80
81 echo ">>> add README"
82 svn export http://svn.symfony-project.com/${SVN_PATH}/doc/SANDBOX_README README
83
84 # default: sqlite db
85
86 echo ">>> default to sqlite"
87 sed -i '' -e "s#\(propel.database *= *\)mysql#\1sqlite#" config/propel.ini
88 sed -i '' -e "s#\(propel.database.createUrl *= *\).*#\1sqlite://./../../../../data/sandbox.db#" config/propel.ini
89 sed -i '' -e "s#\(propel.database.url *= *\).*#\1sqlite://./../../../../data/sandbox.db#" config/propel.ini
90
91 sed -i '' -e "s#\( *dsn *: *\).*#\1sqlite://./../data/sandbox.db#" config/databases.yml
92
93 sed -i '' -e "s/^#//g" config/databases.yml
94
95 # add some empty files in empty directories
96 touch apps/${APP_NAME}/modules/.sf apps/${APP_NAME}/i18n/.sf test/${APP_NAME}/.sf doc/.sf web/images/.sf
97 touch log/.sf cache/.sf batch/.sf data/sql/.sf data/model/.sf data/plugins/.sf
98 touch data/symfony/generator/sfPropelAdmin/default/skeleton/templates/.sf
99 touch data/symfony/generator/sfPropelAdmin/default/skeleton/validate/.sf
100 touch data/symfony/modules/default/config/.sf data/symfony/skeleton/project/build/.sf
101 touch lib/model/.sf lib/plugins/.sf web/js/.sf
102
103 # create archive
104
105 cd ..
106 tar zcpf ${SANDBOX_NAME}.tgz ${SANDBOX_NAME}
107
108 # cleanup
109
110 rm -rf ${SANDBOX_NAME}
Note: See TracBrowser for help on using the browser.