You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BuildAll.sh 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/sh
  2. # cron doesn't seem to like doing this iself...
  3. . /etc/profile
  4. # Path to WWW Directory
  5. WWWDIR="/home/dmdirc/www"
  6. # Path to trunk
  7. MYDIR="/home/dmdirc/google"
  8. # Path to ant binary
  9. ANT="/usr/bin/ant"
  10. # Path to svn binary
  11. SVN="/usr/bin/svn"
  12. # Path to zip binary
  13. ZIP="/usr/bin/zip"
  14. cd ${MYDIR}
  15. /bin/sh $MYDIR/oblong.sh "Nightly Build" "Build Started"
  16. rm -Rf $MYDIR/dist
  17. rm -Rf $MYDIR/build
  18. cd $MYDIR/
  19. $SVN update
  20. SVNREV=`$SVN info | grep Revision`
  21. SVNREV=${SVNREV##*: }
  22. # Substitute the version string
  23. awk '{gsub(/String VERSION = "SVN"/,"String VERSION = \"Nightly - SVN Rev: '${SVNREV}'\"");print}' ${MYDIR}/src/com/dmdirc/Main.java > ${MYDIR}/src/com/dmdirc/Main.java.tmp
  24. mv ${MYDIR}/src/com/dmdirc/Main.java.tmp ${MYDIR}/src/com/dmdirc/Main.java
  25. # Substitute the update channel
  26. awk '{gsub(/UpdateChannel UPDATE_CHANNEL = UpdateChannel.NONE/,"UpdateChannel UPDATE_CHANNEL = UpdateChannel.NIGHTLY");print}' ${MYDIR}/src/com/dmdirc/Main.java > ${MYDIR}/src/com/dmdirc/Main.java.tmp
  27. mv ${MYDIR}/src/com/dmdirc/Main.java.tmp ${MYDIR}/src/com/dmdirc/Main.java
  28. # Substitue the release date
  29. awk '{gsub(/int RELEASE_DATE = 0/,"int RELEASE_DATE = '`date +%Y%m%d`'");print}' ${MYDIR}/src/com/dmdirc/Main.java > ${MYDIR}/src/com/dmdirc/Main.java.tmp
  30. mv ${MYDIR}/src/com/dmdirc/Main.java.tmp ${MYDIR}/src/com/dmdirc/Main.java
  31. # This makes sure we have a clean build with no stale class files, it just takes longer
  32. rm -Rf $MYDIR/build $MYDIR/dist
  33. # The date/svn prefix to add to the end of the file names of stuff
  34. FILEDATA=`date +_%Y%m%d`_${SVNREV}
  35. $ANT -buildfile $MYDIR/build.xml -k
  36. if [ -f $MYDIR/dist/DMDirc.jar ]; then
  37. FILENAME=DMDirc${FILEDATA}.jar
  38. cp $MYDIR/dist/DMDirc.jar /home/dmdirc/www/nightly/$FILENAME
  39. ${ZIP} -r9 /home/dmdirc/www/nightly/Plugins${FILEDATA}.zip plugins
  40. if [ -e $WWWDIR/nightly/DMDirc_latest.jar ]; then
  41. rm $WWWDIR/nightly/DMDirc_latest.jar
  42. fi
  43. if [ -e $WWWDIR/nightly/Plugins_latest.zip ]; then
  44. rm $WWWDIR/nightly/Plugins_latest.zip
  45. fi
  46. ln -s $WWWDIR/nightly/$FILENAME $WWWDIR/nightly/DMDirc_latest.jar
  47. ln -s $WWWDIR/nightly/Plugins${FILEDATA}.zip $WWWDIR/nightly/Plugins_latest.zip
  48. /bin/sh $MYDIR/oblong.sh "Nightly Build" "Build Successful";
  49. /bin/sh $MYDIR/DoReports.sh
  50. else
  51. /bin/sh $MYDIR/oblong.sh "Nightly Build" "Build Failed"
  52. fi
  53. $SVN revert ${MYDIR}/src/com/dmdirc/Main.java