doc: forgot to add doc/git-get-version.sh
[nit.git] / doc / git-gen-version.sh
1 #!/bin/sh
2
3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 #
5 # Copyright 2008 Jean Privat <jean@pryen.org>
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 # http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18
19 # This program is used to generate version number from git refs.
20 # The version number is stored in a dedicated Nit module.
21
22 gen_version() {
23 if ! grep "$*" nit_version.sty >/dev/null 2>&1; then
24 cat > nit_version.sty<<END
25 % This file was generated by git-gen-version.sh
26 \\newcommand\\nitversion{$*}
27 END
28 echo "Version $*"
29 fi
30 }
31
32 VN=$(git describe --always HEAD 2>/dev/null)
33 if [ "$?" != "0" ]; then
34 if [ -r ../VERSION ]; then
35 VN="$(cat ../VERSION)"
36 else
37 echo >&2 "Error: no VERSION file and not a .git repository."
38 exit 1
39 fi
40 fi
41 if [ -z "$VN" ]; then
42 VN="undefined"
43 fi
44 if [ -n "$1" ]; then
45 VN="${VN}-$1"
46 fi
47 if [ -n "$(git diff HEAD 2>/dev/null)" ]; then
48 VN="${VN}-dirty"
49 fi
50
51 gen_version "$VN"