in jenkins-pipeline-shared-libraries/vars/util.groovy [87:98]
def getNextVersion(String version, String type, String suffix = 'SNAPSHOT', boolean resetSubVersions = true) {
assert ['major', 'minor', 'micro'].contains(type)
Integer[] versionSplit = parseVersion(version)
if (versionSplit != null) {
int majorVersion = versionSplit[0] + (type == 'major' ? 1 : 0)
int minorVersion = resetSubVersions && type == 'major' ? 0 : (versionSplit[1] + (type == 'minor' ? 1 : 0))
int microVersion = resetSubVersions && (type == 'major' || type == 'minor') ? 0 : (versionSplit[2] + (type == 'micro' ? 1 : 0))
return "${majorVersion}.${minorVersion}.${microVersion}${suffix ? '-' + suffix : ''}"
} else {
return null
}
}