in appengine-plugins-core/src/main/java/com/google/cloud/tools/appengine/operations/cloudsdk/serialization/CloudSdkVersion.java [52:80]
public CloudSdkVersion(String version) {
Preconditions.checkNotNull(version, "Null version");
Preconditions.checkArgument(!version.isEmpty(), "empty version");
if ("HEAD".equals(version)) {
majorVersion = -1;
minorVersion = -1;
patchVersion = -1;
preRelease = null;
buildIdentifier = null;
} else {
Matcher matcher = SEMVER_PATTERN.matcher(version);
if (!matcher.matches()) {
throw new IllegalArgumentException(
String.format("Pattern \"%s\" is not a valid CloudSdkVersion.", version));
}
majorVersion = Integer.parseInt(matcher.group("major"));
minorVersion = Integer.parseInt(matcher.group("minor"));
patchVersion = Integer.parseInt(matcher.group("patch"));
preRelease =
matcher.group("prerelease") != null
? new CloudSdkVersionPreRelease(matcher.group("prerelease"))
: null;
buildIdentifier = matcher.group("build");
}
this.version = version;
}