dlib/docs/makerel

92 lines
2.4 KiB
Bash
Executable File

#!/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=`hg id -i | sed -e 's/\+//'`
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 Mercurial tags and commit release
hg commit -m "Created release v$RELEASE" || report_failure
hg tag v$RELEASE || report_failure
./makedocs makerel || exit 1
echo $CHANGESET_ID > $REVNUM_FILE
set_dlib_version PATCH 99
hg commit -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