# This file contains some version properties as used by various build files.

# RELEAE MANAGER must change this file after creating a release and
# enter new base version (format "x.y.z", no prefix/appendix): 
version.base=6.0.0

# Other version property defaults, don't change:
version.suffix=SNAPSHOT
version=${version.base}-${version.suffix}
spec.version=${version.base}
