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.
tdelibs/kdoctools/update-entities.sh

70 lines
2.9 KiB

#!/bin/bash
# A script to dynamically update general.entities with the current version release information.
# As the help files are updated/revised, DocBook entities can be used rather than static strings for
# release version, release date, and copyright date. This allows for a professional touch with each
# updated help file to show the file is relevant to the current Trinity release.
TDEVERSION_FILE="@CMAKE_SOURCE_DIR@/tdecore/tdeversion.h"
ENTITIES_FILE="@CMAKE_SOURCE_DIR@/kdoctools/customization/entities/general.entities"
echo "-- Updating $ENTITIES_FILE:"
# Extract the Trinity version number.
if [ -f "$TDEVERSION_FILE" ]; then
TDE_RELEASE_VERSION="`grep TDE_VERSION_STRING \"$TDEVERSION_FILE\"`"
#echo " TDE_RELEASE_VERSION: $TDE_RELEASE_VERSION"
if [ -z "$TDE_RELEASE_VERSION" ]; then
echo "Cannot determine the Trinity version number. Please verify $TDEVERSION_FILE exists."
echo
exit 1
fi
if [ -n "`echo \"$TDE_RELEASE_VERSION\" | grep DEVELOPMENT`" ]; then
TDE_RELEASE_VERSION="`echo $TDE_RELEASE_VERSION | awk '{print $3,$4}' | sed -e 's/"//g'`"
else
TDE_RELEASE_VERSION="`echo $TDE_RELEASE_VERSION | awk '{print $3}' | sed -e 's/"//g'`"
fi
echo " TDE Release Version: $TDE_RELEASE_VERSION"
if [ -z "$TDE_RELEASE_VERSION" ]; then
echo "Cannot determine the Trinity version number. Please verify $TDEVERSION_FILE exists."
echo
exit 1
fi
else
echo "Please verify $TDEVERSION_FILE exists."
echo
exit 1
fi
# $TDEVERSION_FILE (tdeversion.h) remains stagnant throughout the git cycle.
# The internal release data is manually patched only for the official release.
# Therefore the file date stamp does not change. As the development cycle
# progresses, the file date stamp looks really old in the help handbooks. As
# the tde-release-date entity eventually will match the official release file
# date stamp, we can use the actual date up to that point, which looks nicer
# in the handbooks during the development cycle.
if [ -n "`echo \"$TDE_RELEASE_VERSION\" | grep DEVELOPMENT`" ]; then
# Development cycle: use the actual date as the release date.
TDE_RELEASE_DATE=`date +'%B %e, %Y'`
else
# Official release: extract the file date stamp as the release date.
TDE_RELEASE_DATE=`find $TDEVERSION_FILE -printf "%TB %Te, %TY\n"`
fi
echo " TDE Release Date: $TDE_RELEASE_DATE"
# Create a copyright date string. First release of Trinity was 3.5.11, April 29, 2010.
TDE_RELEASE_COPYRIGHT="2010-`date +%Y`"
echo " TDE Release Copyright: $TDE_RELEASE_COPYRIGHT"
# Now update $ENTITIES_FILE.
if [ -r "$ENTITIES_FILE" ]; then
echo "" >> $ENTITIES_FILE
echo -e "<!ENTITY tde-release-version \"${TDE_RELEASE_VERSION}\">" >> $ENTITIES_FILE
echo -e "<!ENTITY tde-release-date \"${TDE_RELEASE_DATE}\">" >> $ENTITIES_FILE
echo -e "<!ENTITY tde-copyright-date \"${TDE_RELEASE_COPYRIGHT}\">" >> $ENTITIES_FILE
else
echo "Please verify $ENTITIES_FILE exists."
echo
exit 1
fi
exit 0