func FindVersion()

in graph/preprocessor.go [302:325]


func FindVersion(data []byte) string {
	reader := bytes.NewReader(data)
	scanner := bufio.NewScanner(reader)
	scanner.Split(bufio.ScanLines)
	for scanner.Scan() {
		text := scanner.Text()
		trimmedText := strings.TrimSpace(text)

		// Skip comments and just whitespace.
		if trimmedText == "" || strings.HasPrefix(trimmedText, "#") {
			continue
		}

		// use text instead of trimmedText since ' version: ' is also invalid.
		if strings.HasPrefix(strings.TrimLeft(text, "'\""), versionKey) {
			tokens := strings.SplitN(text, ":", 2)
			if len(tokens) == 2 && strings.Trim(strings.TrimSpace(tokens[0]), "'\"") == versionKey {
				return strings.Trim(strings.TrimSpace(tokens[1]), "'\"")
			}
		}
	}

	return ""
}