-
Gregory Haskins authored
This patch introduces a more robust versioning mechanism, summarized as follows: 1) The top-level makefile defines $PROJECT_VERSION which is intended to be consumed throughout (though some places are left for a future patch) 2) The variable is expected to use Semantic Versioning with X.Y.Z for releases, and X.Y.Z-SNAPSHOT for intermediate development builds. 3) We bake the $PROJECT_VERSION into the binaries (peer and membersrvc) at compile time and remove the yaml configuration that attempted to provide competing versioning. 4) We tag our docker images (except for baseimage, that will be addressed later) with :$(ARCH)-$(PROJECT_VERSION), suitable for unambiguous long term hosting on something like dockerhub. 5) We add support for dynamically parsing yaml-based Dockerfile definitions to support variable subsitution. This allows the yaml to set a Dockerfile definition with something like "FROM foo:$(ARCH)-$(PROJECT_VERSION)" and the variables will resolve at runtime based on the context it runs under. This is all as a first step in supporting a more reasonable release mechanism in general, and a docker-based release mechanism in particular. Change-Id: Ic6df02be4046ca5dbb256f26658a4c393da55c0f Signed-off-by: Greg Haskins <gregory.haskins@gmail.com>
2eadb11a