diff --git a/DEVLOPMENT.md b/DEVLOPMENT.md index 6706818..2f9b86b 100644 --- a/DEVLOPMENT.md +++ b/DEVLOPMENT.md @@ -47,5 +47,5 @@ Image Tools is a mixed language project. Java provides the interface code and su Limited samples should be included in version control and ideally none should be included as they massively increase the repository size. Instead all samples required to run the tests should be provided as a seperate package to be downloaded by the developer for inclusion before running the tests. -Image Tools uses the Semantic Versioning scheme to represent changes within the code base. The initial version committed was v0.1.0-DEV. Tagged versions should follow this scheme. In addition to Semantic Versioning the follwing tags are used. DEV (indicates a development version, very unstable, may not pass all tests), SNAPSHOT (unstable versions, passes all tests but not all features may be ready for release), M{number} i.e. M1 (sequential milestone release for a specific version number. This build is 'expected' to be stable, but may not be completely stable. All tests pass and are consistent on known platforms.), FINAL (last supported version of a major.minor pair. No more updates will be released along this line and upgrading to a newer major.minor pair is advised. Typically used when deprecated functionality is cut off.) If no tag is included it is safe to assume it is a production version and has made it out of milestone , but has not yet reached FINAL so more revision changes may occur as bugs are fixed. +Image Tools uses the Semantic Versioning scheme to represent changes within the code base. The initial version committed was v0.1.0-DEV. Tagged versions should follow this scheme. In addition to Semantic Versioning the follwing tags are used. DEV (indicates a development version, very unstable, may not pass all tests), SNAPSHOT (unstable versions, passes all tests but not all features may be ready for release), M{number} i.e. M1 (sequential milestone release for a specific version number. This build is 'expected' to be stable, but may not be completely stable. All tests pass and are consistent on known platforms.), RELEASE (Is a release version), FINAL (last supported version of a major.minor pair. No more updates will be released along this line and upgrading to a newer major.minor pair is advised. Typically used when deprecated functionality is cut off.) If no tag is included it is safe to assume it is a production version and has made it out of milestone , but has not yet reached FINAL so more revision changes may occur as bugs are fixed. diff --git a/changeTagToRelease.sh b/changeTagToRelease.sh new file mode 100755 index 0000000..a237b28 --- /dev/null +++ b/changeTagToRelease.sh @@ -0,0 +1,18 @@ +#!/bin/bash +#Update the release version of the project +#version string will look similar to this: 0.1.0-DEV-27-060aec7 +VERSION=$(head -1 ./version.info) + +#do work on the version to get the correct info +#we need the version string from above to look like this: 0.1.1-DEV +IFS='.' read -a arr <<< "$VERSION" +#results in [0,1,0-DEV-27-060aec7] +IFS='-' read -a arr2 <<< "${arr[2]}" +#results in [0,DEV,27,060aec7] +VERSION="${arr[0]}.${arr[1]}.${arr2[0]}-RELEASE" +#echo $VERSION + +#update the POM +mvn versions:set -DnewVersion=$VERSION + +echo "$VERSION" > version.info \ No newline at end of file