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.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. # The date/svn prefix to add to the end of the file names of stuff
  32. FILEDATA=`date +%Y%m%d`_${SVNREV}
  33. # Build plugins/jar
  34. $ANT -buildfile $MYDIR/build.xml -k clean jar
  35. # Build installers
  36. if [ -e "$MYDIR/dist/DMDirc.jar" ]; then
  37. cd "${MYDIR}/installer"
  38. ./release.sh --jar "${MYDIR}/dist/DMDirc.jar" --opt "--tag ${FILEDATA}" trunk
  39. cd "${MYDIR}"
  40. fi;
  41. if [ -f $MYDIR/dist/DMDirc.jar ]; then
  42. FILENAME=DMDirc_${FILEDATA}.jar
  43. mv "${MYDIR}/installer/output/DMDirc-Setup-${FILEDATA}.exe" "${WWWDIR}/nightly/DMDirc-Setup-${FILEDATA}.exe"
  44. mv "${MYDIR}/installer/output/DMDirc-Setup-${FILEDATA}.run" "${WWWDIR}/nightly/DMDirc-Setup-${FILEDATA}.run"
  45. rm -Rf "${MYDIR}/installer/output/DMDirc-Setup-${FILEDATA}.*.md5"
  46. cp $MYDIR/dist/DMDirc.jar /home/dmdirc/www/nightly/$FILENAME
  47. ${ZIP} -r9 /home/dmdirc/www/nightly/Plugins_${FILEDATA}.zip plugins
  48. ln -sf $WWWDIR/nightly/$FILENAME $WWWDIR/nightly/DMDirc_latest.jar
  49. ln -sf $WWWDIR/nightly/Plugins_${FILEDATA}.zip $WWWDIR/nightly/Plugins_latest.zip
  50. ln -sf "${WWWDIR}/nightly/DMDirc-Setup-${FILEDATA}.run" $WWWDIR/nightly/DMDirc-Setup_latest.run
  51. ln -sf "${WWWDIR}/nightly/DMDirc-Setup-${FILEDATA}.exe" $WWWDIR/nightly/DMDirc-Setup_latest.exe
  52. cd ${MYDIR}
  53. /bin/sh $MYDIR/oblong.sh "Nightly Build" "Build Successful";
  54. /bin/sh $MYDIR/DoReports.sh
  55. else
  56. /bin/sh $MYDIR/oblong.sh "Nightly Build" "Build Failed"
  57. fi
  58. $SVN revert ${MYDIR}/src/com/dmdirc/Main.java