awesome/build-utils/git-version-stamp.sh

34 lines
772 B
Bash
Raw Permalink Normal View History

2008-06-22 20:42:07 +02:00
#!/bin/sh
#
# $1 file containing the last git-describe output
# $2 the file in which to update the version string
#
# TODO: proper error handling
die()
{
echo "$0: WARNING: version stamp update failed: $1."
#exit 1 # not important enough to stop the build.
exit 0
2008-06-22 20:42:07 +02:00
}
STAMP=`cat "$1" 2> /dev/null`
if [ -z "$STAMP" ]; then
die "Missing STAMP: $1"
fi
2008-06-22 20:42:07 +02:00
CURRENT=`git describe --dirty 2>/dev/null`
if [ -z "$CURRENT" ]; then
die "git describe failed: $(git describe --dirty)."
2008-06-22 20:42:07 +02:00
fi
if [ "$STAMP" != "$CURRENT" ]
then
echo "git version changed: $STAMP -> $CURRENT"
sed -e s/$STAMP/$CURRENT/g "$2" 1> "$2.new" || die
mv "$2.new" "$2"
echo -n "$CURRENT" > "$1"
2008-06-22 20:42:07 +02:00
fi
# vim: filetype=sh:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80