dlib/docs/makerel
Davis King b97a64ed7f Changed the scripts so that the environment tests for makedocs only check
things really needed by makedocs.  Things needed by makerel are now in their
own check.  Also switched to unix2dos instead of unsing flip since unix2dos is
more common.

--HG--
rename : docs/testenv => docs/testenv_rel
2013-01-23 19:42:06 -05:00

96 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# 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
COUNTER_FILE=.current_release_number
MINOR_COUTNER_FILE=.current_minor_release_number
RELEASE=`cat $COUNTER_FILE | awk '{ print $1 + 1}'`
if [ "$1" = "major" ]
then
MAJOR_NUM=`cat $COUNTER_FILE | awk '{print $1 + 1}'`
MINOR_NUM=0
echo $MAJOR_NUM > $COUNTER_FILE
echo $MINOR_NUM > $MINOR_COUTNER_FILE
else
MAJOR_NUM=`cat $COUNTER_FILE`
MINOR_NUM=`cat $MINOR_COUTNER_FILE | awk '{print $1 + 1}'`
echo $MINOR_NUM > $MINOR_COUTNER_FILE
fi;
./makedocs makerel || exit 1
rm -rf release || report_failure
mkdir release || report_failure
RELEASE=${MAJOR_NUM}.${MINOR_NUM}
CHANGESET_ID=`hg id -i | sed -e 's/\+//'`
echo $CHANGESET_ID > $REVNUM_FILE
cd release || report_failure
RELDIR=`echo dlib-$RELEASE`
mkdir $RELDIR
cd $RELDIR || report_failure
cp -r ../../docs/cache/dlib . || report_failure
cp -r ../../docs/cache/examples . || report_failure
cp -r ../../docs/cache/tools . || report_failure
echo Version: $RELEASE >> dlib/README.txt
echo "Date: `date`" >> dlib/README.txt
echo Mercurial Revision ID: $CHANGESET_ID >> dlib/README.txt
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" | xargs flip -m
find $RELDIR -name "*.cpp" -or -name "*.h" -or -name "*.txt" -or -name "*.html" | 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
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
echo Create Mercurial tags and commit release
cd ..
hg tag v$RELEASE || report_failure
hg commit -m "Created release v$RELEASE"