Commit 5b4a4363 authored by Davis King's avatar Davis King

Cleaned up the doc generation and release scripts. I also changed the last modified

time on each page to be the last time the corresponding XML file was modified
rather than the overall project release date.
parent bf2ce54e
...@@ -32,6 +32,11 @@ get_short_revision_number() ...@@ -32,6 +32,11 @@ get_short_revision_number()
RESULT=`hg log -r $1 | grep changeset | awk '{print $2}' | sed -e 's/:.*//'` RESULT=`hg log -r $1 | grep changeset | awk '{print $2}' | sed -e 's/:.*//'`
} }
get_last_modified_date()
{
RESULT=`hg log $1 -l1 --template '{date|date}\n' | awk '{ print $2" "$3", " $5}'`
}
makedocs () makedocs ()
{ {
...@@ -46,7 +51,7 @@ makedocs () ...@@ -46,7 +51,7 @@ makedocs ()
LOGGER_REVNUM=$RESULT LOGGER_REVNUM=$RESULT
XSLT_OPTIONS="--nodtdattr --nonet --novalid" XSLT_OPTIONS="--nodtdattr --nonet --novalid"
DATE=`date --date= "+%b %d, %Y"`; DATE_TODAY=`date --date= "+%b %d, %Y"`;
...@@ -57,14 +62,9 @@ makedocs () ...@@ -57,14 +62,9 @@ makedocs ()
REVISION=$RESULT REVISION=$RESULT
if [ "$1" = "snapshot" ]
then
RELEASE="developmental snapshot $REVISION"
else
MAJOR_NUM=`cat $COUNTER_FILE` MAJOR_NUM=`cat $COUNTER_FILE`
MINOR_NUM=`cat $MINOR_COUTNER_FILE` MINOR_NUM=`cat $MINOR_COUTNER_FILE`
RELEASE=${MAJOR_NUM}.${MINOR_NUM} RELEASE=${MAJOR_NUM}.${MINOR_NUM}
fi;
# get XML versions of the change logs # get XML versions of the change logs
BASE_LOGGER_REVNUM=`echo $LOGGER_REVNUM - 1000 | bc` BASE_LOGGER_REVNUM=`echo $LOGGER_REVNUM - 1000 | bc`
...@@ -142,25 +142,35 @@ makedocs () ...@@ -142,25 +142,35 @@ makedocs ()
# make the web page version # generate the HTML docs
echo Generate web page from XML and XSLT style sheet echo Generate HTML docs from XML and XSLT style sheet
FILES=`\ls docs/*.xml | grep -v main_menu.xml`
for i in $FILES
do
# The last modified date for these files should always be the release date (regardless of when the actual xml files were modified).
if [ "${i}" = "docs/release_notes.xml" -o ${i} = "docs/change_log.xml" -o ${i} = "docs/old_change_log.xml" -o ${i} = "docs/index.html" ]
then
DATE=$DATE_TODAY
else
get_last_modified_date ${i}
DATE=$RESULT
fi;
#make web version
cat docs/stylesheet.xsl | sed -e 's/"is_chm">[^<]*/"is_chm">false/' -e "s/_CURRENT_RELEASE_/$RELEASE/" -e "s/_LAST_MODIFIED_DATE_/$DATE/" \ cat docs/stylesheet.xsl | sed -e 's/"is_chm">[^<]*/"is_chm">false/' -e "s/_CURRENT_RELEASE_/$RELEASE/" -e "s/_LAST_MODIFIED_DATE_/$DATE/" \
> docs/stylesheet.$$.xsl > docs/stylesheet.$$.xsl
\ls docs/*.xml | xargs -i echo -o {} docs/stylesheet.$$.xsl {} | \ OUT_FILE=$(echo ${i} | sed -e "s/\.xml/\.html/" | sed -e "s/docs\//docs\/web\//")
sed -e "s/\.xml /\.html /" | sed -e "s/-o docs/-o docs\/web/" | \ xsltproc $XSLT_OPTIONS -o $OUT_FILE docs/stylesheet.$$.xsl ${i}
grep -v main_menu. |\
xargs -l xsltproc $XSLT_OPTIONS
rm docs/stylesheet.$$.xsl
# make the chm version #make chm version
echo Generate non-web page version from XML and XSLT style sheet
cat docs/stylesheet.xsl | sed -e 's/"is_chm">[^<]*/"is_chm">true/' -e "s/_CURRENT_RELEASE_/$RELEASE/" -e "s/_LAST_MODIFIED_DATE_/$DATE/" \ cat docs/stylesheet.xsl | sed -e 's/"is_chm">[^<]*/"is_chm">true/' -e "s/_CURRENT_RELEASE_/$RELEASE/" -e "s/_LAST_MODIFIED_DATE_/$DATE/" \
> docs/stylesheet.$$.xsl > docs/stylesheet.$$.xsl
\ls docs/*.xml | xargs -i echo -o {} docs/stylesheet.$$.xsl {} | \ OUT_FILE=$(echo ${i} | sed -e "s/\.xml/\.html/" | sed -e "s/docs\//docs\/chm\/docs\//")
sed -e "s/\.xml /\.html /" | sed -e "s/-o docs/-o docs\/chm\/docs/" | \ xsltproc $XSLT_OPTIONS -o $OUT_FILE docs/stylesheet.$$.xsl ${i}
grep -v main_menu. |\
xargs -l xsltproc $XSLT_OPTIONS
rm docs/stylesheet.$$.xsl rm docs/stylesheet.$$.xsl
done
FILES=`find docs/chm docs/web -iname "*.html" -type f` FILES=`find docs/chm docs/web -iname "*.html" -type f`
...@@ -190,7 +200,7 @@ makedocs () ...@@ -190,7 +200,7 @@ makedocs ()
# build all the html documentation # build all the html documentation
makedocs $1; makedocs
# now make the table of contents for the chm file # now make the table of contents for the chm file
echo Generating the table of contents for the chm file echo Generating the table of contents for the chm file
......
...@@ -27,14 +27,14 @@ if [ "$1" = "major" ] ...@@ -27,14 +27,14 @@ if [ "$1" = "major" ]
MINOR_NUM=0 MINOR_NUM=0
echo $MAJOR_NUM > $COUNTER_FILE echo $MAJOR_NUM > $COUNTER_FILE
echo $MINOR_NUM > $MINOR_COUTNER_FILE echo $MINOR_NUM > $MINOR_COUTNER_FILE
./makedocs major || exit 1
else else
MAJOR_NUM=`cat $COUNTER_FILE` MAJOR_NUM=`cat $COUNTER_FILE`
MINOR_NUM=`cat $MINOR_COUTNER_FILE | awk '{print $1 + 1}'` MINOR_NUM=`cat $MINOR_COUTNER_FILE | awk '{print $1 + 1}'`
echo $MINOR_NUM > $MINOR_COUTNER_FILE echo $MINOR_NUM > $MINOR_COUTNER_FILE
./makedocs || exit 1
fi; fi;
./makedocs || exit 1
rm -rf release || report_failure rm -rf release || report_failure
mkdir release || report_failure mkdir release || report_failure
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment