]> Git — Sourcephile - ocaml/libocaml_make.git/blob - version
Modification : ocamlmklib uniquement quand des stubs et -oc déduit des dépendances.
[ocaml/libocaml_make.git] / version
1 #!/bin/sh
2 set -e -f -u ${TRACE:+-x}
3 OCAMLPATH=${OCAMLPATH:-src}
4 name=${name:-$(find $(printf %s "$OCAMLPATH" | tr : ' ') \
5 -type f -name "META.*" -printf %f -quit | \
6 sed -e '1s/^META\.//;q')}
7 version=$(OCAMLPATH="$OCAMLPATH" ocamlfind query -format '%(version)' "$name")
8 diff=""
9 if [ ! ${version_no_git:+set} ] && which git >/dev/null
10 then
11 version_pattern=$(printf %s "$version" | sed -e 's/\./\\./g')
12 tags=$(git tag --points-at HEAD |
13 sed -e "/^v$version_pattern/d;s/^/+/" |
14 tr -d '\n')
15 if [ -n "$tags" ]
16 then version="$version$tags"
17 elif [ -z "$(git tag --points-at HEAD --list "v$version_pattern")" ]
18 then version="$version+git$(git log -1 --pretty='%h')"
19 fi
20 if [ ! ${version_no_date:+set} ] && ! git diff --quiet
21 then diff="+date$(date +%s)"
22 fi;
23 elif [ ${version_date:+set} ]
24 then diff="+date$(date +%s)"
25 fi
26 printf '%s%s\n' "$version" "$diff"