in log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/releaser/ChangelogReleaserArgs.java [55:76]
private static int readReleaseVersionMajor(final String releaseVersion, final Pattern versionPattern) {
// Match the version string
final Matcher releaseVersionMatcher = versionPattern.matcher(releaseVersion);
if (!releaseVersionMatcher.matches()) {
final String message = String.format(
"provided version `%s` does not match the expected pattern `%s`",
releaseVersion, versionPattern);
throw new IllegalArgumentException(message);
}
// Extract the version major
final String releaseVersionMajorString = releaseVersionMatcher.group("major");
if (releaseVersionMajorString == null) {
final String message = String.format(
"was expecting version pattern `%s` to provide a `major`-named group matching against the given version `%s`",
versionPattern, releaseVersion);
throw new IllegalArgumentException(message);
}
return Integer.parseInt(releaseVersionMajorString);
}