Rename REAMDE to README.md
[nit.git] / src / 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 "$*" version.nit >/dev/null 2>&1; then
24 :
25 else
26 cat > version.nit<<END
27 # This file was generated by git-gen-version.sh
28 module version
29 fun nit_version: String do return "$*"
30 END
31 echo "Version $*"
32 fi
33 }
34
35 # Are we in the nit.nit directory?
36 if [ ! -f nit.nit ]; then
37 if [ -f src/nit.nit ]; then
38 cd src
39 else
40 echo "Error: no nit.nit found." >&2
41 exit 1
42 fi
43 fi
44
45 VN=`git describe --always HEAD 2>/dev/null`
46 if [ "$?" != "0" ]; then
47 if [ -r ../VERSION ]; then
48 VN="$(cat ../VERSION)"
49 else
50 echo >&2 "Error: no VERSION file and not a .git repository."
51 exit 1
52 fi
53 fi
54 if [ -z "$VN" ]; then
55 VN="undefined"
56 fi
57 if [ -n "$1" ]; then
58 VN="${VN}_$1"
59 fi
60 if [ -n "$(git diff HEAD 2>/dev/null)" ]; then
61 VN="${VN}_dirty"
62 fi
63
64 gen_version "$VN"