d976a2c4716ba4539273f58d7fcebe695ceb977a
[senf.git] / admin / build.sh
1 #!/bin/bash -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 | 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