author | Pawel Solyga <Pawel.Solyga@gmail.com> |
Tue, 16 Sep 2008 17:38:09 +0000 | |
changeset 158 | 2d5a7c18f9ea |
parent 157 | 8a64fc6b9d0e |
child 159 | 451f39c0e1aa |
permissions | -rwxr-xr-x |
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
1 |
#!/bin/bash |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
2 |
|
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
3 |
# Script to create a "release" subdirectory. This is a subdirectory |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
4 |
# containing a bunch of symlinks, from which the app can be updated. |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
5 |
# The main reason for this is to import Django from a zipfile, which |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
6 |
# saves dramatically in upload time: statting and computing the SHA1 |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
7 |
# for 1000s of files is slow. Even if most of those files don't |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
8 |
# actually need to be uploaded, they still add to the work done for |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
9 |
# each update. |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
10 |
|
150
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
11 |
DJANGO_ZIPFILE=django.zip |
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
12 |
DEFAULT_APP_RELEASE=../release |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
13 |
DEFAULT_APP_FOLDER="../app" |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
14 |
DEFAULT_APP_FILES="app.yaml index.yaml __init__.py main.py settings.py urls.py" |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
15 |
DEFAULT_APP_DIRS="soc ghop gsoc feedparser tiny_mce" |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
16 |
|
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
17 |
APP_RELEASE=${APP_RELEASE:-"${DEFAULT_APP_RELEASE}"} |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
18 |
APP_FOLDER=${APP_FOLDER:-"${DEFAULT_APP_FOLDER}"} |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
19 |
APP_FILES=${APP_FILES:-"${DEFAULT_APP_FILES}"} |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
20 |
APP_DIRS=${APP_DIRS:-"${DEFAULT_APP_DIRS}"} |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
21 |
|
150
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
22 |
cd $APP_FOLDER |
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
23 |
# Remove old $DJANGO_ZIPFILE file. |
150
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
24 |
rm -rf $DJANGO_ZIPFILE |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
25 |
|
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
26 |
# Create new $DJANGO_ZIPFILE file. |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
27 |
# We prune: |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
28 |
# - .svn subdirectories for obvious reasons. |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
29 |
# - contrib/gis/ and related files because it's huge and unneeded. |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
30 |
# - *.po and *.mo files because they are bulky and unneeded. |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
31 |
# - *.pyc and *.pyo because they aren't used by App Engine anyway. |
150
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
32 |
DJANGO_DIR="django" |
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
33 |
|
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
34 |
zip -q $DJANGO_ZIPFILE `find $DJANGO_DIR \ |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
35 |
-name .svn -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
36 |
-name gis -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
37 |
-name admin -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
38 |
-name localflavor -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
39 |
-name mysql -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
40 |
-name mysql_old -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
41 |
-name oracle -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
42 |
-name postgresql-prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
43 |
-name postgresql_psycopg2 -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
44 |
-name sqlite3 -prune -o \ |
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
45 |
-name test -prune -o \ |
150
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
46 |
-type f ! -name \*.py[co] ! -name *.[pm]o -print` |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
47 |
|
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
48 |
# Remove old $APP_RELEASE directory. |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
49 |
rm -rf $APP_RELEASE |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
50 |
|
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
51 |
# Create new $APP_RELEASE directory. |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
52 |
mkdir $APP_RELEASE |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
53 |
|
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
54 |
# Create symbolic links. |
150
715b07485c48
Changed ZIPFILE variable to DJANGO_ZIPFILE in make_release.sh script and added 'cd $APP_FOLDER' before we zip django.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
144
diff
changeset
|
55 |
for x in $APP_FILES $APP_DIRS $DJANGO_ZIPFILE |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
56 |
do |
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
57 |
#echo $APP_FOLDER/$x $APP_RELEASE/$x |
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
58 |
ln -s $APP_FOLDER/$x $APP_RELEASE/$x |
144
53d8b8064019
Release shell script and associated changes. Set svn:ignore property on /app/django.zip file and /release folder.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
59 |
done |
158
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
60 |
|
2d5a7c18f9ea
Updated make_release.sh docs and added way for person invoking the script to override script variables such as RELEASE using something like "RELEASE=../testing_release ./make_release.sh".
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
157
diff
changeset
|
61 |
echo "Release created in $APP_RELEASE." |