#!/bin/bash . bash_helper_functions # If the first argument to this script is the word major then the # major version number is updated and the minor is set back to 0. report_failure () { echo " **** failed to complete **** " exit 1 } ./testenv_rel || report_failure REVNUM_FILE=.logger_revnum CHANGESET_ID=`git rev-parse HEAD` rm -rf release || report_failure mkdir release || report_failure if [ "$1" = "major" ] then MAJOR_NUM=`echo $MAJOR_NUM+1|bc` MINOR_NUM=0 else MINOR_NUM=`echo $MINOR_NUM+1|bc` fi; set_dlib_version MAJOR $MAJOR_NUM set_dlib_version MINOR $MINOR_NUM set_dlib_version PATCH 0 RELEASE=${MAJOR_NUM}.${MINOR_NUM} # Commit changes to the version numbers so that the makedocs script will use them. echo Create git tags and commit release git commit -a -m "Created release v$RELEASE" || report_failure git tag v$RELEASE || report_failure ./makedocs makerel || exit 1 echo $CHANGESET_ID > $REVNUM_FILE set_dlib_version PATCH 99 git commit -a -m "Record last changeset and set PATCH version to 99" cd release || report_failure RELDIR=`echo dlib-$RELEASE` mkdir $RELDIR cd $RELDIR || report_failure cp -r ../../docs/cache/* . || report_failure echo Version: $RELEASE >> README.md echo "Date: `date`" >> README.md echo Mercurial Revision ID: $CHANGESET_ID >> README.md WEBPAGE=`echo dlib_webpage-$RELEASE.tar` SOURCE_ZIP=`echo $RELDIR.zip` SOURCE_TAR=`echo $RELDIR.tar` tar -C ../../docs/chm -cf - docs/ documentation.html | tar -xf - || report_failure cd .. || report_failure tar -cf $SOURCE_TAR $RELDIR || report_failure # flip everything to MS-DOS line endings #find $RELDIR -name "*.cpp" -or -name "*.h" -or -name "*.txt" -or -name "*.html" -or -name "*.py" | xargs flip -m find $RELDIR -name "*.cpp" -or -name "*.h" -or -name "*.txt" -or -name "*.html" -or -name "*.py" | xargs unix2dos &> /dev/null zip -r9 $SOURCE_ZIP $RELDIR > /dev/null || report_failure tar -C ../docs -cf $WEBPAGE web || report_failure bzip2 $SOURCE_TAR || report_failure bzip2 $WEBPAGE || report_failure rm -rf $RELDIR # Don't make the chm doc file since hhc.exe doesn't run in any copy of wine anymore :( #wine ../docs/chm/htmlhelp/hhc.exe ../docs/chm/lib.hhp #mv ../docs/chm/help.chm dlib_documentation-$RELEASE.chm || report_failure mkdir v$RELEASE #mv dlib_documentation-$RELEASE.chm v$RELEASE mv $SOURCE_TAR.bz2 v$RELEASE mv $SOURCE_ZIP v$RELEASE