98a5d4da2600ad676069ffcda1140527c3270cec
[senf.git] / admin / build.sh
1 #!/bin/sh -e
2
3 cd /home/senf/src
4
5 rm -f build.log ../upload.log
6 touch build.log ../upload.log
7
8 trap 'exec >/dev/null 2>&1; cat build.log ../upload.log 1>&3; exit 1' ERR
9
10 exec 3>&1 >build.log 2>&1
11
12 echo -n '# Starting build at '; date --utc
13
14 if [ "$1" == "-c" ]; then
15     echo '$ find -mindepth 1 -maxdepth 1 ! -name .svn | xargs rm -rf'
16     find -mindepth 1 -maxdepth 1 ! -name .svn ! -name build.log | xargs rm -rf
17 fi
18
19 echo '$ svn update'
20 svn update | tee ../svn-update.log
21 if grep -qv '^At ' ../svn-update.log; then
22     echo '$ rm -f doc/html/html.stamp'
23     rm -f doc/html/html.stamp
24 fi
25 rm -f ../svn-update.log
26
27 echo '$ scons -k all'
28 scons -k all
29 echo -n '# Build completed at '; date --utc
30
31 exec >../upload.log 2>&1
32
33 if [ "$1" == "-c" ]; then
34     cp build.log build-full.log
35 fi
36
37 echo -n '# Upload started at '; date --utc
38 rsync -rzv --del --delete-excluded \
39         --filter="- .svn" \
40         --filter="+ */" \
41         --filter="+ *.html" \
42         --filter="+ *.css" \
43         --filter="+ *.png" \
44         --filter="+ *.php" \
45         --filter="+ *.idx" \
46         --filter="+ *.log" \
47         --filter="- *" \
48         . g0dil@shell.berlios.de://home/groups/senf/htdocs/src
49 echo -n '# Upload completed at '; date --utc
50
51 exec >/dev/null 2>&1
52 scp ../upload.log g0dil@shell.berlios.de:/home/groups/senf/htdocs/upload.log