File: git-version-cmake

package info (click to toggle)
schroot 1.6.13-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,628 kB
  • sloc: cpp: 21,758; sh: 1,019; ansic: 231; makefile: 77
file content (40 lines) | stat: -rwxr-xr-x 1,268 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh

# date needs to use C for date (LC_TIME) formatting, so ensure it's
# not overridden.
export LANGUAGE=C
export LANG=C
export LC_TIME=C
export LC_ALL=C

PACKAGE="$(sed -ne '/^Welcome to /{s/Welcome to[[:space:]][[:space:]]*\([[:alnum:]][[:alnum:]]*\)[[:space:]][[:space:]]*\([[:alnum:]][[:alnum:].-]*\)\..*/\1/p;q}' < NEWS)"
VERSION="$(sed -ne '/^Welcome to /{s/Welcome to[[:space:]][[:space:]]*\([[:alnum:]][[:alnum:]]*\)[[:space:]][[:space:]]*\([[:alnum:]][[:alnum:].-]*\)\..*/\2/p;q}' < NEWS)"

TAG="release/${PACKAGE}-${VERSION}"
COMMIT="$(git rev-parse "$TAG^{}" 2>/dev/null)" || COMMIT=""

if [ -n "$COMMIT" ]; then
    COMMIT_DATE="$(git log -1 "$COMMIT" --pretty="format:%ai")"

    RELEASE_DATE="$(date --date="$COMMIT_DATE" '+%d %b %Y')"
    RELEASE_BY="$(git show "$TAG" | sed -ne '/^Tagger:/{s/Tagger:[[:space:]][[:space:]]*//p;q}')"
else
    RELEASE_DATE="$(date '+%d %b %Y')"
    RELEASE_BY="Unreleased"
fi
RELEASE_DATE_UNIX=$(date +%s --date="$RELEASE_DATE")


cat << EOF
set(GIT_RELEASE_PACKAGE "$PACKAGE")
set(GIT_RELEASE_VERSION "$VERSION")
set(GIT_RELEASE_DATE "$RELEASE_DATE")
set(GIT_RELEASE_DATE_UNIX "$RELEASE_DATE_UNIX")
set(GIT_RELEASE_BY "$RELEASE_BY")
EOF

if [ -n "$COMMIT" ]; then
  cat << EOF
set(GIT_RELEASE_TAG "$TAG")
EOF
fi