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