#!/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 "" >> $ENTITIES_FILE echo -e "" >> $ENTITIES_FILE echo -e "" >> $ENTITIES_FILE else echo "Please verify $ENTITIES_FILE exists." echo exit 1 fi exit 0