versionNumberIncrementor function
Increments the patch version and build number of a semantic version string.
This function takes a semantic version string (e.g., "1.0.0+1") and increments its patch version number and build number. If the new patch version is greater than the new build number, the patch version is used as the unified number; otherwise, the build number is used.
version The semantic version string to increment.
Returns a new semantic version string with the incremented numbers.
Implementation
String versionNumberIncrementor(String version) {
final versionParts = version.split('+');
final versionNumbers = versionParts[0].split('.');
final buildNumber = int.parse(versionParts.last) + 1;
versionNumbers[versionNumbers.length - 1] =
(int.parse(versionNumbers.last) + 1).toString();
final unifiedNumber = int.parse(versionNumbers.last) > buildNumber
? int.parse(versionNumbers.last)
: buildNumber;
versionNumbers[versionNumbers.length - 1] = unifiedNumber.toString();
final newVersion = '${versionNumbers.join('.')}+$unifiedNumber';
return newVersion;
}