in cmd/hotdog-hotpatch/main.go [356:385]
func findVersion(j *jvm) (jvmVersion, bool) {
split := strings.SplitN(j.version, " ", 4)
kind := split[0]
if kind != "openjdk" && kind != "java" {
logger.Printf("Skipping unsupported JVM kind: %q for %d", kind, j.pid)
return "", false
}
if len(split) < 3 {
logger.Printf("Failed to locate version for %d", j.pid)
return "", false
}
semver := split[2]
if semver[0] == '"' {
semver = semver[1:]
}
if semver[len(semver)-1] == '"' {
semver = semver[:len(semver)-1]
}
parts := strings.SplitN(semver, ".", 3)
switch {
case parts[0] == "17":
return java17, true
case parts[0] == "11",
parts[0] == "15":
return java11, true
case parts[0] == "1" && len(parts) > 1 && parts[1] == "8":
return java8, true
}
return jvmVersion(parts[0]), false
}