# The version number is stored in a dedicated Nit module.
gen_version() {
-cat > nit_version.nit<<END
+ if ! grep "$*" nit_version.nit >/dev/null 2>&1; then
+ cat > nit_version.nit<<END
# This file was generated by git-gen-version.sh
package nit_version
-meth nit_version: String do return "$*"
+fun nit_version: String do return "$*"
END
-echo "Version $*"
+ echo "Version $*"
+ fi
}
# Are we in the nitc.nit directory?
fi
fi
-VN=$(git describe --tags --always HEAD)
+VN=$(git describe --always HEAD 2>/dev/null)
+if [ "$?" != "0" ]; then
+ if [ -r ../VERSION ]; then
+ VN="$(cat ../VERSION)"
+ else
+ echo >&2 "Error: no VERSION file and not a .git repository."
+ exit 1
+ fi
+fi
if [ -z "$VN" ]; then
VN="undefined"
fi
if [ -n "$1" ]; then
VN="${VN}_$1"
fi
-if [ -n "$(git diff HEAD)" ]; then
+if [ -n "$(git diff HEAD 2>/dev/null)" ]; then
VN="${VN}_dirty"
fi